Browse Source

i18n: Sync classref translations with Weblate

Rémi Verschelde 3 years ago
parent
commit
6536877117

+ 54 - 44
doc/translations/ar.po

@@ -12528,7 +12528,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14253,7 +14253,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14291,9 +14291,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14312,8 +14312,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14329,8 +14329,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14421,9 +14421,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21491,7 +21491,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23805,11 +23805,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35708,11 +35708,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36666,11 +36670,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38619,7 +38627,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40780,9 +40788,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44911,7 +44919,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45065,7 +45073,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45120,7 +45128,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45173,7 +45181,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45222,7 +45230,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45274,7 +45282,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45326,7 +45334,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49764,8 +49772,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51769,8 +51778,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53297,7 +53306,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65612,8 +65622,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69988,7 +69998,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/ca.po

@@ -12469,7 +12469,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14194,7 +14194,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14232,9 +14232,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14253,8 +14253,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14270,8 +14270,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14362,9 +14362,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21421,7 +21421,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23733,11 +23733,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35614,11 +35614,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36552,11 +36556,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38501,7 +38509,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40654,9 +40662,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44766,7 +44774,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44920,7 +44928,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44975,7 +44983,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45028,7 +45036,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45077,7 +45085,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45129,7 +45137,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45181,7 +45189,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49616,8 +49624,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51619,8 +51628,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53147,7 +53156,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65439,8 +65449,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69798,7 +69808,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/classes.pot

@@ -12349,7 +12349,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14074,7 +14074,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14112,9 +14112,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14133,8 +14133,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14150,8 +14150,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14242,9 +14242,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21301,7 +21301,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23610,11 +23610,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35491,11 +35491,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36429,11 +36433,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38378,7 +38386,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40531,9 +40539,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44643,7 +44651,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44797,7 +44805,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44852,7 +44860,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44905,7 +44913,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44954,7 +44962,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45006,7 +45014,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45058,7 +45066,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49493,8 +49501,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51496,8 +51505,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53024,7 +53033,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65316,8 +65326,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69675,7 +69685,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 56 - 45
doc/translations/cs.po

@@ -12875,7 +12875,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14602,7 +14602,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14640,9 +14640,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14661,8 +14661,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14678,8 +14678,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14770,9 +14770,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21870,7 +21870,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -24189,11 +24189,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -36103,11 +36103,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -37064,11 +37068,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -39017,7 +39025,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -41187,9 +41195,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45320,7 +45328,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45477,7 +45485,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45532,7 +45540,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45585,7 +45593,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45634,7 +45642,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45687,7 +45695,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45739,7 +45747,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -50182,8 +50190,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -52190,8 +52199,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53719,7 +53728,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -66083,10 +66093,11 @@ msgid ""
 msgstr ""
 
 #: doc/classes/Viewport.xml
+#, fuzzy
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
-msgstr ""
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
+msgstr "Vrátí [code] true [/code], pokud je vektor normalizován, jinak false."
 
 #: doc/classes/Viewport.xml
 msgid ""
@@ -70466,7 +70477,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/de.po

@@ -14438,7 +14438,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -16227,7 +16227,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -16265,9 +16265,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -16286,8 +16286,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -16303,8 +16303,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -16395,9 +16395,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -23583,7 +23583,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -25919,11 +25919,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -37910,11 +37910,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38899,11 +38903,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -40856,7 +40864,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -43041,9 +43049,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -47191,7 +47199,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -47358,7 +47366,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -47421,7 +47429,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -47483,7 +47491,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -47537,7 +47545,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -47597,7 +47605,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -47654,7 +47662,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -52138,8 +52146,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -54167,8 +54176,8 @@ msgstr ""
 #: doc/classes/RigidBody.xml
 #, fuzzy
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -55711,7 +55720,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -68342,8 +68352,8 @@ msgstr ""
 #: doc/classes/Viewport.xml
 #, fuzzy
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 "Gibt [code]true[/code] zurück wenn der Skript Bereich lädt, ansonsten "
 "[code]false[/code]."
@@ -72791,7 +72801,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/el.po

@@ -12373,7 +12373,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14098,7 +14098,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14136,9 +14136,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14157,8 +14157,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14174,8 +14174,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14266,9 +14266,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21336,7 +21336,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23650,11 +23650,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35547,11 +35547,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36505,11 +36509,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38458,7 +38466,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40619,9 +40627,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44737,7 +44745,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44891,7 +44899,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44946,7 +44954,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44999,7 +45007,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45048,7 +45056,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45100,7 +45108,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45152,7 +45160,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49590,8 +49598,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51595,8 +51604,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53123,7 +53132,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65438,8 +65448,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69814,7 +69824,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 135 - 44
doc/translations/es.po

@@ -16199,8 +16199,9 @@ msgstr ""
 "siguiente carácter."
 
 #: doc/classes/CanvasItem.xml
+#, fuzzy
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -16208,6 +16209,9 @@ msgid ""
 "create an AntialiasedRegularPolygon2D node. That node relies on a texture "
 "with custom mipmaps to perform antialiasing."
 msgstr ""
+"Dibuja múltiples líneas paralelas con un [code]width[/code] uniforme y "
+"coloración segmento por segmento. Los colores asignados a los segmentos de "
+"línea coinciden por índice entre [code]points[/code] y [code]colors[/code]."
 
 #: doc/classes/CanvasItem.xml
 msgid ""
@@ -18475,7 +18479,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 "Construye un color a partir de un entero de 32 bits (cada byte representa un "
@@ -18534,12 +18538,13 @@ msgstr ""
 "[/codeblock]"
 
 #: doc/classes/Color.xml
+#, fuzzy
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 "Devuelve el color más contrastado.\n"
@@ -18566,12 +18571,13 @@ msgstr ""
 "[/codeblock]"
 
 #: doc/classes/Color.xml
+#, fuzzy
 msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 "Construye un color a partir de un perfil de HSV. [code]h[/code], [code]s[/"
@@ -18594,8 +18600,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 "Devuelve el color invertido [code](1 - r, 1 - g, 1 - b, a)[/code].\n"
@@ -18740,15 +18746,16 @@ msgstr ""
 "[/codeblock]"
 
 #: doc/classes/Color.xml
+#, fuzzy
 msgid ""
 "Returns the color's HTML hexadecimal color string in ARGB format (ex: "
 "[code]ff34f822[/code]).\n"
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 "Devuelve la cadena de color hexadecimal HTML del color en formato ARGB (ex: "
@@ -28173,7 +28180,7 @@ msgstr ""
 #: doc/classes/EditorPlugin.xml
 #, fuzzy
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -31251,14 +31258,14 @@ msgstr ""
 
 #: doc/classes/Environment.xml
 #, fuzzy
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 "Desenfoque de 1×1 para el efecto de oclusión ambiental del espacio de la "
 "pantalla."
 
 #: doc/classes/Environment.xml
 #, fuzzy
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 "No hay desenfoque para el efecto de oclusión ambiental del espacio de la "
 "pantalla (más rápido)."
@@ -47018,11 +47025,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -48096,11 +48107,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -50940,7 +50955,7 @@ msgstr ""
 #, fuzzy
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -53858,6 +53873,7 @@ msgid ""
 msgstr ""
 
 #: doc/classes/OS.xml
+#, fuzzy
 msgid ""
 "Requests the OS to open a resource with the most appropriate program. For "
 "example:\n"
@@ -53867,9 +53883,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -59346,6 +59362,7 @@ msgid "A pooled array of bytes."
 msgstr "Un paquete [Array] de bytes."
 
 #: doc/classes/PoolByteArray.xml
+#, fuzzy
 msgid ""
 "An array specifically designed to hold bytes. Optimized for memory usage, "
 "does not fragment the memory.\n"
@@ -59356,7 +59373,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -59368,6 +59385,17 @@ msgid ""
 "print(array)  # [[123]] (PoolByteArray with 1 element inside an Array)\n"
 "[/codeblock]"
 msgstr ""
+"Un [Array] diseñado específicamente para mantener valores enteros de 32 "
+"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para "
+"los tamaños de arrays grandes.\n"
+"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n"
+"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que "
+"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/"
+"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos "
+"límites volvera los valores al minimo inicial. En comparación, [int] usa "
+"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si "
+"necesitas empaquetar los enteros de 64 bits de forma apretada, mira "
+"[PackedInt64Array]."
 
 #: doc/classes/PoolByteArray.xml
 #, fuzzy
@@ -59540,6 +59568,7 @@ msgid "A pooled array of [Color]s."
 msgstr "Un paquete de [Array] de [Color]s."
 
 #: doc/classes/PoolColorArray.xml
+#, fuzzy
 msgid ""
 "An array specifically designed to hold [Color]. Optimized for memory usage, "
 "does not fragment the memory.\n"
@@ -59550,7 +59579,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -59563,6 +59592,17 @@ msgid ""
 "inside an Array)\n"
 "[/codeblock]"
 msgstr ""
+"Un [Array] diseñado específicamente para mantener valores enteros de 32 "
+"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para "
+"los tamaños de arrays grandes.\n"
+"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n"
+"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que "
+"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/"
+"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos "
+"límites volvera los valores al minimo inicial. En comparación, [int] usa "
+"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si "
+"necesitas empaquetar los enteros de 64 bits de forma apretada, mira "
+"[PackedInt64Array]."
 
 #: doc/classes/PoolColorArray.xml
 #, fuzzy
@@ -59613,7 +59653,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -59677,6 +59717,7 @@ msgid "A pooled array of real numbers ([float])."
 msgstr "Un paquete de [Array] de [Color]s."
 
 #: doc/classes/PoolRealArray.xml
+#, fuzzy
 msgid ""
 "An array specifically designed to hold floating-point values. Optimized for "
 "memory usage, does not fragment the memory.\n"
@@ -59687,7 +59728,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -59706,6 +59747,17 @@ msgid ""
 "store [float]s will use roughly 6 times more memory compared to a "
 "[PoolRealArray]."
 msgstr ""
+"Un [Array] diseñado específicamente para mantener valores enteros de 32 "
+"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para "
+"los tamaños de arrays grandes.\n"
+"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n"
+"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que "
+"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/"
+"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos "
+"límites volvera los valores al minimo inicial. En comparación, [int] usa "
+"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si "
+"necesitas empaquetar los enteros de 64 bits de forma apretada, mira "
+"[PackedInt64Array]."
 
 #: doc/classes/PoolRealArray.xml
 #, fuzzy
@@ -59731,6 +59783,7 @@ msgid "A pooled array of [String]s."
 msgstr "Un paquete de [Array] de [String]s."
 
 #: doc/classes/PoolStringArray.xml
+#, fuzzy
 msgid ""
 "An array specifically designed to hold [String]s. Optimized for memory "
 "usage, does not fragment the memory.\n"
@@ -59741,7 +59794,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -59753,6 +59806,17 @@ msgid ""
 "print(array)  # [[hello]] (PoolStringArray with 1 element inside an Array)\n"
 "[/codeblock]"
 msgstr ""
+"Un [Array] diseñado específicamente para mantener valores enteros de 32 "
+"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para "
+"los tamaños de arrays grandes.\n"
+"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n"
+"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que "
+"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/"
+"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos "
+"límites volvera los valores al minimo inicial. En comparación, [int] usa "
+"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si "
+"necesitas empaquetar los enteros de 64 bits de forma apretada, mira "
+"[PackedInt64Array]."
 
 #: doc/classes/PoolStringArray.xml
 #, fuzzy
@@ -59789,6 +59853,7 @@ msgid "A pooled array of [Vector2]s."
 msgstr "Un empaquetado de [Array] de [Vector2]s."
 
 #: doc/classes/PoolVector2Array.xml
+#, fuzzy
 msgid ""
 "An array specifically designed to hold [Vector2]. Optimized for memory "
 "usage, does not fragment the memory.\n"
@@ -59799,7 +59864,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -59812,6 +59877,17 @@ msgid ""
 "Array)\n"
 "[/codeblock]"
 msgstr ""
+"Un [Array] diseñado específicamente para mantener valores enteros de 32 "
+"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para "
+"los tamaños de arrays grandes.\n"
+"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n"
+"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que "
+"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/"
+"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos "
+"límites volvera los valores al minimo inicial. En comparación, [int] usa "
+"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si "
+"necesitas empaquetar los enteros de 64 bits de forma apretada, mira "
+"[PackedInt64Array]."
 
 #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml
 #: doc/classes/TileSet.xml
@@ -59846,6 +59922,7 @@ msgid "A pooled array of [Vector3]."
 msgstr "Un empaquetado [Array] de [Vector3]s."
 
 #: doc/classes/PoolVector3Array.xml
+#, fuzzy
 msgid ""
 "An array specifically designed to hold [Vector3]. Optimized for memory "
 "usage, does not fragment the memory.\n"
@@ -59856,7 +59933,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -59869,6 +59946,17 @@ msgid ""
 "Array)\n"
 "[/codeblock]"
 msgstr ""
+"Un [Array] diseñado específicamente para mantener valores enteros de 32 "
+"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para "
+"los tamaños de arrays grandes.\n"
+"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n"
+"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que "
+"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/"
+"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos "
+"límites volvera los valores al minimo inicial. En comparación, [int] usa "
+"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si "
+"necesitas empaquetar los enteros de 64 bits de forma apretada, mira "
+"[PackedInt64Array]."
 
 #: doc/classes/PoolVector3Array.xml
 #, fuzzy
@@ -65432,10 +65520,12 @@ msgid "Abstract base class for range-based controls."
 msgstr "Clase base abstracta para controles basados en el rango."
 
 #: doc/classes/Range.xml
+#, fuzzy
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 "Rango es una clase base para los nodos [Control] que cambian un [i]valor[/i] "
 "real entre un [i]mínimo[/i] y un [i]máximo[/i], usando [i]paso[/i] y "
@@ -68197,8 +68287,8 @@ msgstr "Bloquea el eje lineal o rotacional especificado."
 #: doc/classes/RigidBody.xml
 #, fuzzy
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -70131,7 +70221,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 "Un temporizador de un solo  uso gestionado por el árbol de la escena, que "
 "emite [signal timeout] al finalizar. Véase también [method SceneTree."
@@ -85966,8 +86057,8 @@ msgstr ""
 #: doc/classes/Viewport.xml
 #, fuzzy
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 "Si [code]true[/code], el viewport utilizará el [World] definido en [member "
 "world_3d]."
@@ -91666,7 +91757,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 "Copia el viewport a una región de la pantalla especificada por [code]rect[/"

+ 54 - 44
doc/translations/fa.po

@@ -12788,7 +12788,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14513,7 +14513,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14551,9 +14551,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14572,8 +14572,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14589,8 +14589,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14681,9 +14681,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21740,7 +21740,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -24052,11 +24052,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35939,11 +35939,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36877,11 +36881,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38826,7 +38834,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40979,9 +40987,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45103,7 +45111,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45257,7 +45265,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45312,7 +45320,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45365,7 +45373,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45414,7 +45422,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45466,7 +45474,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45518,7 +45526,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49957,8 +49965,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51960,8 +51969,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53488,7 +53497,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65780,8 +65790,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -70139,7 +70149,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/fi.po

@@ -12448,7 +12448,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14174,7 +14174,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14212,9 +14212,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14233,8 +14233,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14250,8 +14250,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14342,9 +14342,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21412,7 +21412,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23726,11 +23726,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35631,11 +35631,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36590,11 +36594,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38543,7 +38551,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40704,9 +40712,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44822,7 +44830,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44976,7 +44984,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45031,7 +45039,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45084,7 +45092,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45133,7 +45141,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45185,7 +45193,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45237,7 +45245,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49675,8 +49683,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51680,8 +51689,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53208,7 +53217,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65531,8 +65541,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69909,7 +69919,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/fil.po

@@ -12365,7 +12365,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14090,7 +14090,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14128,9 +14128,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14149,8 +14149,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14166,8 +14166,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14258,9 +14258,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21317,7 +21317,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23629,11 +23629,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35510,11 +35510,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36448,11 +36452,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38397,7 +38405,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40550,9 +40558,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44662,7 +44670,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44816,7 +44824,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44871,7 +44879,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44924,7 +44932,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44973,7 +44981,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45025,7 +45033,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45077,7 +45085,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49512,8 +49520,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51515,8 +51524,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53043,7 +53052,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65335,8 +65345,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69694,7 +69704,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

File diff suppressed because it is too large
+ 377 - 20
doc/translations/fr.po


+ 54 - 44
doc/translations/gl.po

@@ -12357,7 +12357,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14082,7 +14082,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14120,9 +14120,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14141,8 +14141,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14158,8 +14158,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14250,9 +14250,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21309,7 +21309,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23618,11 +23618,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35499,11 +35499,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36437,11 +36441,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38386,7 +38394,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40539,9 +40547,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44651,7 +44659,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44805,7 +44813,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44860,7 +44868,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44913,7 +44921,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44962,7 +44970,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45014,7 +45022,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45066,7 +45074,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49501,8 +49509,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51504,8 +51513,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53032,7 +53041,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65324,8 +65334,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69683,7 +69693,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/hi.po

@@ -12356,7 +12356,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14081,7 +14081,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14119,9 +14119,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14140,8 +14140,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14157,8 +14157,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14249,9 +14249,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21308,7 +21308,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23617,11 +23617,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35498,11 +35498,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36436,11 +36440,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38385,7 +38393,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40538,9 +40546,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44650,7 +44658,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44804,7 +44812,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44859,7 +44867,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44912,7 +44920,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44961,7 +44969,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45013,7 +45021,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45065,7 +45073,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49500,8 +49508,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51503,8 +51512,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53031,7 +53040,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65323,8 +65333,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69682,7 +69692,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/hu.po

@@ -12374,7 +12374,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14099,7 +14099,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14137,9 +14137,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14158,8 +14158,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14175,8 +14175,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14267,9 +14267,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21326,7 +21326,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23635,11 +23635,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35516,11 +35516,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36454,11 +36458,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38403,7 +38411,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40556,9 +40564,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44668,7 +44676,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44822,7 +44830,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44877,7 +44885,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44930,7 +44938,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44979,7 +44987,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45031,7 +45039,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45083,7 +45091,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49518,8 +49526,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51521,8 +51530,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53049,7 +53058,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65341,8 +65351,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69700,7 +69710,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/id.po

@@ -12769,7 +12769,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14494,7 +14494,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14532,9 +14532,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14553,8 +14553,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14570,8 +14570,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14662,9 +14662,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21721,7 +21721,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -24034,11 +24034,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35928,11 +35928,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36874,11 +36878,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38825,7 +38833,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40981,9 +40989,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45108,7 +45116,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45262,7 +45270,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45317,7 +45325,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45370,7 +45378,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45419,7 +45427,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45471,7 +45479,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45523,7 +45531,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49960,8 +49968,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51964,8 +51973,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53492,7 +53501,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65791,8 +65801,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -70155,7 +70165,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/is.po

@@ -12356,7 +12356,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14081,7 +14081,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14119,9 +14119,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14140,8 +14140,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14157,8 +14157,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14249,9 +14249,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21308,7 +21308,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23617,11 +23617,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35498,11 +35498,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36436,11 +36440,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38385,7 +38393,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40538,9 +40546,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44650,7 +44658,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44804,7 +44812,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44859,7 +44867,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44912,7 +44920,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44961,7 +44969,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45013,7 +45021,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45065,7 +45073,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49500,8 +49508,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51503,8 +51512,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53031,7 +53040,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65323,8 +65333,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69682,7 +69692,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/it.po

@@ -13393,7 +13393,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -15122,7 +15122,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -15160,9 +15160,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -15181,8 +15181,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -15198,8 +15198,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -15290,9 +15290,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -22448,7 +22448,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -24768,11 +24768,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -36718,11 +36718,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -37685,11 +37689,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -39643,7 +39651,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -41814,9 +41822,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45956,7 +45964,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -46111,7 +46119,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -46166,7 +46174,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -46219,7 +46227,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -46268,7 +46276,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -46321,7 +46329,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -46373,7 +46381,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -50815,8 +50823,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -52824,8 +52833,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -54354,7 +54363,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -66746,8 +66756,8 @@ msgstr ""
 #: doc/classes/Viewport.xml
 #, fuzzy
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
 
 #: doc/classes/Viewport.xml
@@ -71138,7 +71148,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 58 - 46
doc/translations/ja.po

@@ -15323,7 +15323,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -17115,7 +17115,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -17153,9 +17153,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -17174,8 +17174,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -17191,8 +17191,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -17283,9 +17283,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -24444,7 +24444,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -26781,12 +26781,14 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
-msgstr ""
+#, fuzzy
+msgid "Medium quality for the screen-space ambient occlusion effect."
+msgstr "ピクセル単位でアンビエントオクルージョン値を指定するテクスチャです。"
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
-msgstr ""
+#, fuzzy
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
+msgstr "ピクセル単位でアンビエントオクルージョン値を指定するテクスチャです。"
 
 #: doc/classes/Expression.xml
 msgid "A class that stores an expression you can execute."
@@ -38827,11 +38829,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -39813,11 +39819,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -41770,7 +41780,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -43958,9 +43968,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -48108,7 +48118,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -48265,7 +48275,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -48321,7 +48331,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -48379,7 +48389,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -48429,7 +48439,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -48483,7 +48493,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -48536,7 +48546,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -53007,8 +53017,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -55036,8 +55047,8 @@ msgstr ""
 #: doc/classes/RigidBody.xml
 #, fuzzy
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -56579,7 +56590,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -69324,8 +69336,8 @@ msgstr ""
 #: doc/classes/Viewport.xml
 #, fuzzy
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 "[code]true[/code] の場合、インデックス [code]bus_idx[/code] のバスをミュート"
 "します。"
@@ -73784,7 +73796,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 59 - 44
doc/translations/ko.po

@@ -12494,7 +12494,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14220,7 +14220,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 "기존 색상에서 사용자 지정 알파 값으로 색상을 생성한다.\n"
@@ -14274,9 +14274,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14297,14 +14297,19 @@ msgstr ""
 "[/codeblock]"
 
 #: doc/classes/Color.xml
+#, fuzzy
 msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
+"기존 색상에서 사용자 지정 알파 값으로 색상을 생성한다.\n"
+"[codeblock]\n"
+"var red = Color(Color.red, 0.5) # 50% 투명한 빨간색.\n"
+"[/codeblock]"
 
 #: doc/classes/Color.xml
 msgid ""
@@ -14318,8 +14323,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14416,9 +14421,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21547,7 +21552,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23861,11 +23866,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35772,11 +35777,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36730,11 +36739,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38808,7 +38821,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40970,9 +40983,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45100,7 +45113,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45254,7 +45267,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45309,7 +45322,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45362,7 +45375,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45411,7 +45424,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45463,7 +45476,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45515,7 +45528,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49953,8 +49966,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51958,8 +51972,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53486,7 +53500,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65813,8 +65828,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -70189,7 +70204,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/lt.po

@@ -12366,7 +12366,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14091,7 +14091,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14129,9 +14129,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14150,8 +14150,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14167,8 +14167,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14259,9 +14259,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21318,7 +21318,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23627,11 +23627,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35508,11 +35508,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36446,11 +36450,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38395,7 +38403,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40548,9 +40556,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44660,7 +44668,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44814,7 +44822,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44869,7 +44877,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44922,7 +44930,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44971,7 +44979,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45023,7 +45031,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45075,7 +45083,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49510,8 +49518,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51513,8 +51522,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53041,7 +53050,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65333,8 +65343,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69692,7 +69702,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/lv.po

@@ -12371,7 +12371,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14096,7 +14096,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14134,9 +14134,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14155,8 +14155,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14172,8 +14172,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14264,9 +14264,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21323,7 +21323,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23635,11 +23635,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35516,11 +35516,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36454,11 +36458,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38403,7 +38411,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40556,9 +40564,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44668,7 +44676,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44822,7 +44830,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44877,7 +44885,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44930,7 +44938,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44979,7 +44987,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45031,7 +45039,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45083,7 +45091,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49518,8 +49526,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51521,8 +51530,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53049,7 +53058,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65341,8 +65351,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69700,7 +69710,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/mr.po

@@ -12354,7 +12354,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14079,7 +14079,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14117,9 +14117,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14138,8 +14138,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14155,8 +14155,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14247,9 +14247,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21306,7 +21306,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23615,11 +23615,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35496,11 +35496,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36434,11 +36438,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38383,7 +38391,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40536,9 +40544,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44648,7 +44656,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44802,7 +44810,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44857,7 +44865,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44910,7 +44918,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44959,7 +44967,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45011,7 +45019,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45063,7 +45071,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49498,8 +49506,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51501,8 +51510,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53029,7 +53038,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65321,8 +65331,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69680,7 +69690,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/nb.po

@@ -12366,7 +12366,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14091,7 +14091,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14129,9 +14129,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14150,8 +14150,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14167,8 +14167,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14259,9 +14259,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21318,7 +21318,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23627,11 +23627,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35508,11 +35508,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36446,11 +36450,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38395,7 +38403,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40548,9 +40556,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44660,7 +44668,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44814,7 +44822,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44869,7 +44877,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44922,7 +44930,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44971,7 +44979,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45023,7 +45031,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45075,7 +45083,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49510,8 +49518,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51513,8 +51522,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53041,7 +53050,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65333,8 +65343,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69692,7 +69702,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/ne.po

@@ -12354,7 +12354,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14079,7 +14079,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14117,9 +14117,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14138,8 +14138,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14155,8 +14155,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14247,9 +14247,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21306,7 +21306,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23615,11 +23615,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35496,11 +35496,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36434,11 +36438,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38383,7 +38391,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40536,9 +40544,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44648,7 +44656,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44802,7 +44810,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44857,7 +44865,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44910,7 +44918,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44959,7 +44967,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45011,7 +45019,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45063,7 +45071,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49498,8 +49506,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51501,8 +51510,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53029,7 +53038,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65321,8 +65331,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69680,7 +69690,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/nl.po

@@ -12423,7 +12423,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14148,7 +14148,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14186,9 +14186,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14207,8 +14207,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14224,8 +14224,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14316,9 +14316,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21375,7 +21375,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23687,11 +23687,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35568,11 +35568,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36506,11 +36510,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38455,7 +38463,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40608,9 +40616,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44720,7 +44728,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44874,7 +44882,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44929,7 +44937,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44982,7 +44990,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45031,7 +45039,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45083,7 +45091,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45135,7 +45143,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49570,8 +49578,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51574,8 +51583,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53102,7 +53111,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65394,8 +65404,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69753,7 +69763,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 57 - 44
doc/translations/pl.po

@@ -12875,7 +12875,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14601,7 +14601,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14639,9 +14639,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14660,8 +14660,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14677,8 +14677,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14769,9 +14769,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21848,7 +21848,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -24167,11 +24167,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -36111,11 +36111,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -37085,11 +37089,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -39038,7 +39046,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -41210,9 +41218,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45351,7 +45359,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45505,7 +45513,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45560,7 +45568,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45613,7 +45621,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45662,7 +45670,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45714,7 +45722,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45766,7 +45774,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -50209,8 +50217,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -52217,8 +52226,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53748,7 +53757,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -66083,10 +66093,13 @@ msgid ""
 msgstr ""
 
 #: doc/classes/Viewport.xml
+#, fuzzy
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
+"Jeśli [code]true[/code], potomne węzły są sortowane. W innym przypadku jest "
+"wyłączone."
 
 #: doc/classes/Viewport.xml
 msgid ""
@@ -70467,7 +70480,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/pt.po

@@ -13153,7 +13153,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14902,7 +14902,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14948,9 +14948,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14969,8 +14969,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14986,8 +14986,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -15078,9 +15078,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -22152,7 +22152,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -24470,11 +24470,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -36376,11 +36376,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -37338,11 +37342,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -39290,7 +39298,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -41448,9 +41456,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45560,7 +45568,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45714,7 +45722,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45769,7 +45777,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45822,7 +45830,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45871,7 +45879,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45923,7 +45931,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45975,7 +45983,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -50414,8 +50422,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -52418,8 +52427,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53948,7 +53957,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -66285,8 +66295,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -70647,7 +70657,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 63 - 44
doc/translations/pt_BR.po

@@ -13417,7 +13417,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -15183,7 +15183,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 "Constrói uma cor a partir de um inteiro 32-bit no formato RGBA (cada byte "
@@ -15246,9 +15246,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -15263,14 +15263,20 @@ msgid ""
 msgstr ""
 
 #: doc/classes/Color.xml
+#, fuzzy
 msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
+"Constrói uma cor a partir de um perfil RGB usando valores de 0 a 1. O valor "
+"Alfa sempre será 1.\n"
+"[codeblock]\n"
+"var c = Color(0.2, 1.0, 0.7) # Equivalente a RGBA(51, 255, 178, 255)\n"
+"[/codeblock]"
 
 #: doc/classes/Color.xml
 msgid ""
@@ -15284,8 +15290,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -15376,9 +15382,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -22455,7 +22461,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -24780,11 +24786,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -36738,11 +36744,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -37711,11 +37721,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -39664,7 +39678,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -41832,9 +41846,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45979,7 +45993,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -46133,7 +46147,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -46188,7 +46202,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -46241,7 +46255,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -46290,7 +46304,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -46342,7 +46356,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -46394,7 +46408,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -50840,8 +50854,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -52848,8 +52863,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -54379,7 +54394,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -66755,10 +66771,13 @@ msgid ""
 msgstr ""
 
 #: doc/classes/Viewport.xml
+#, fuzzy
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
+"Se [code]true[/code], os nós filhos são organizados, do contrário, a "
+"organização é desabilitada."
 
 #: doc/classes/Viewport.xml
 msgid ""
@@ -71142,7 +71161,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/ro.po

@@ -12386,7 +12386,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14111,7 +14111,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14149,9 +14149,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14170,8 +14170,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14187,8 +14187,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14279,9 +14279,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21338,7 +21338,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23650,11 +23650,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35531,11 +35531,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36469,11 +36473,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38418,7 +38426,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40571,9 +40579,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44683,7 +44691,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44837,7 +44845,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44892,7 +44900,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44945,7 +44953,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44994,7 +45002,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45046,7 +45054,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45098,7 +45106,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49533,8 +49541,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51536,8 +51545,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53064,7 +53073,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65356,8 +65366,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69715,7 +69725,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 105 - 68
doc/translations/ru.po

@@ -47,11 +47,12 @@
 # Smadjavul <[email protected]>, 2022.
 # Bozhko Artyom Dmitrievich <[email protected]>, 2022.
 # FuzzMix <[email protected]>, 2022.
+# МАН69К <[email protected]>, 2022.
 msgid ""
 msgstr ""
 "Project-Id-Version: Godot Engine class reference\n"
 "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-05-29 02:36+0000\n"
+"PO-Revision-Date: 2022-06-08 06:47+0000\n"
 "Last-Translator: FuzzMix <[email protected]>\n"
 "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
 "godot-class-reference/ru/>\n"
@@ -310,24 +311,25 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 "Проверяет, что [code]condition[/code] равно [code]true[/code]. Если "
-"[code]condition[/code] равно [code]false[/code], будет сгенерирована ошибка "
-"и программа приостановится, пока вы не продолжите её. Эта функция "
-"выполняется только в отладочных сборках, или когда игра запускается в "
-"редакторе. Используйте её для целей отладки, чтобы убедиться, что выражение "
-"остаётся [code]true[/code] в течение разработки.\n"
+"[code]condition[/code] равно [code]false[/code], будет сгенерирована ошибка. "
+"Если запущено из редактора, запущенный проект приостановится, пока вы не "
+"продолжите его. Это может быть использовано как более сильная форма [method "
+"push_error] для сообщения об ошибках разработчикам проекта или пользователям "
+"дополнений.\n"
 "[b]Примечание:[/b] В целях оптимизации код внутри [method assert] "
-"исполняется только в debug-сборках или при запуске из редактора. Не "
+"исполняется только в отладочных сборках или при запуске из редактора. Не "
 "добавляйте дополнительную логику в вызов [method assert]. В противном случае "
 "релизная сборка будет иметь иное поведение.\n"
 "Если задан необязательный аргумент [code]message[/code], то он будет показан "
-"в дополнении к сообщению \"Assertion failed\". В нём вы можете предоставить "
-"дополнительные сведения о том, почему проверка была неудачной.\n"
+"в дополнении к сообщению \"Assertion failed\". Вы можете использовать его "
+"для предоставления дополнительных сведений о том, почему проверка была "
+"неудачной.\n"
 "[codeblock]\n"
-"# Предположим, что вы хотите, чтобы скорость (speed) была между 0 и 20\n"
+"# Предположим, что вы хотите, чтобы скорость (speed) была между 0 и 20.\n"
 "speed = -10\n"
 "assert(speed < 20) # True, программа продолжит выполнение\n"
 "assert(speed >= 0) # False, программа будет остановлена\n"
-"assert(speed >= 0 && speed < 20) # Вы можете комбинировать два условных "
+"assert(speed >= 0 and speed < 20) # Вы можете комбинировать два условных "
 "выражения в одной проверке\n"
 "assert(speed < 20, \"speed = %f, но лимит скорости равен 20\" % speed) # "
 "Показывает сообщение с уточняющими деталями\n"
@@ -1483,7 +1485,6 @@ msgstr ""
 "[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
 msgid ""
 "Pushes an error message to Godot's built-in debugger and to the OS "
 "terminal.\n"
@@ -1499,7 +1500,11 @@ msgstr ""
 "[codeblock].\n"
 "push_error(\"test error\") # Выводит \"test error\" в отладчик и терминал "
 "как вызов ошибки\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Примечание:[/b] Ошибки выведенные таким способом не приостанавливают "
+"выполнение проекта. Что бы вывести сообщение об ошибке и приостановить "
+"выполнение проекта в отладочных сборках - используйте [code]assert(false, "
+"\"test error\")[/code]."
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
@@ -1531,7 +1536,6 @@ msgstr ""
 "[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
 msgid ""
 "Returns a random floating point value between [code]from[/code] and "
 "[code]to[/code] (both endpoints inclusive).\n"
@@ -1540,12 +1544,14 @@ msgid ""
 "[/codeblock]\n"
 "[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
-"Случайное значение с плавающей запятой между [code]from[/code] и [code]to[/"
-"code].\n"
+"Возвращает случайное значение с плавающей запятой между [code]from[/code] и "
+"[code]to[/code] (включительно).\n"
 "[codeblock]\n"
-"prints(rand_range(0, 1), rand_range(0, 1)) # Выведет, напр., 0.135591 "
+"prints(rand_range(0, 1), rand_range(0, 1)) # Выведет, например, 0.135591 "
 "0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Примечание:[/b] Это эквивалентно [code]randf() * (to - from) + from[/"
+"code]."
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
@@ -10643,17 +10649,19 @@ msgstr ""
 
 #: doc/classes/AudioEffectDistortion.xml
 msgid "Distortion power. Value can range from 0 to 1."
-msgstr ""
+msgstr "Сила искажения. Значение может варьироваться от 0 до 1."
 
 #: doc/classes/AudioEffectDistortion.xml
 msgid ""
 "High-pass filter, in Hz. Frequencies higher than this value will not be "
 "affected by the distortion. Value can range from 1 to 20000."
 msgstr ""
+"Фильтр высоких частот, в Гц. Частоты выше этого значения не будут подвержены "
+"искажением. Значение может варьироваться от 1 до 20000."
 
 #: doc/classes/AudioEffectDistortion.xml
 msgid "Distortion type."
-msgstr ""
+msgstr "Тип искажения."
 
 #: doc/classes/AudioEffectDistortion.xml
 msgid ""
@@ -14007,7 +14015,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -15750,7 +15758,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -15788,9 +15796,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -15809,8 +15817,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -15826,8 +15834,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -15918,9 +15926,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -23105,7 +23113,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -25432,11 +25440,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -37398,11 +37406,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38370,11 +38382,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -40407,7 +40423,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -42585,9 +42601,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -46733,7 +46749,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -46892,7 +46908,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -46948,7 +46964,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -47006,7 +47022,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -47057,7 +47073,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -47112,7 +47128,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -47165,7 +47181,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -51673,8 +51689,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -53688,8 +53705,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -55217,7 +55234,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -67763,10 +67781,11 @@ msgid ""
 msgstr ""
 
 #: doc/classes/Viewport.xml
+#, fuzzy
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
-msgstr ""
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
+msgstr "Если [code]true[/code], текстура будет центрирована."
 
 #: doc/classes/Viewport.xml
 msgid ""
@@ -72170,7 +72189,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 
@@ -76314,6 +76333,8 @@ msgid ""
 "Default environment properties for the entire scene (post-processing "
 "effects, lighting and background settings)."
 msgstr ""
+"Свойства среды по умолчанию для всей сцены (эффекты постобработки, настройки "
+"освещения и фона)."
 
 #: doc/classes/WorldEnvironment.xml
 msgid ""
@@ -76334,10 +76355,12 @@ msgid ""
 "The [Environment] resource used by this [WorldEnvironment], defining the "
 "default properties."
 msgstr ""
+"Ресурс [Environment], используемый этим [WorldEnvironment], определяющий "
+"свойства по умолчанию."
 
 #: doc/classes/X509Certificate.xml
 msgid "An X509 certificate (e.g. for SSL)."
-msgstr ""
+msgstr "Сертификат X509 (например, для SSL)."
 
 #: doc/classes/X509Certificate.xml
 msgid ""
@@ -76351,19 +76374,23 @@ msgstr ""
 
 #: doc/classes/X509Certificate.xml
 msgid "Loads a certificate from [code]path[/code] (\"*.crt\" file)."
-msgstr ""
+msgstr "Загружает сертификат из [code]пути[/code] (файл \"*.crt\")."
 
 #: doc/classes/X509Certificate.xml
 msgid ""
 "Saves a certificate to the given [code]path[/code] (should be a \"*.crt\" "
 "file)."
 msgstr ""
+"Сохраняет сертификат по заданному [code]пути[/code] (должно быть \"*.crt\" "
+"файлом)."
 
 #: doc/classes/XMLParser.xml
 msgid ""
 "Low-level class for creating parsers for [url=https://en.wikipedia.org/wiki/"
 "XML]XML[/url] files."
 msgstr ""
+"Низкоуровневый класс для создания парсеров для [url=https://ru.wikipedia.org/"
+"wiki/XML]XML[/url] файлов."
 
 #: doc/classes/XMLParser.xml
 msgid ""
@@ -76391,24 +76418,32 @@ msgstr ""
 #: doc/classes/XMLParser.xml
 msgid "Gets the current line in the parsed file (currently not implemented)."
 msgstr ""
+"Получает текущую строку в проанализированном файле (в настоящее время не "
+"реализовано)."
 
 #: doc/classes/XMLParser.xml
 msgid ""
 "Gets the value of a certain attribute of the current element by name. This "
 "will raise an error if the element has no such attribute."
 msgstr ""
+"Получает значение определенного атрибута текущего элемента по имени. Это "
+"приведет к ошибке, если элемент не имеет такого атрибута."
 
 #: doc/classes/XMLParser.xml
 msgid ""
 "Gets the value of a certain attribute of the current element by name. This "
 "will return an empty [String] if the attribute is not found."
 msgstr ""
+"Получает значение определенного атрибута текущего элемента по имени. Это "
+"вернет пустой [String], если атрибут не найден."
 
 #: doc/classes/XMLParser.xml
 msgid ""
 "Gets the contents of a text node. This will raise an error in any other type "
 "of node."
 msgstr ""
+"Получает содержимое из текстового узла. Это вызовет ошибку в любом другом "
+"типе узла."
 
 #: doc/classes/XMLParser.xml
 msgid ""
@@ -76430,13 +76465,15 @@ msgstr ""
 
 #: doc/classes/XMLParser.xml
 msgid "Check whether the current element has a certain attribute."
-msgstr ""
+msgstr "Проверяет, имеет ли текущий элемент определенный атрибут."
 
 #: doc/classes/XMLParser.xml
 msgid ""
 "Check whether the current element is empty (this only works for completely "
 "empty tags, e.g. [code]<element \\>[/code])."
 msgstr ""
+"Проверяет, является ли текущий элемент пустым (это работает только для "
+"полностью пустых тегов, например, [code]<element \\>[/code])."
 
 #: doc/classes/XMLParser.xml
 msgid "Opens an XML file for parsing. This returns an error code."

+ 54 - 44
doc/translations/sk.po

@@ -12357,7 +12357,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14082,7 +14082,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14120,9 +14120,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14141,8 +14141,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14158,8 +14158,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14250,9 +14250,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21309,7 +21309,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23621,11 +23621,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35502,11 +35502,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36440,11 +36444,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38389,7 +38397,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40542,9 +40550,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44654,7 +44662,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44808,7 +44816,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44863,7 +44871,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44916,7 +44924,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44965,7 +44973,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45017,7 +45025,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45069,7 +45077,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49504,8 +49512,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51507,8 +51516,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53035,7 +53044,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65327,8 +65337,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69686,7 +69696,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/sr_Cyrl.po

@@ -12368,7 +12368,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14093,7 +14093,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14131,9 +14131,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14152,8 +14152,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14169,8 +14169,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14261,9 +14261,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21320,7 +21320,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23632,11 +23632,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35513,11 +35513,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36451,11 +36455,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38400,7 +38408,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40553,9 +40561,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44665,7 +44673,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44819,7 +44827,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44874,7 +44882,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44927,7 +44935,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44976,7 +44984,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45028,7 +45036,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45080,7 +45088,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49515,8 +49523,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51518,8 +51527,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53046,7 +53055,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65338,8 +65348,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69697,7 +69707,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/sv.po

@@ -12357,7 +12357,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14082,7 +14082,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14120,9 +14120,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14141,8 +14141,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14158,8 +14158,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14250,9 +14250,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21309,7 +21309,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23618,11 +23618,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35499,11 +35499,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36437,11 +36441,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38386,7 +38394,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40539,9 +40547,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44651,7 +44659,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44805,7 +44813,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44860,7 +44868,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44913,7 +44921,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44962,7 +44970,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45014,7 +45022,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45066,7 +45074,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49501,8 +49509,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51504,8 +51513,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53032,7 +53041,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65324,8 +65334,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69683,7 +69693,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/th.po

@@ -12465,7 +12465,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14190,7 +14190,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14228,9 +14228,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14249,8 +14249,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14266,8 +14266,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14358,9 +14358,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21418,7 +21418,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23731,11 +23731,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35671,11 +35671,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36618,11 +36622,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38620,7 +38628,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40777,9 +40785,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44894,7 +44902,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45048,7 +45056,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45103,7 +45111,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45156,7 +45164,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45205,7 +45213,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45257,7 +45265,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45309,7 +45317,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49752,8 +49760,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51757,8 +51766,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53285,7 +53294,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65597,8 +65607,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69960,7 +69970,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 54 - 44
doc/translations/tl.po

@@ -12440,7 +12440,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14165,7 +14165,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14203,9 +14203,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14224,8 +14224,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14241,8 +14241,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14333,9 +14333,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21395,7 +21395,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23707,11 +23707,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35600,11 +35600,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36544,11 +36548,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38493,7 +38501,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40649,9 +40657,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44761,7 +44769,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44915,7 +44923,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -44970,7 +44978,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45023,7 +45031,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45072,7 +45080,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45124,7 +45132,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45176,7 +45184,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49611,8 +49619,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51614,8 +51623,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53142,7 +53151,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65440,8 +65450,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69799,7 +69809,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 56 - 44
doc/translations/tr.po

@@ -13145,7 +13145,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14870,7 +14870,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14908,9 +14908,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14929,8 +14929,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14946,8 +14946,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -15038,9 +15038,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -22111,7 +22111,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -24428,11 +24428,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -36350,11 +36350,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -37314,11 +37318,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -39267,7 +39275,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -41429,9 +41437,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45569,7 +45577,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45723,7 +45731,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45778,7 +45786,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45831,7 +45839,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45880,7 +45888,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45932,7 +45940,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45984,7 +45992,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -50427,8 +50435,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -52434,8 +52443,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53962,7 +53971,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -66281,10 +66291,12 @@ msgid ""
 msgstr ""
 
 #: doc/classes/Viewport.xml
+#, fuzzy
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
+"Eğer [code]true[/code] ise düğümler sıraya sokulur, yoksa sıraya sokulmaz."
 
 #: doc/classes/Viewport.xml
 msgid ""
@@ -70660,7 +70672,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 58 - 48
doc/translations/uk.po

@@ -17,7 +17,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Godot Engine class reference\n"
 "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-05-29 02:36+0000\n"
+"PO-Revision-Date: 2022-06-05 10:12+0000\n"
 "Last-Translator: Мирослав <[email protected]>\n"
 "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
 "godot-class-reference/uk/>\n"
@@ -3926,7 +3926,7 @@ msgstr ""
 #: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml
 #: doc/classes/Vector3.xml
 msgid "Vector math"
-msgstr ""
+msgstr "Векторна математика"
 
 #: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml
 #: doc/classes/Vector3.xml
@@ -12524,7 +12524,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14250,7 +14250,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14288,9 +14288,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14309,8 +14309,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14326,8 +14326,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14418,9 +14418,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21488,7 +21488,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23799,11 +23799,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -30530,7 +30530,7 @@ msgstr ""
 
 #: doc/classes/InputEventMouseMotion.xml
 msgid "Mouse and input coordinates"
-msgstr ""
+msgstr "Мишка і координати введення"
 
 #: doc/classes/InputEventMouseMotion.xml
 msgid ""
@@ -35711,11 +35711,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36670,11 +36674,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38623,7 +38631,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40784,9 +40792,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44916,7 +44924,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45070,7 +45078,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45125,7 +45133,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45178,7 +45186,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45227,7 +45235,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45279,7 +45287,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45331,7 +45339,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49769,8 +49777,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51774,8 +51783,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53302,7 +53311,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -60902,7 +60912,7 @@ msgstr ""
 
 #: doc/classes/Thread.xml
 msgid "Using multiple threads"
-msgstr ""
+msgstr "Використання кількох потоків"
 
 #: doc/classes/Thread.xml
 msgid "Thread-safe APIs"
@@ -65623,8 +65633,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -70001,7 +70011,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

+ 56 - 45
doc/translations/vi.po

@@ -12820,7 +12820,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14546,7 +14546,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14584,9 +14584,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14605,8 +14605,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14622,8 +14622,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14714,9 +14714,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21787,7 +21787,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -24101,11 +24101,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -36010,11 +36010,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36972,11 +36976,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38925,7 +38933,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -41086,9 +41094,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45226,7 +45234,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45380,7 +45388,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45435,7 +45443,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45488,7 +45496,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45537,7 +45545,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45589,7 +45597,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45641,7 +45649,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -50086,8 +50094,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -52093,8 +52102,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53621,7 +53630,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65947,10 +65957,11 @@ msgid ""
 msgstr ""
 
 #: doc/classes/Viewport.xml
+#, fuzzy
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
-msgstr ""
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
+msgstr "Nếu [code]true[/code], họa tiết sẽ được căn ở trung tâm."
 
 #: doc/classes/Viewport.xml
 msgid ""
@@ -70332,7 +70343,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

File diff suppressed because it is too large
+ 269 - 131
doc/translations/zh_CN.po


+ 54 - 44
doc/translations/zh_TW.po

@@ -12479,7 +12479,7 @@ msgstr ""
 
 #: doc/classes/CanvasItem.xml
 msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
 "draw_polyline] and [method draw_polygon].\n"
 "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
 "As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14205,7 +14205,7 @@ msgid ""
 "Constructs a color from a 32-bit integer in RGBA format (each byte "
 "represents a color channel).\n"
 "[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14243,9 +14243,9 @@ msgstr ""
 msgid ""
 "Returns the most contrasting color.\n"
 "[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14264,8 +14264,8 @@ msgid ""
 "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
 "[code]v[/code] are values between 0 and 1.\n"
 "[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14281,8 +14281,8 @@ msgid ""
 "Returns the color's grayscale representation.\n"
 "The gray value is calculated as [code](r + g + b) / 3[/code].\n"
 "[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
 "[/codeblock]"
 msgstr ""
 
@@ -14373,9 +14373,9 @@ msgid ""
 "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
 "the hexadecimal string.\n"
 "[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
 "[/codeblock]"
 msgstr ""
 
@@ -21443,7 +21443,7 @@ msgstr ""
 
 #: doc/classes/EditorPlugin.xml
 msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
 "[b]Note:[/b] Users can configure it before use.\n"
 "[b]Warning:[/b] Removing and freeing this node will render a part of the "
 "editor useless and may cause a crash."
@@ -23757,11 +23757,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
 msgstr ""
 
 #: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
 msgstr ""
 
 #: doc/classes/Expression.xml
@@ -35668,11 +35668,15 @@ msgid ""
 "Navigation2DServer is the server responsible for all 2D navigation. It "
 "handles several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -36627,11 +36631,15 @@ msgid ""
 "NavigationServer is the server responsible for all 3D navigation. It handles "
 "several objects, namely maps, regions and agents.\n"
 "Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
 "To use the collision avoidance system, you may use agents. You can set an "
 "agent's target velocity, then the servers will emit a callback with a "
 "modified velocity.\n"
@@ -38580,7 +38588,7 @@ msgstr ""
 #: doc/classes/NodePath.xml
 msgid ""
 "Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
 "[codeblock]\n"
 "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
 "print(node_path.get_name(0)) # Path2D\n"
@@ -40741,9 +40749,9 @@ msgid ""
 "web browser on the official Godot website.\n"
 "- [code]OS.shell_open(\"mailto:[email protected]\")[/code] opens the "
 "default email client with the \"To\" field set to [code][email protected][/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
 "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
 "or [code]user://[/code] path into a system path for use with this method.\n"
 "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44871,7 +44879,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolByteArray()]\n"
 "array[0].push_back(123)\n"
-"print(array)  # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolByteArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45025,7 +45033,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolColorArray()]\n"
 "array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array)  # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolColorArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45080,7 +45088,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolIntArray()]\n"
 "array[0].push_back(1234)\n"
-"print(array)  # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolIntArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45133,7 +45141,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolRealArray()]\n"
 "array[0].push_back(12.34)\n"
-"print(array)  # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolRealArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
 "[code]=[/code] for it to be changed:\n"
@@ -45182,7 +45190,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolStringArray()]\n"
 "array[0].push_back(\"hello\")\n"
-"print(array)  # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array)  # [[]] (empty PoolStringArray within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45234,7 +45242,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector2Array()]\n"
 "array[0].push_back(Vector2(12, 34))\n"
-"print(array)  # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector2Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -45286,7 +45294,7 @@ msgid ""
 "[codeblock]\n"
 "var array = [PoolVector3Array()]\n"
 "array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array)  # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array)  # [[]] (empty PoolVector3Array within an Array)\n"
 "[/codeblock]\n"
 "Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
 "with [code]=[/code] for it to be changed:\n"
@@ -49724,8 +49732,9 @@ msgstr ""
 #: doc/classes/Range.xml
 msgid ""
 "Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
 msgstr ""
 
 #: doc/classes/Range.xml
@@ -51729,8 +51738,8 @@ msgstr ""
 
 #: doc/classes/RigidBody.xml
 msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
 "See [member ProjectSettings.physics/3d/default_angular_damp] for more "
 "details about damping."
 msgstr ""
@@ -53257,7 +53266,8 @@ msgid ""
 "    yield(get_tree().create_timer(1.0), \"timeout\")\n"
 "    print(\"Timer ended.\")\n"
 "[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
 msgstr ""
 
 #: doc/classes/SceneTreeTimer.xml
@@ -65580,8 +65590,8 @@ msgstr ""
 
 #: doc/classes/Viewport.xml
 msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
 msgstr ""
 
 #: doc/classes/Viewport.xml
@@ -69958,7 +69968,7 @@ msgid ""
 "[/codeblock]\n"
 "Using this can result in significant optimization, especially on lower-end "
 "devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
 "viewport_set_render_direct_to_screen]."
 msgstr ""
 

Some files were not shown because too many files changed in this diff