Explorar el Código

i18n: Sync classref translations with Weblate

Rémi Verschelde hace 3 años
padre
commit
e86d840d4f

+ 264 - 95
doc/translations/ar.po

@@ -1017,11 +1017,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -1065,37 +1066,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4197,17 +4197,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4235,9 +4242,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4261,8 +4268,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4314,6 +4324,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4830,11 +4850,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5870,7 +5890,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7060,7 +7083,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7105,10 +7131,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7246,11 +7276,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8385,7 +8419,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8607,7 +8641,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11721,17 +11755,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13983,7 +14017,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14079,7 +14115,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22495,6 +22533,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "يُرجع جيب التمام \"cosine \" لقيمة المَعلم."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26081,10 +26124,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34614,13 +34670,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35331,6 +35387,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35400,6 +35462,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -35427,6 +35495,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -35450,6 +35524,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -35929,19 +36009,60 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
+#: doc/classes/NavigationMeshGenerator.xml
+#, fuzzy
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "يُرجع جيب المَعلم."
+
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
 msgstr ""
@@ -35960,7 +36081,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36005,6 +36129,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "يُرجع جيب المَعلم."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36041,6 +36170,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "يُرجع جيب المَعلم."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37230,7 +37364,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37238,8 +37372,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37531,14 +37665,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37671,6 +37797,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37833,6 +37968,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39075,7 +39228,7 @@ msgstr "يُرجع جيب المَعلم."
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39097,7 +39250,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44450,6 +44604,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45243,6 +45406,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48690,19 +48857,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53534,8 +53688,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53556,8 +53717,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/ca.po

@@ -1047,11 +1047,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -1095,37 +1096,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4220,17 +4220,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4258,9 +4265,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4284,8 +4291,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4337,6 +4347,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4852,11 +4872,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5891,7 +5911,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7081,7 +7104,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7126,10 +7152,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7267,11 +7297,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8406,7 +8440,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8628,7 +8662,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11739,17 +11773,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13998,7 +14032,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14094,7 +14130,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22500,6 +22538,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26083,10 +26125,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34608,13 +34663,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35319,6 +35374,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35382,6 +35443,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35408,6 +35475,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35429,6 +35502,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35902,17 +35981,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35933,7 +36052,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35978,6 +36100,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36014,6 +36140,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37199,7 +37329,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37207,8 +37337,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37500,14 +37630,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37640,6 +37762,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37802,6 +37933,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39043,7 +39192,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39065,7 +39214,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44392,6 +44542,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45184,6 +45343,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48630,19 +48793,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53472,8 +53622,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53494,8 +53651,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/classes.pot

@@ -927,11 +927,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -975,37 +976,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4100,17 +4100,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4138,9 +4145,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4164,8 +4171,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4217,6 +4227,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4732,11 +4752,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5771,7 +5791,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6961,7 +6984,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7006,10 +7032,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7147,11 +7177,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8286,7 +8320,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8508,7 +8542,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11619,17 +11653,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13878,7 +13912,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13974,7 +14010,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22380,6 +22418,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25960,10 +26002,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34485,13 +34540,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35196,6 +35251,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35259,6 +35320,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35285,6 +35352,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35306,6 +35379,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35779,17 +35858,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35810,7 +35929,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35855,6 +35977,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35891,6 +36017,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37076,7 +37206,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37084,8 +37214,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37377,14 +37507,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37517,6 +37639,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37679,6 +37810,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38920,7 +39069,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38942,7 +39091,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44269,6 +44419,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45061,6 +45220,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48507,19 +48670,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53349,8 +53499,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53371,8 +53528,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 268 - 95
doc/translations/cs.po

@@ -1357,12 +1357,14 @@ msgstr ""
 "[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 "Náhodný rozptyl, jakákoliv hodnota čísla s plovoucí řádkou (float, double) "
 "mezi hodnotami [code]od[/code] a [code]do[/code].\n"
@@ -1427,37 +1429,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4604,17 +4605,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4642,9 +4650,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4668,8 +4676,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4721,6 +4732,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -5237,11 +5258,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -6277,7 +6298,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7469,7 +7493,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7514,10 +7541,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7655,11 +7686,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8795,7 +8830,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -9017,7 +9052,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -12138,17 +12173,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -14405,7 +14440,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14501,7 +14538,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22952,6 +22991,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "Vrátí [code] true [/code], pokud je vektor normalizován, jinak false."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26538,10 +26582,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -35079,13 +35136,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35797,6 +35854,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
@@ -35867,6 +35930,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -35894,6 +35963,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -35917,6 +35992,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -36398,19 +36479,60 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
+#: doc/classes/NavigationMeshGenerator.xml
+#, fuzzy
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "Vrací [code]true[/code] pokud [code]s[/code] je nula nebo téměř nula."
+
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
 msgstr ""
@@ -36429,7 +36551,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36474,6 +36599,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "Vrátí sinus parametru."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36510,6 +36640,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "Vrátí sinus parametru."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37699,7 +37834,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37707,8 +37842,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -38000,14 +38135,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -38140,6 +38267,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -38302,6 +38438,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39547,7 +39701,7 @@ msgstr "Vrací [code]true[/code] pokud [code]s[/code] je nula nebo téměř nula
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39569,7 +39723,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44930,6 +45085,18 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+"Vrací [code]true[/code] pokud si jsou [code]a[/code] a [code]b[/code] "
+"přiblížně rovny."
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45725,6 +45892,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -49172,19 +49343,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -54024,8 +54182,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -54046,8 +54211,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 337 - 153
doc/translations/de.po


+ 264 - 95
doc/translations/el.po

@@ -942,11 +942,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -990,37 +991,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4115,17 +4115,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4153,9 +4160,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4179,8 +4186,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4232,6 +4242,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4748,11 +4768,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5788,7 +5808,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6978,7 +7001,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7023,10 +7049,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7164,11 +7194,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8303,7 +8337,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8525,7 +8559,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11639,17 +11673,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13902,7 +13936,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13998,7 +14034,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22414,6 +22452,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "Επιστρέφει το συνημίτονο της παραμέτρου."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26000,10 +26043,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34533,13 +34589,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35244,6 +35300,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35313,6 +35375,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -35340,6 +35408,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -35363,6 +35437,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -35842,19 +35922,60 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
+#: doc/classes/NavigationMeshGenerator.xml
+#, fuzzy
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "Επιστρέφει το ημίτονο της παραμέτρου."
+
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
 msgstr ""
@@ -35873,7 +35994,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35918,6 +36042,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "Επιστρέφει το ημίτονο της παραμέτρου."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35954,6 +36083,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "Επιστρέφει το ημίτονο της παραμέτρου."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37143,7 +37277,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37151,8 +37285,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37444,14 +37578,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37584,6 +37710,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37746,6 +37881,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38988,7 +39141,7 @@ msgstr "Επιστρέφει το ημίτονο της παραμέτρου."
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39010,7 +39163,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44350,6 +44504,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45143,6 +45306,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48590,19 +48757,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53434,8 +53588,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53456,8 +53617,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 287 - 137
doc/translations/es.po

@@ -1517,12 +1517,14 @@ msgstr ""
 "[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 "Rango aleatorio de cualquier numero real entre [code]from[/code] y [code]to[/"
 "code].\n"
@@ -1595,37 +1597,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -1634,40 +1635,6 @@ msgid ""
 "3\n"
 "[/codeblock]"
 msgstr ""
-"Devuelve una formación con el rango dado. El método [code]range()[/code] "
-"puede tener un argumento [code]N[/code] (0 a [code]N[/code] - 1), dos "
-"argumentos ([code]initial[/code], [code]final - 1[/code]) o tres argumentos "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] puede ser negativo, y en tal caso, [code]final - 1[/"
-"code] llega a ser [code]final + 1[/code]. También, el valor incial debe ser "
-"mayor que el valor final para que se ejecute la iteración.\n"
-"Devuelve una formación vacía si el rango no es válido (por ejemplo, "
-"[code]range(2, 5, -1)[/code] o [code]range(5, 5, 1)[/code]).\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Salida:\n"
-"[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
-"[/codeblock]\n"
-"Para iterar sobre un [Array] al revés, utilice:\n"
-"[codeblock]\n"
-"var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
-"[/codeblock]\n"
-"Salida:\n"
-"[codeblock]\n"
-"9\n"
-"6\n"
-"3\n"
-"[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
@@ -5376,17 +5343,25 @@ msgid "Maximum value for the mode enum."
 msgstr "Valor máximo para el modo enum."
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+#, fuzzy
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr "Nodo Sprite que puede usar múltiples texturas para la animación."
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -5417,9 +5392,10 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr "Detiene la animación actual (no reinicia el contador de fotogramas)."
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
+#, fuzzy
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 "La animación actual del recurso [code]frames[/code]. Si este valor cambia, "
@@ -5445,9 +5421,12 @@ msgstr "Si [code]true[/code], la textura se voltea verticalmente."
 msgid "The displayed animation frame's index."
 msgstr "El índice del cuadro de animación mostrado."
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
-msgstr "El recurso [SpriteFrames] que contiene la(s) animación(es)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
+msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
 #: doc/classes/SpriteBase3D.xml
@@ -5509,6 +5488,18 @@ msgstr ""
 "Reproduce la animación llamada [code]anim[/code]. Si no se proporciona "
 "[code]anim[/code], se reproduce la animación actual."
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+"La animación actual del recurso [code]frames[/code]. Si este valor cambia, "
+"el contador [code]frame[/code] se reinicia."
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr "El recurso [SpriteFrames] que contiene la(s) animación(es)."
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr "Textura de conexión para animaciones simples basadas en fotogramas."
@@ -6235,11 +6226,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr "No hay interpolación (valor más cercano)."
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr "Interpolación lineal."
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr "Interpolación cúbica."
 
@@ -7593,11 +7584,15 @@ msgstr ""
 "[code]newname[/code]."
 
 #: doc/classes/AnimationPlayer.xml
+#, fuzzy
 msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 "Busca la animación hasta el punto en el tiempo de [code]seconds[/code]. Si "
 "[code]update[/code] es [code]true[/code], la animación se actualiza también, "
@@ -9114,7 +9109,10 @@ msgstr ""
 "Limpia el array. Esto es equivalente a usar [method resize] con un tamaño de "
 "[code]0[/code]."
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr "Devuelve el numer de veces que un elemento es encuentra en el array."
 
@@ -9174,10 +9172,15 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
+#, fuzzy
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 "Busca el array por un valor y devuelve su indice o [code]-1[/code] sino se "
 "encuentra. Opcionalmente, el indice de busqueda inicial puede ser pasado."
@@ -9354,11 +9357,16 @@ msgstr ""
 "Si el array es menor, los elementos so limipiados, si mayor, los nuevos "
 "elementos son [code]null[/code]."
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
+#, fuzzy
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 "Busca el array en orden inverso. Opcionalmente, un indice de comienzo de "
 "busqueda puede ser pasado. Si negacion, el indice de comienzo es considerado "
@@ -10992,7 +11000,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11320,7 +11328,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -15234,9 +15242,9 @@ msgstr ""
 #, fuzzy
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 "Devuelve un vector normal en el espacio del mundo, que es el resultado de "
 "proyectar un punto en el rectángulo [Viewport] por la proyección de la "
@@ -15247,9 +15255,9 @@ msgstr ""
 #, fuzzy
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 "Devuelve una posición 3D en el espacio mundo, que es el resultado de "
 "proyectar un punto en el rectángulo [Viewport] por la proyección de la "
@@ -18239,9 +18247,12 @@ msgid "If [code]true[/code], no collisions will be detected."
 msgstr "Si [code]true[/code], no se detectarán colisiones."
 
 #: doc/classes/CollisionPolygon2D.xml
+#, fuzzy
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 "Si [code]true[/code], sólo los bordes que están boca arriba, en relación con "
 "la rotación de [CollisionPolygon2D], colisionarán con otros objetos."
@@ -18365,9 +18376,12 @@ msgid ""
 msgstr "Una forma de colisión desactivada no tiene ningún efecto en el mundo."
 
 #: doc/classes/CollisionShape2D.xml
+#, fuzzy
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 "Establece si esta forma de colisión sólo debe detectar la colisión en un "
 "lado (superior o inferior)."
@@ -29700,6 +29714,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "Si [code]true[/code], la flecha de plegado está oculta."
+
 #: doc/classes/EditorVCSInterface.xml
 #, fuzzy
 msgid ""
@@ -34405,12 +34424,25 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr "Los colores de gradiente devueltos como un [PackedColorArray]."
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 #, fuzzy
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 "Los desplazamientos de gradiente devueltos como un [PackedFloat32Array]."
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr "Textura llena de gradientes."
@@ -45720,13 +45752,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -46667,6 +46699,15 @@ msgstr ""
 msgid "Creates the agent."
 msgstr "Crea un [HingeJoint]."
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+#, fuzzy
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+"Devuelve la [Animation] con clave [code]name[/code] or [code]null[/code] si "
+"no se encuentra."
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
@@ -46739,6 +46780,12 @@ msgstr "Quita la identificación del tile dado."
 msgid "Create a new map."
 msgstr "Crea un [Area2D]."
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -46773,6 +46820,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr "Devuelve el polígono de navegación del tile."
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -46798,6 +46851,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr "Crea un [Area2D]."
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -47320,19 +47379,59 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr "Representa el tamaño del enum [enum ShaderMode]."
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 #, fuzzy
-msgid "Clears the navigation mesh."
-msgstr "Establece la malla de navegación del objeto."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "Elimina la animación con la clave [code]name[/code]."
 
 #: doc/classes/NavigationMeshInstance.xml
 #, fuzzy
@@ -47353,7 +47452,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -47402,6 +47504,11 @@ msgid ""
 "system."
 msgstr "Devuelve el nodo animacion con el nombre dado."
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "Devuelve el [RID] de la forma enésima de un área."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -47441,6 +47548,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "Devuelve el [RID] de la forma enésima de un área."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -49210,7 +49322,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -49218,8 +49330,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -49643,14 +49755,6 @@ msgstr ""
 "par dado se establece recursivamente como el maestro para todos los hijos de "
 "este nodo."
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -49864,6 +49968,15 @@ msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 "Modo de pausa. Cómo se comportará el nodo si el [SceneTree] está en pausa."
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -50051,6 +50164,27 @@ msgstr "Detiene el procesamiento cuando el [SceneTree] está en pausa."
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr "Continúe el proceso sin importar el estado de pausa de [SceneTree]."
 
+#: doc/classes/Node.xml
+#, fuzzy
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+"Heredó el modo de pausa del padre del nodo. Para el nodo raíz, es "
+"equivalente a [constant PAUSE_MODE_STOP]. Por defecto."
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr "Duplica las señales del nodo."
@@ -51808,8 +51942,9 @@ msgid "Returns the tooltip of the item at index [code]idx[/code]."
 msgstr "Devuelve el texto del artículo en el índice [code]idx[/code]."
 
 #: doc/classes/OptionButton.xml
+#, fuzzy
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 "Devuelve el ID del elemento seleccionado, o [code]0[/code] si no hay ningún "
@@ -51835,9 +51970,11 @@ msgid "Removes the item at index [code]idx[/code]."
 msgstr "Elimina el elemento en el índice [code]idx[/code]."
 
 #: doc/classes/OptionButton.xml
+#, fuzzy
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 "Selecciona un elemento por índice y lo convierte en el elemento actual. Esto "
 "funcionará incluso si el elemento está desactivado."
@@ -58935,6 +59072,17 @@ msgstr ""
 "Utiliza esta función si no estás seguro de la fuente de los datos. Para la "
 "entrada del usuario esta función siempre debe ser preferida."
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+"Devuelve [code]true[/code] si el objeto contiene el [code]method[/code] dado."
+
 #: doc/classes/PoolByteArray.xml
 #, fuzzy
 msgid ""
@@ -60035,6 +60183,11 @@ msgstr "El espacio vertical entre cada elemento del menú."
 msgid "[Font] used for the menu items."
 msgstr "[Font] usada para los elementos del menú."
 
+#: doc/classes/PopupMenu.xml
+#, fuzzy
+msgid "[Font] used for the labeled separator."
+msgstr "[Font] que se usa para el texto de las [Label]."
+
 #: doc/classes/PopupMenu.xml
 #, fuzzy
 msgid "[Texture] icon for the checked checkbox items."
@@ -64306,19 +64459,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 #, fuzzy
 msgid "General-purpose 3D proximity detection node."
@@ -70533,19 +70673,20 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
 "([code]shape_xform[/code])."
 msgstr ""
-"Devuelve una lista de los puntos donde esta forma toca a otra. Si no hay "
-"colisiones la lista está vacía.\n"
-"Este método necesita la matriz de transformación de esta forma "
-"([code]local_xform[/code]), la forma para comprobar las colisiones con "
-"([code]with_shape[/code]), y la matriz de transformación de esa forma "
-"([code]shape_xform[/code])."
 
 #: doc/classes/Shape2D.xml
 msgid ""
@@ -70568,9 +70709,18 @@ msgstr ""
 "([code]shape_motion[/code])."
 
 #: doc/classes/Shape2D.xml
+#, fuzzy
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/fa.po

@@ -1360,11 +1360,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -1408,37 +1409,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4539,17 +4539,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4577,9 +4584,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4603,8 +4610,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4656,6 +4666,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -5171,11 +5191,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -6210,7 +6230,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7400,7 +7423,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7445,10 +7471,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7586,11 +7616,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8725,7 +8759,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8947,7 +8981,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -12058,17 +12092,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -14317,7 +14351,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14413,7 +14449,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22819,6 +22857,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26402,10 +26444,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34927,13 +34982,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35644,6 +35699,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35707,6 +35768,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35733,6 +35800,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35754,6 +35827,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -36227,17 +36306,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36258,7 +36377,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36303,6 +36425,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36339,6 +36465,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37524,7 +37654,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37532,8 +37662,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37825,14 +37955,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37965,6 +38087,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -38127,6 +38258,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39368,7 +39517,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39390,7 +39539,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44729,6 +44879,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45521,6 +45680,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48967,19 +49130,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53813,8 +53963,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53835,8 +53992,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 264 - 95
doc/translations/fi.po

@@ -1009,11 +1009,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -1057,37 +1058,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4182,17 +4182,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4220,9 +4227,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4246,8 +4253,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4299,6 +4309,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4815,11 +4835,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5855,7 +5875,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7051,7 +7074,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7096,10 +7122,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7237,11 +7267,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8376,7 +8410,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8598,7 +8632,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11713,17 +11747,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13978,7 +14012,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14074,7 +14110,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22490,6 +22528,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "Palauttaa parametrin kosinin."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26077,10 +26120,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34617,13 +34673,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35328,6 +35384,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35397,6 +35459,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -35424,6 +35492,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -35447,6 +35521,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -35927,19 +36007,60 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
+#: doc/classes/NavigationMeshGenerator.xml
+#, fuzzy
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "Laskee kahden vektorin ristitulon."
+
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
 msgstr ""
@@ -35958,7 +36079,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36003,6 +36127,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "Palauttaa parametrin sinin."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36039,6 +36168,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "Palauttaa parametrin sinin."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37228,7 +37362,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37236,8 +37370,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37529,14 +37663,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37669,6 +37795,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37831,6 +37966,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39073,7 +39226,7 @@ msgstr "Laskee kahden vektorin ristitulon."
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39095,7 +39248,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44435,6 +44589,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45228,6 +45391,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48675,19 +48842,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53519,8 +53673,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53541,8 +53702,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 292 - 118
doc/translations/fil.po

@@ -5,12 +5,13 @@
 #
 # Jethro Parker <[email protected]>, 2020.
 # Pierre Stempin <[email protected]>, 2020.
+# Marco Santos <[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: 2020-10-07 06:10+0000\n"
-"Last-Translator: Pierre Stempin <pierre.stempin@gmail.com>\n"
+"PO-Revision-Date: 2022-05-15 09:39+0000\n"
+"Last-Translator: Marco Santos <enum.scima@gmail.com>\n"
 "Language-Team: Filipino <https://hosted.weblate.org/projects/godot-engine/"
 "godot-class-reference/fil/>\n"
 "Language: fil\n"
@@ -19,7 +20,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1 && n != 2 && n != 3 && (n % 10 == 4 "
 "|| n % 10 == 6 || n % 10 == 9);\n"
-"X-Generator: Weblate 4.3-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
 
 #: doc/tools/make_rst.py
 msgid "Description"
@@ -27,107 +28,115 @@ msgstr "Paglalarawan"
 
 #: doc/tools/make_rst.py
 msgid "Tutorials"
-msgstr "Mga tutorial"
+msgstr "Mga Tutorial"
 
 #: doc/tools/make_rst.py
 msgid "Properties"
-msgstr ""
+msgstr "Mga Property"
 
 #: doc/tools/make_rst.py
 msgid "Methods"
-msgstr ""
+msgstr "Mga Method"
 
 #: doc/tools/make_rst.py
 msgid "Theme Properties"
-msgstr ""
+msgstr "Mga Property ng Tema"
 
 #: doc/tools/make_rst.py
 msgid "Signals"
-msgstr ""
+msgstr "Mga Signal"
 
 #: doc/tools/make_rst.py
 msgid "Enumerations"
-msgstr ""
+msgstr "Mga Enumeration"
 
 #: doc/tools/make_rst.py
 msgid "Constants"
-msgstr ""
+msgstr "Mga Constant"
 
 #: doc/tools/make_rst.py
 msgid "Property Descriptions"
-msgstr ""
+msgstr "Mga Paglalarawan sa Property"
 
 #: doc/tools/make_rst.py
 msgid "Method Descriptions"
-msgstr ""
+msgstr "Mga Paglalarawan sa Method"
 
 #: doc/tools/make_rst.py
 msgid "Theme Property Descriptions"
-msgstr ""
+msgstr "Mga Paglalarawan sa Property ng Tema"
 
 #: doc/tools/make_rst.py
 msgid "Inherits:"
-msgstr ""
+msgstr "Minamana ang:"
 
 #: doc/tools/make_rst.py
 msgid "Inherited By:"
-msgstr ""
+msgstr "Minamana ng:"
 
 #: doc/tools/make_rst.py
 msgid "(overrides %s)"
-msgstr ""
+msgstr "(ino-override ang %s)"
 
 #: doc/tools/make_rst.py
 msgid "Default"
-msgstr ""
+msgstr "Default"
 
 #: doc/tools/make_rst.py
 msgid "Setter"
-msgstr ""
+msgstr "Setter"
 
 #: doc/tools/make_rst.py
 msgid "value"
-msgstr ""
+msgstr "value"
 
 #: doc/tools/make_rst.py
 msgid "Getter"
-msgstr ""
+msgstr "Getter"
 
 #: doc/tools/make_rst.py
 msgid ""
 "This method should typically be overridden by the user to have any effect."
-msgstr ""
+msgstr "Dapat tipikal na ino-override ang method na ito ng user para umepekto."
 
 #: doc/tools/make_rst.py
 msgid ""
 "This method has no side effects. It doesn't modify any of the instance's "
 "member variables."
 msgstr ""
+"Walang mga side effect ang method na ito. Wala itong binabago na kahit anong "
+"mga kasaping variable ng instance."
 
 #: doc/tools/make_rst.py
 msgid ""
 "This method accepts any number of arguments after the ones described here."
 msgstr ""
+"Tumatanggap ang method na ito ng kahit ilang bilang ng argumento pagkatapos "
+"ng mga nailarawan rito."
 
 #: doc/tools/make_rst.py
 msgid "This method is used to construct a type."
-msgstr ""
+msgstr "Ginagamit para mag-construct ng type ang method na ito."
 
 #: doc/tools/make_rst.py
 msgid ""
 "This method doesn't need an instance to be called, so it can be called "
 "directly using the class name."
 msgstr ""
+"Di kailangan ng method na ito na magtawag ng isang instance, kaya pwede "
+"itong direktang tawagin gamit ang pangalan ng class."
 
 #: doc/tools/make_rst.py
 msgid ""
 "This method describes a valid operator to use with this type as left-hand "
 "operand."
 msgstr ""
+"Inilalarawan ng method na ito ang isang valid na operator na gagamitin para "
+"sa type na ito bilang isang operand sa kaliwa."
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid "Built-in GDScript functions."
-msgstr ""
+msgstr "Mga built-in na GDScript function."
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
@@ -934,11 +943,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -982,37 +992,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4107,17 +4116,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4145,9 +4161,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4171,8 +4187,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4224,6 +4243,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4739,11 +4768,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5778,7 +5807,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6968,7 +7000,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7013,10 +7048,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7154,11 +7193,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8293,7 +8336,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8515,7 +8558,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11626,17 +11669,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13885,7 +13928,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13981,7 +14026,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22387,6 +22434,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25970,10 +26021,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34495,13 +34559,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35206,6 +35270,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35269,6 +35339,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35295,6 +35371,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35316,6 +35398,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35789,17 +35877,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35820,7 +35948,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35865,6 +35996,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35901,6 +36036,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37086,7 +37225,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37094,8 +37233,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37387,14 +37526,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37527,6 +37658,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37689,6 +37829,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38930,7 +39088,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38952,7 +39110,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44279,6 +44438,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45071,6 +45239,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48517,19 +48689,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53359,8 +53518,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53381,8 +53547,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 370 - 117
doc/translations/fr.po


+ 260 - 95
doc/translations/gl.po

@@ -935,11 +935,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -983,37 +984,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4108,17 +4108,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4146,9 +4153,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4172,8 +4179,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4225,6 +4235,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4740,11 +4760,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5779,7 +5799,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6969,7 +6992,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7014,10 +7040,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7155,11 +7185,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8294,7 +8328,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8516,7 +8550,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11627,17 +11661,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13886,7 +13920,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13982,7 +14018,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22388,6 +22426,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25968,10 +26010,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34493,13 +34548,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35204,6 +35259,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35267,6 +35328,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35293,6 +35360,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35314,6 +35387,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35787,17 +35866,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35818,7 +35937,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35863,6 +35985,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35899,6 +36025,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37084,7 +37214,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37092,8 +37222,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37385,14 +37515,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37525,6 +37647,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37687,6 +37818,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38928,7 +39077,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38950,7 +39099,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44277,6 +44427,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45069,6 +45228,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48515,19 +48678,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53357,8 +53507,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53379,8 +53536,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/hi.po

@@ -934,11 +934,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -982,37 +983,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4107,17 +4107,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4145,9 +4152,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4171,8 +4178,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4224,6 +4234,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4739,11 +4759,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5778,7 +5798,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6968,7 +6991,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7013,10 +7039,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7154,11 +7184,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8293,7 +8327,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8515,7 +8549,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11626,17 +11660,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13885,7 +13919,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13981,7 +14017,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22387,6 +22425,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25967,10 +26009,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34492,13 +34547,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35203,6 +35258,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35266,6 +35327,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35292,6 +35359,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35313,6 +35386,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35786,17 +35865,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35817,7 +35936,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35862,6 +35984,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35898,6 +36024,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37083,7 +37213,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37091,8 +37221,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37384,14 +37514,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37524,6 +37646,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37686,6 +37817,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38927,7 +39076,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38949,7 +39098,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44276,6 +44426,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45068,6 +45227,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48514,19 +48677,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53356,8 +53506,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53378,8 +53535,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/hu.po

@@ -952,11 +952,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -1000,37 +1001,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4125,17 +4125,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4163,9 +4170,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4189,8 +4196,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4242,6 +4252,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4757,11 +4777,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5796,7 +5816,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6986,7 +7009,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7031,10 +7057,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7172,11 +7202,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8311,7 +8345,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8533,7 +8567,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11644,17 +11678,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13903,7 +13937,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13999,7 +14035,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22405,6 +22443,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25985,10 +26027,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34510,13 +34565,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35221,6 +35276,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35284,6 +35345,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35310,6 +35377,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35331,6 +35404,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35804,17 +35883,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35835,7 +35954,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35880,6 +36002,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35916,6 +36042,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37101,7 +37231,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37109,8 +37239,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37402,14 +37532,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37542,6 +37664,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37704,6 +37835,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38945,7 +39094,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38967,7 +39116,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44294,6 +44444,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45086,6 +45245,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48532,19 +48695,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53374,8 +53524,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53396,8 +53553,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 269 - 103
doc/translations/id.po

@@ -14,12 +14,13 @@
 # zephyroths <[email protected]>, 2022.
 # ProgrammerIndonesia 44 <[email protected]>, 2022.
 # Reza Almanda <[email protected]>, 2022.
+# Tsaqib Fadhlurrahman Soka <[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-04-08 07:11+0000\n"
-"Last-Translator: Reza Almanda <rezaalmanda27@gmail.com>\n"
+"PO-Revision-Date: 2022-05-15 09:38+0000\n"
+"Last-Translator: Tsaqib Fadhlurrahman Soka <sokatsaqib@gmail.com>\n"
 "Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/"
 "godot-class-reference/id/>\n"
 "Language: id\n"
@@ -27,7 +28,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
 
 #: doc/tools/make_rst.py
 msgid "Description"
@@ -43,7 +44,7 @@ msgstr "Properti"
 
 #: doc/tools/make_rst.py
 msgid "Methods"
-msgstr "Metode"
+msgstr "Method"
 
 #: doc/tools/make_rst.py
 msgid "Theme Properties"
@@ -59,7 +60,7 @@ msgstr "Enumerasi"
 
 #: doc/tools/make_rst.py
 msgid "Constants"
-msgstr "Konstanta"
+msgstr "konstan"
 
 #: doc/tools/make_rst.py
 msgid "Property Descriptions"
@@ -91,7 +92,7 @@ msgstr "Bawaan"
 
 #: doc/tools/make_rst.py
 msgid "Setter"
-msgstr ""
+msgstr "Setter"
 
 #: doc/tools/make_rst.py
 msgid "value"
@@ -99,7 +100,7 @@ msgstr "nilai"
 
 #: doc/tools/make_rst.py
 msgid "Getter"
-msgstr ""
+msgstr "Pengumpul"
 
 #: doc/tools/make_rst.py
 msgid ""
@@ -1322,11 +1323,12 @@ msgstr ""
 #: modules/gdscript/doc_classes/@GDScript.xml
 #, fuzzy
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 "Rentang acak, setiap nilai floating point antara [code]from[/code] dan "
 "[code]to[/code].\n"
@@ -1380,37 +1382,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4518,17 +4519,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4556,9 +4564,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4582,8 +4590,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4635,6 +4646,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -5150,11 +5171,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -6190,7 +6211,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7380,7 +7404,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7425,10 +7452,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7566,11 +7597,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8705,7 +8740,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8927,7 +8962,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -12038,17 +12073,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -14298,7 +14333,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14394,7 +14431,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22800,6 +22839,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26386,10 +26429,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34912,13 +34968,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35629,6 +35685,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35695,6 +35757,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -35722,6 +35790,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35743,6 +35817,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -36218,17 +36298,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36249,7 +36369,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36294,6 +36417,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36330,6 +36457,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37070,7 +37201,7 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid "Nodes and Scenes"
-msgstr ""
+msgstr "Node dan Scene"
 
 #: doc/classes/Node.xml
 msgid "All Demos"
@@ -37517,7 +37648,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37525,8 +37656,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37818,14 +37949,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37958,6 +38081,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -38120,6 +38252,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39362,7 +39512,7 @@ msgstr "Mengembalikan nilai hiperbolik tangen dari parameter."
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39384,7 +39534,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44728,6 +44879,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45521,6 +45681,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48967,19 +49131,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53810,8 +53961,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53832,8 +53990,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/is.po

@@ -934,11 +934,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -982,37 +983,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4107,17 +4107,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4145,9 +4152,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4171,8 +4178,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4224,6 +4234,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4739,11 +4759,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5778,7 +5798,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6968,7 +6991,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7013,10 +7039,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7154,11 +7184,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8293,7 +8327,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8515,7 +8549,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11626,17 +11660,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13885,7 +13919,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13981,7 +14017,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22387,6 +22425,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25967,10 +26009,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34492,13 +34547,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35203,6 +35258,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35266,6 +35327,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35292,6 +35359,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35313,6 +35386,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35786,17 +35865,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35817,7 +35936,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35862,6 +35984,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35898,6 +36024,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37083,7 +37213,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37091,8 +37221,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37384,14 +37514,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37524,6 +37646,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37686,6 +37817,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38927,7 +39076,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38949,7 +39098,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44276,6 +44426,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45068,6 +45227,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48514,19 +48677,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53356,8 +53506,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53378,8 +53535,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 266 - 95
doc/translations/it.po

@@ -1508,12 +1508,14 @@ msgstr ""
 "[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 "Un range casuale, un qualsiasi numero in virgola mobile tra [code]from[/"
 "code] e [code]to[/code]\n"
@@ -1588,37 +1590,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -5100,17 +5101,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -5138,9 +5146,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -5164,8 +5172,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -5217,6 +5228,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -5733,12 +5754,12 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 #, fuzzy
 msgid "Linear interpolation."
 msgstr "Interpolazione lineare."
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 #, fuzzy
 msgid "Cubic interpolation."
 msgstr "Interpolazione cubica."
@@ -6775,7 +6796,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7981,7 +8005,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -8026,10 +8053,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8167,11 +8198,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -9310,7 +9345,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -9532,7 +9567,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -12654,17 +12689,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -14924,7 +14959,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -15021,7 +15058,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -23531,6 +23570,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "Ritorna [code]true[/code] se [Rect2i] è piano o vuoto."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -27128,10 +27172,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -35686,13 +35743,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -36404,6 +36461,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
@@ -36474,6 +36537,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -36501,6 +36570,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -36524,6 +36599,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -37010,19 +37091,60 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
+#: doc/classes/NavigationMeshGenerator.xml
+#, fuzzy
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "Calcola il prodotto vettoriale di questo vettore e [code]with[/code]."
+
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
 msgstr ""
@@ -37041,7 +37163,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -37087,6 +37212,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "Restituisce il seno del parametro."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -37123,6 +37253,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "Restituisce il seno del parametro."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -38313,7 +38448,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -38321,8 +38456,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -38614,14 +38749,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -38754,6 +38881,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -38916,6 +39052,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -40165,7 +40319,7 @@ msgstr "Calcola il prodotto vettoriale di questo vettore e [code]b[/code]."
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -40187,7 +40341,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -45558,6 +45713,16 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -46353,6 +46518,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -49800,19 +49969,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -54653,8 +54809,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -54675,8 +54838,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 282 - 137
doc/translations/ja.po

@@ -1463,12 +1463,14 @@ msgstr ""
 "[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 "[code]from[/code] から [code]to[/code] までの間で、ランダムな値を浮動小数点数"
 "として生成します。\n"
@@ -1538,39 +1540,37 @@ msgstr ""
 "[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -1579,45 +1579,6 @@ msgid ""
 "3\n"
 "[/codeblock]"
 msgstr ""
-"与えられた範囲での配列を返します。 範囲の指定には1つの引数 [code]N[/code] (0 "
-"から [code]N[/code] - 1 まで) 、2つの引数([code]initial[/code], [code]final "
-"- 1[/code]) または3つの引数([code]initial[/code], [code]final - 1[/code], "
-"[code]increment[/code]) があります。もし範囲が不正な値 (例えば "
-"[code]range(2, 5, -1)[/code] や [code]range(5, 5, 1)[/code]) だった場合は空の"
-"配列が返されます。\n"
-"与えられた範囲での配列を返します。 [code]range()[/code] は1つの引数N "
-"([code]0[/code] から [code]N - 1[/code] まで) 、二つの引数 ([code]initial[/"
-"code], [code]final - 1[/code]) または3つの引数 ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]) をもちます。 "
-"[code]increment[/code] は負の値にもなります。もし [code]increment[/code] が負"
-"の値ならば、 [code]final - 1[/code] は [code]final + 1[/code] になります。ま"
-"た、その initial の値もループを実行するために final の値より大きくなければい"
-"けません。\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"出力:\n"
-"[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
-"[/codeblock]\n"
-"[Array] を逆順で出力するには、このように使用してください:\n"
-"[codeblock]\n"
-"var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
-"[/codeblock]\n"
-"出力:\n"
-"[codeblock]\n"
-"9\n"
-"6\n"
-"3\n"
-"[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
@@ -5269,17 +5230,25 @@ msgid "Maximum value for the mode enum."
 msgstr "モード用enumの最大値。"
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+#, fuzzy
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr "アニメーション用に複数のテクスチャを使用できるSpriteノード。"
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -5311,9 +5280,10 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr "現在のアニメーションを停止します (frameカウンターはリセットされない)。"
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
+#, fuzzy
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 "[code]frames[/code] リソースからの現在のアニメーション。この値が変わると、"
@@ -5339,9 +5309,12 @@ msgstr "[code]true[/code] であれば、テクスチャは垂直に反転され
 msgid "The displayed animation frame's index."
 msgstr "表示されているアニメーションフレームのインデックス。"
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
-msgstr "アニメーションを格納している [SpriteFrames] リソース。"
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
+msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
 #: doc/classes/SpriteBase3D.xml
@@ -5401,6 +5374,18 @@ msgstr ""
 "[code]anim[/code] という名前のアニメーションを再生します。[code]anim[/code] "
 "が指定されていない場合は、現在のアニメーションを再生します。"
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+"[code]frames[/code] リソースからの現在のアニメーション。この値が変わると、"
+"[code]frame[/code] カウンタはリセットされます。"
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr "アニメーションを格納している [SpriteFrames] リソース。"
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr "シンプルなフレームベース アニメーションのためのプロキシ テクスチャ。"
@@ -6112,11 +6097,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr "補間なし (直近の値) 。"
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr "線形補間。"
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr "キュービック補間。"
 
@@ -7413,11 +7398,15 @@ msgstr ""
 "code] に変更します。"
 
 #: doc/classes/AnimationPlayer.xml
+#, fuzzy
 msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 "アニメーションを [code]seconds[/code] (秒) 時点までシークします。もし "
 "[code]update[/code] が [code]true[/code] であればアニメーションも同時更新さ"
@@ -9056,7 +9045,10 @@ msgstr ""
 "配列をクリアします。これは、[code]0[/code]のサイズで[method resize]を使用する"
 "のと同じです。"
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr "要素の配列内での出現回数を返します。"
 
@@ -9107,10 +9099,15 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
+#, fuzzy
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 "配列の値を検索し、そのインデックスを返すか、見つからなかった場合は [code]-1[/"
 "code] を返します。オプションで、検索の開始位置を渡せます。"
@@ -9278,11 +9275,16 @@ msgstr ""
 "くすれば、要素は除去され、大きくすれば、新しい要素は[code]null[/code]になりま"
 "す。"
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
+#, fuzzy
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 "配列を逆順に検索します。オプションで、検索開始インデックスを渡すことができま"
 "す。負の値を指定した場合、開始インデックスは配列の末尾からの相対的なものとみ"
@@ -10592,7 +10594,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -10912,7 +10914,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -14611,17 +14613,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -16949,7 +16951,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -17046,7 +17050,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -25561,6 +25567,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "[code]true[/code]の場合、フィードバックが有効になります。"
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -29185,10 +29196,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -37805,13 +37829,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -38527,6 +38551,15 @@ msgstr ""
 msgid "Creates the agent."
 msgstr "指定されたノードの名前を変えます。"
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+#, fuzzy
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+"キー [code]name[/code] を持つ [Animation] を返すか、見つからない場合は "
+"[code]null[/code] を返します。"
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
@@ -38598,6 +38631,12 @@ msgstr "指定された遷移を返します。"
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -38628,6 +38667,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -38651,6 +38696,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -39144,19 +39195,59 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr "[enum Feature] enum のサイズを表します。"
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 #, fuzzy
-msgid "Clears the navigation mesh."
-msgstr "すべての点およびセグメントをクリアします。"
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "キー名 [code]name[/code] のアニメーションを削除します。"
 
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
@@ -39176,7 +39267,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -39225,6 +39319,11 @@ msgid ""
 "system."
 msgstr "指定された名前のアニメーションノードを返します。"
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "アニメーションのトラック数を返します。"
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -39261,6 +39360,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "アニメーションのトラック数を返します。"
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -40455,7 +40559,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -40463,8 +40567,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -40756,14 +40860,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -40896,6 +40992,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -41058,6 +41163,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -42307,10 +42430,13 @@ msgid "Returns the tooltip of the item at index [code]idx[/code]."
 msgstr "インデックス [code]bus_idx[/code] のバスの音量を dB で返します。"
 
 #: doc/classes/OptionButton.xml
+#, fuzzy
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
+"配列の最初の要素を削除して返します。配列が空の場合は[code]null[/code]を返しま"
+"す。"
 
 #: doc/classes/OptionButton.xml
 msgid ""
@@ -42330,7 +42456,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -47719,6 +47846,17 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+"文字列の長さが [code]0[/code] に等しければ [code]true[/code] を返します。"
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -48531,6 +48669,11 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+#, fuzzy
+msgid "[Font] used for the labeled separator."
+msgstr "編集済みプロパティ用のヒントなし。"
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -51997,19 +52140,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -56876,8 +57006,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -56898,8 +57035,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 273 - 103
doc/translations/ko.po

@@ -13,12 +13,13 @@
 # dewcked <[email protected]>, 2021.
 # 신동규 <[email protected]>, 2021.
 # whatthesamuel <[email protected]>, 2021.
+# 한수현 <[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: 2021-11-19 08:44+0000\n"
-"Last-Translator: Myeongjin Lee <[email protected]>\n"
+"PO-Revision-Date: 2022-05-15 09:38+0000\n"
+"Last-Translator: 한수현 <[email protected]>\n"
 "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
 "godot-class-reference/ko/>\n"
 "Language: ko\n"
@@ -26,11 +27,11 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.9.1-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
 
 #: doc/tools/make_rst.py
 msgid "Description"
-msgstr "설명"
+msgstr "서술"
 
 #: doc/tools/make_rst.py
 msgid "Tutorials"
@@ -50,7 +51,7 @@ msgstr "테마 속성들"
 
 #: doc/tools/make_rst.py
 msgid "Signals"
-msgstr "시그널"
+msgstr "신호"
 
 #: doc/tools/make_rst.py
 msgid "Enumerations"
@@ -91,7 +92,7 @@ msgstr ""
 
 #: doc/tools/make_rst.py
 msgid "Setter"
-msgstr ""
+msgstr "Setter"
 
 #: doc/tools/make_rst.py
 msgid "value"
@@ -99,7 +100,7 @@ msgstr ""
 
 #: doc/tools/make_rst.py
 msgid "Getter"
-msgstr ""
+msgstr "Getter"
 
 #: doc/tools/make_rst.py
 msgid ""
@@ -1046,11 +1047,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -1103,37 +1105,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4234,17 +4235,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4272,9 +4280,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4298,8 +4306,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4351,6 +4362,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4867,11 +4888,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5907,7 +5928,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7098,7 +7122,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7143,10 +7170,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7284,11 +7315,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8423,7 +8458,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8645,7 +8680,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11759,17 +11794,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -14022,7 +14057,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14118,7 +14155,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22624,6 +22663,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "매개변수의 코사인 값을 반환합니다."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26211,10 +26255,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34751,13 +34808,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35468,6 +35525,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35537,6 +35600,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -35564,6 +35633,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -35587,6 +35662,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -36066,19 +36147,60 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
+#: doc/classes/NavigationMeshGenerator.xml
+#, fuzzy
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "매개변수의 사인 값을 반환합니다."
+
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
 msgstr ""
@@ -36097,7 +36219,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36142,6 +36267,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "매개변수의 사인 값을 반환합니다."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36178,6 +36308,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "매개변수의 사인 값을 반환합니다."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -36971,7 +37106,7 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid "Nodes and Scenes"
-msgstr ""
+msgstr "노드와 씬"
 
 #: doc/classes/Node.xml
 msgid "All Demos"
@@ -37492,7 +37627,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37500,8 +37635,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37793,14 +37928,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37933,6 +38060,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -38095,6 +38231,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39338,7 +39492,7 @@ msgstr "매개변수의 사인 값을 반환합니다."
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39360,7 +39514,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44712,6 +44867,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45505,6 +45669,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48952,19 +49120,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53796,8 +53951,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53818,8 +53980,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/lv.po

@@ -949,11 +949,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -997,37 +998,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4122,17 +4122,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4160,9 +4167,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4186,8 +4193,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4239,6 +4249,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4754,11 +4774,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5793,7 +5813,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6983,7 +7006,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7028,10 +7054,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7169,11 +7199,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8308,7 +8342,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8530,7 +8564,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11641,17 +11675,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13900,7 +13934,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13996,7 +14032,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22402,6 +22440,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25985,10 +26027,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34510,13 +34565,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35221,6 +35276,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35284,6 +35345,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35310,6 +35377,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35331,6 +35404,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35804,17 +35883,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35835,7 +35954,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35880,6 +36002,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35916,6 +36042,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37101,7 +37231,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37109,8 +37239,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37402,14 +37532,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37542,6 +37664,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37704,6 +37835,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38945,7 +39094,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38967,7 +39116,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44294,6 +44444,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45086,6 +45245,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48532,19 +48695,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53374,8 +53524,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53396,8 +53553,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/mr.po

@@ -932,11 +932,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -980,37 +981,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4105,17 +4105,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4143,9 +4150,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4169,8 +4176,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4222,6 +4232,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4737,11 +4757,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5776,7 +5796,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6966,7 +6989,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7011,10 +7037,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7152,11 +7182,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8291,7 +8325,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8513,7 +8547,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11624,17 +11658,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13883,7 +13917,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13979,7 +14015,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22385,6 +22423,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25965,10 +26007,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34490,13 +34545,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35201,6 +35256,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35264,6 +35325,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35290,6 +35357,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35311,6 +35384,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35784,17 +35863,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35815,7 +35934,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35860,6 +35982,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35896,6 +36022,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37081,7 +37211,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37089,8 +37219,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37382,14 +37512,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37522,6 +37644,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37684,6 +37815,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38925,7 +39074,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38947,7 +39096,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44274,6 +44424,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45066,6 +45225,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48512,19 +48675,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53354,8 +53504,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53376,8 +53533,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/nb.po

@@ -944,11 +944,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -992,37 +993,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4117,17 +4117,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4155,9 +4162,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4181,8 +4188,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4234,6 +4244,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4749,11 +4769,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5788,7 +5808,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6978,7 +7001,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7023,10 +7049,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7164,11 +7194,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8303,7 +8337,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8525,7 +8559,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11636,17 +11670,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13895,7 +13929,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13991,7 +14027,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22397,6 +22435,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25977,10 +26019,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34502,13 +34557,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35213,6 +35268,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35276,6 +35337,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35302,6 +35369,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35323,6 +35396,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35796,17 +35875,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35827,7 +35946,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35872,6 +35994,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35908,6 +36034,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37093,7 +37223,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37101,8 +37231,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37394,14 +37524,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37534,6 +37656,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37696,6 +37827,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38937,7 +39086,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38959,7 +39108,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44286,6 +44436,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45078,6 +45237,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48524,19 +48687,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53366,8 +53516,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53388,8 +53545,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/ne.po

@@ -932,11 +932,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -980,37 +981,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4105,17 +4105,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4143,9 +4150,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4169,8 +4176,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4222,6 +4232,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4737,11 +4757,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5776,7 +5796,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6966,7 +6989,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7011,10 +7037,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7152,11 +7182,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8291,7 +8325,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8513,7 +8547,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11624,17 +11658,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13883,7 +13917,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13979,7 +14015,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22385,6 +22423,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25965,10 +26007,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34490,13 +34545,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35201,6 +35256,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35264,6 +35325,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35290,6 +35357,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35311,6 +35384,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35784,17 +35863,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35815,7 +35934,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35860,6 +35982,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35896,6 +36022,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37081,7 +37211,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37089,8 +37219,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37382,14 +37512,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37522,6 +37644,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37684,6 +37815,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38925,7 +39074,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38947,7 +39096,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44274,6 +44424,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45066,6 +45225,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48512,19 +48675,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53354,8 +53504,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53376,8 +53533,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/nl.po

@@ -993,11 +993,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -1041,37 +1042,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4174,17 +4174,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4212,9 +4219,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4238,8 +4245,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4291,6 +4301,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4806,11 +4826,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5845,7 +5865,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7035,7 +7058,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7080,10 +7106,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7221,11 +7251,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8360,7 +8394,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8582,7 +8616,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11693,17 +11727,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13952,7 +13986,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14048,7 +14084,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22454,6 +22492,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26037,10 +26079,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34562,13 +34617,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35273,6 +35328,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35336,6 +35397,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35362,6 +35429,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35383,6 +35456,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35856,17 +35935,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35887,7 +36006,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35932,6 +36054,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35968,6 +36094,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37153,7 +37283,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37161,8 +37291,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37454,14 +37584,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37594,6 +37716,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37756,6 +37887,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38997,7 +39146,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39019,7 +39168,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44346,6 +44496,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45138,6 +45297,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48584,19 +48747,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53427,8 +53577,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53449,8 +53606,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 288 - 99
doc/translations/pl.po

@@ -22,12 +22,14 @@
 # lewando54 <[email protected]>, 2022.
 # Katarzyna Twardowska <[email protected]>, 2022.
 # Mateusz Zdrzałek <[email protected]>, 2022.
+# Pixel Zone - Godot Engine Tutorials <[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-03-21 22:22+0000\n"
-"Last-Translator: Mateusz Zdrzałek <[email protected]>\n"
+"PO-Revision-Date: 2022-05-15 20:00+0000\n"
+"Last-Translator: Pixel Zone - Godot Engine Tutorials "
+"<[email protected]>\n"
 "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
 "godot-class-reference/pl/>\n"
 "Language: pl\n"
@@ -36,7 +38,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
 
 #: doc/tools/make_rst.py
 msgid "Description"
@@ -258,7 +260,6 @@ msgstr ""
 "[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
 msgid ""
 "Asserts that the [code]condition[/code] is [code]true[/code]. If the "
 "[code]condition[/code] is [code]false[/code], an error is generated. When "
@@ -518,6 +519,23 @@ msgid ""
 "want a true content-aware comparison, you have to use [code]deep_equal[/"
 "code]."
 msgstr ""
+"Porównuje dwie wartości, sprawdzając ich rzeczywistą zawartość, przechodząc "
+"do dowolnej „tablicy” lub „słownika” aż do najgłębszego poziomu.\n"
+"Można to porównać do [code]==[/code] na kilka sposobów:\n"
+"— Dla [kod]null[/code], [kod]int[/code], [code]float[/code], [code]String[/"
+"code], [code]Object[/code] i [code] RID[/code] zarówno [code]deep_equal[/"
+"code], jak i [code]==[/code] działają tak samo.\n"
+"— W przypadku [code]Słownik[/code] [code]==[/code] uwzględnia równość wtedy "
+"i tylko wtedy, gdy obie zmienne wskazują ten sam [code]Słownik[/code], bez "
+"rekurencji lub świadomości zawartość w ogóle.\n"
+"— W przypadku [kod]Tablica[/kod] [kod]==[/kod] uwzględnia równość wtedy i "
+"tylko wtedy, gdy każdy element w pierwszej [kod]Tablica[/kod] jest równy "
+"swojemu odpowiednikowi w drugiej [ kod]Tablica[/kod], jak mówi sam [kod]==[/"
+"kod]. Oznacza to, że [code]==[/code] jest rekursywny w [code]Tablicy[/code], "
+"ale nie w [code]Słowniku[/code].\n"
+"Krótko mówiąc, za każdym razem, gdy potencjalnie zaangażowany jest "
+"[code]Słownik[/code], jeśli chcesz prawdziwego porównania uwzględniającego "
+"zawartość, musisz użyć [code]deep_equal[/code]."
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
@@ -1379,11 +1397,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -1427,37 +1446,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4583,17 +4601,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4621,9 +4646,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4647,8 +4672,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4700,6 +4728,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -5216,11 +5254,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -6257,7 +6295,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7454,7 +7495,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7499,10 +7543,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7640,11 +7688,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8779,7 +8831,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -9001,7 +9053,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -12116,17 +12168,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -14387,7 +14439,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14483,7 +14537,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22909,6 +22965,13 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+"Jeśli [code]true[/code], potomne węzły są sortowane. W innym przypadku jest "
+"wyłączone."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26499,10 +26562,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -35058,13 +35134,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35776,6 +35852,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
@@ -35848,6 +35930,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -35875,6 +35963,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -35900,6 +35994,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -36389,19 +36489,60 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
+#: doc/classes/NavigationMeshGenerator.xml
+#, fuzzy
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "Liczy iloczyn wektorowy tego wektora oraz [code]with[/code]."
+
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
 msgstr ""
@@ -36420,7 +36561,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36466,6 +36610,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "Zwraca sinus parametru."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36502,6 +36651,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "Zwraca sinus parametru."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37691,7 +37845,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37699,8 +37853,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37992,14 +38146,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -38132,6 +38278,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -38294,6 +38449,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39536,7 +39709,7 @@ msgstr "Liczy iloczyn wektorowy tego wektora oraz [code]b[/code]."
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39558,7 +39731,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44932,6 +45106,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45725,6 +45908,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -49172,19 +49359,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -54027,8 +54201,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -54049,8 +54230,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 268 - 97
doc/translations/pt.po

@@ -1439,12 +1439,14 @@ msgstr ""
 "[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 "Intervalo aleatório, retorna qualquer número real entre [code]from[/code] e "
 "[code]to[/code].\n"
@@ -1517,37 +1519,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4878,17 +4879,25 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+#, fuzzy
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr "Nó Sprite que pode usar várias texturas para animação."
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4916,9 +4925,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4942,9 +4951,12 @@ msgstr "Se [code]true[/code], a textura será invertida verticalmente."
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
-msgstr "O recurso [SpriteFrames] que contém a(s) animação(ões)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
+msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
 #: doc/classes/SpriteBase3D.xml
@@ -4997,6 +5009,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr "O recurso [SpriteFrames] que contém a(s) animação(ões)."
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -5515,11 +5537,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr "Interpolação linear."
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr "Interpolação cúbica."
 
@@ -6564,7 +6586,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7755,7 +7780,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7800,10 +7828,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7941,11 +7973,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -9080,7 +9116,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -9302,7 +9338,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -12418,17 +12454,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -14703,7 +14739,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14800,7 +14838,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -23230,6 +23270,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "Se [code]true[/code], o áudio está sendo reproduzido."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26818,10 +26863,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -35350,13 +35408,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -36062,6 +36120,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr "Retorna a escala."
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
@@ -36132,6 +36196,12 @@ msgstr "Retorna o [RID] do objeto."
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -36159,6 +36229,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -36182,6 +36258,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -36661,19 +36743,59 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 #, fuzzy
-msgid "Clears the navigation mesh."
-msgstr "Limpa a seleção."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "Retorna o nome do nó em [code]idx[/code]."
 
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
@@ -36693,7 +36815,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36740,6 +36865,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "Retorna o RID do ecrã usada por essa camada."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36776,6 +36906,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "Retorna o RID do ecrã usada por essa camada."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37964,7 +38099,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37972,8 +38107,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -38265,14 +38400,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -38405,6 +38532,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -38567,6 +38703,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39809,7 +39963,7 @@ msgstr "Retorna o tipo do nó em at [code]idx[/code]."
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39831,7 +39985,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -45162,6 +45317,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45955,6 +46119,11 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+#, fuzzy
+msgid "[Font] used for the labeled separator."
+msgstr "Não há sugestão para a propriedade editada."
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -49402,19 +49571,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -54248,8 +54404,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -54270,8 +54433,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 268 - 113
doc/translations/pt_BR.po

@@ -1495,12 +1495,14 @@ msgstr ""
 "[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 "Intervalo aleatório, retorna qualquer número real entre [code]from[/code] e "
 "[code]to[/code].\n"
@@ -1573,39 +1575,37 @@ msgstr ""
 "[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -1614,21 +1614,6 @@ msgid ""
 "3\n"
 "[/codeblock]"
 msgstr ""
-"o intervalo fornecido. Rar tcodeJNt / codec (O tO tcodejNt / codec- 1), dois "
-"argumentos (tcodelinitiall / codec, Retu rns ana rrz pode ser I arg "
-"jcodejtinal- iUc. JcodeJfinat- IUcodeJ, lco adel). Retorna uma matriz vazia "
-"se o intervalo não for ou três argumentos (lcc 5, -1) t / codel ou £ code s, "
-"i) t / codel »ji: ode pode ter I argumento N tfcodejol / codec ta jcodeJN - "
-"iUcadel) , dois argumentos (jcadejinitiat Retorna uma matriz com o intervalo "
-"fornecido. lcoi Ucadel, jcodeJrinat- tUcodel) ou três argumentos Cjcode "
-"tcodelfinal - ll / (pode ser negativo, tcodelfinal - it / codec se tornará "
-"lco nal + ll / codec. Além disso, o init negativo. Se jcode! deve ser maior "
-"que o valor final para o loop ser executado.ii [codeblockljPi print (range "
-"(4)) ii print (range (2, S)) ii print (range (o, 6, 2)) ii [/ codeblocklji "
-"OUtPUt: ipi [codeblockljPi to, i, 2, 3li.i to, 2, 4lij [/ codeblocklji Td "
-"iterar sobre um tArrayl para trás, use: g [codeblockljPi va ra rray: t3, 6, "
-"0J + va ri :: a rray.size0 - enquanto i): Oÿ11 r \"Sprint (arraytil) ii [/ "
-"codeblocklji OUtPUt: ipi [codeblockljPi [/ codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
@@ -5133,17 +5118,25 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+#, fuzzy
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr "Nó Sprite que pode usar várias texturas para animação."
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -5171,9 +5164,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -5197,9 +5190,12 @@ msgstr "Se [code]true[/code], a textura será invertida verticalmente."
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
-msgstr "O recurso [SpriteFrames] que contém a(s) animação(ões)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
+msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
 #: doc/classes/SpriteBase3D.xml
@@ -5252,6 +5248,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr "O recurso [SpriteFrames] que contém a(s) animação(ões)."
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -5771,11 +5777,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr "Interpolação linear."
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr "Interpolação cúbica."
 
@@ -6819,7 +6825,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -8025,7 +8034,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -8070,10 +8082,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8211,11 +8227,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -9350,7 +9370,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -9572,7 +9592,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -12692,17 +12712,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -14984,7 +15004,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -15081,7 +15103,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -23551,6 +23575,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "Retorna [code]true[/code] se o script pode ser instanciado."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -27149,10 +27178,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -35718,13 +35760,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -36437,6 +36479,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr "Retorna a escala."
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
@@ -36508,6 +36556,12 @@ msgstr "Retorna o [RID] do objeto."
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -36535,6 +36589,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -36558,6 +36618,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -37046,19 +37112,59 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 #, fuzzy
-msgid "Clears the navigation mesh."
-msgstr "Limpa a seleção."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "Retorna o nome do nó em [code]idx[/code]."
 
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
@@ -37078,7 +37184,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -37126,6 +37235,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "Retorna o número de nós nesta [SceneTree]."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -37162,6 +37276,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "Retorna o número de nós nesta [SceneTree]."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -38351,7 +38470,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -38359,8 +38478,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -38652,14 +38771,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -38792,6 +38903,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -38954,6 +39074,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -40196,7 +40334,7 @@ msgstr "Retorna o tipo do nó em at [code]idx[/code]."
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -40218,7 +40356,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -45594,6 +45733,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -46389,6 +46537,11 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+#, fuzzy
+msgid "[Font] used for the labeled separator."
+msgstr "Nenhuma dica para a propriedade editada."
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -49837,19 +49990,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -54693,8 +54833,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -54715,8 +54862,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 290 - 113
doc/translations/ro.po

@@ -8,12 +8,13 @@
 # Pierre Stempin <[email protected]>, 2020.
 # FlooferLand <[email protected]>, 2021.
 # N3mEee <[email protected]>, 2021.
+# Psynt <[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: 2021-12-14 15:28+0000\n"
-"Last-Translator: N3mEee <n3mebusiness@gmail.com>\n"
+"PO-Revision-Date: 2022-05-15 09:39+0000\n"
+"Last-Translator: Psynt <nichita@cadvegra.com>\n"
 "Language-Team: Romanian <https://hosted.weblate.org/projects/godot-engine/"
 "godot-class-reference/ro/>\n"
 "Language: ro\n"
@@ -22,7 +23,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
 "20)) ? 1 : 2;\n"
-"X-Generator: Weblate 4.10-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
 
 #: doc/tools/make_rst.py
 msgid "Description"
@@ -65,73 +66,74 @@ msgid "Method Descriptions"
 msgstr "Descrierile Metodei"
 
 #: doc/tools/make_rst.py
-#, fuzzy
 msgid "Theme Property Descriptions"
-msgstr "Descrieri Proprietate"
+msgstr "Descrieri Proprietate Tema"
 
 #: doc/tools/make_rst.py
 msgid "Inherits:"
-msgstr ""
+msgstr "Mosteneste:"
 
 #: doc/tools/make_rst.py
 msgid "Inherited By:"
-msgstr ""
+msgstr "Mostenit de:"
 
 #: doc/tools/make_rst.py
 msgid "(overrides %s)"
-msgstr ""
+msgstr "(suprascrie %s)"
 
 #: doc/tools/make_rst.py
 msgid "Default"
-msgstr ""
+msgstr "Implicit"
 
 #: doc/tools/make_rst.py
 msgid "Setter"
-msgstr ""
+msgstr "setter"
 
 #: doc/tools/make_rst.py
 msgid "value"
-msgstr ""
+msgstr "valoare"
 
 #: doc/tools/make_rst.py
 msgid "Getter"
-msgstr ""
+msgstr "getter"
 
 #: doc/tools/make_rst.py
 msgid ""
 "This method should typically be overridden by the user to have any effect."
-msgstr ""
+msgstr "Pentru a avea efectul dorit, metoda trebuie suprascrisa de utilizator."
 
 #: doc/tools/make_rst.py
 msgid ""
 "This method has no side effects. It doesn't modify any of the instance's "
 "member variables."
-msgstr ""
+msgstr "Metoda nu are efecte adverse. Nu modifica niciun camp al obiectului."
 
 #: doc/tools/make_rst.py
 msgid ""
 "This method accepts any number of arguments after the ones described here."
-msgstr ""
+msgstr "Metoda accepta oricate argumente in urma celor definite aici."
 
 #: doc/tools/make_rst.py
 msgid "This method is used to construct a type."
-msgstr ""
+msgstr "Metoda folosita la construirea unui tip."
 
 #: doc/tools/make_rst.py
 msgid ""
 "This method doesn't need an instance to be called, so it can be called "
 "directly using the class name."
 msgstr ""
+"Nu e nevoie de o instanta. Metoda asta poate fi apelata direct folosind "
+"numele clasei."
 
 #: doc/tools/make_rst.py
 msgid ""
 "This method describes a valid operator to use with this type as left-hand "
 "operand."
-msgstr ""
+msgstr "Operator cu tipul descris la stanga."
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid "Built-in GDScript functions."
-msgstr "Funcțiile incorporate GDScript."
+msgstr "Funcții incorporate GDScript."
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
@@ -156,6 +158,16 @@ msgid ""
 "red = Color8(255, 0, 0)\n"
 "[/codeblock]"
 msgstr ""
+"Returnează o culoare construită din canalele cu valori întregi roșu, verde, "
+"albastru, și alpha. Fiecare canal ar trebui să aibă 8 biți de informație de "
+"la 0 la 255.\n"
+"[code] r8 [/code] canalul roșu\n"
+"[code] g8 [/code] canalul verde\n"
+"[code] b8 [/code] canalul albastru\n"
+"[code] a8 [/code] canalul alpha\n"
+"[codeblock]\n"
+"roșu = Color8(255, 0 0)\n"
+"[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
@@ -948,11 +960,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -996,37 +1009,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4125,17 +4137,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4163,9 +4182,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4189,8 +4208,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4242,6 +4264,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4757,11 +4789,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5796,7 +5828,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6986,7 +7021,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7031,10 +7069,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7172,11 +7214,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8311,7 +8357,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8533,7 +8579,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11644,17 +11690,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13903,7 +13949,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13999,7 +14047,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22405,6 +22455,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25988,10 +26042,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34513,13 +34580,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35224,6 +35291,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35287,6 +35360,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35313,6 +35392,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35334,6 +35419,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35807,17 +35898,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35838,7 +35969,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35883,6 +36017,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35919,6 +36057,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37104,7 +37246,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37112,8 +37254,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37405,14 +37547,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37545,6 +37679,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37707,6 +37850,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38948,7 +39109,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38970,7 +39131,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44297,6 +44459,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45089,6 +45260,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48535,19 +48710,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53377,8 +53539,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53399,8 +53568,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 280 - 135
doc/translations/ru.po

@@ -1531,12 +1531,14 @@ msgstr ""
 "[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 "Случайное значение с плавающей запятой между [code]from[/code] и [code]to[/"
 "code].\n"
@@ -1612,37 +1614,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -1651,45 +1652,6 @@ msgid ""
 "3\n"
 "[/codeblock]"
 msgstr ""
-"Возвращает массив с заданным диапазоном. Диапазон может быть одним "
-"аргументом [code]N[/code] (от [code]0[code] до [code]N - 1[/code]), двумя "
-"аргументами ([code]начальное[/code], [code]последнее - 1[/code]) или тремя "
-"аргументами ([code]начальное[/code], [code]последнее - 1[/code], [code]шаг[/"
-"code]). Если диапазон не допустим, возвращает пустой массив (например "
-"[code]range(2, 5, -1)[/code] или [code]range(5, 5, 1)[/code]).\n"
-"Возвращает массив с заданным диапазоном. Диапазон [code]range()[/code] может "
-"быть одним аргументом [code]N[/code] (от [code]0[code] до [code]N - 1[/"
-"code]), двумя аргументами ([code]начальное[/code], [code]последнее - 1[/"
-"code]) или тремя аргументами ([code]начальное[/code], [code]последнее - 1[/"
-"code], [code]шаг[/code]). [code]Шаг[/code] может быть отрицательным. Если "
-"[code]шаг[/code] отрицателен, [code]последний - 1[/code] станет "
-"[code]последний + 1[/code]. Также, чтобы цикл запустился, начальное значение "
-"должно быть больше последнего.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Вывод:\n"
-"[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
-"[/codeblock]\n"
-"Для перебора массива [Array] в обратном порядке, используйте:\n"
-"[codeblock]\n"
-"var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
-"[/codeblock]\n"
-"Вывод:\n"
-"[codeblock]\n"
-"9\n"
-"6\n"
-"3\n"
-"[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
@@ -5411,18 +5373,27 @@ msgid "Maximum value for the mode enum."
 msgstr "Максимальное значение для режима перечисления."
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+#, fuzzy
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 "Узел Sprite, который может использовать несколько текстур для анимации."
 
 #: doc/classes/AnimatedSprite.xml
+#, fuzzy
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 "Анимация создается с помощью ресурса [SpriteFrames], который можно настроить "
 "в редакторе с помощью панели SpriteFrames.\n"
@@ -5460,9 +5431,10 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr "Останавливает текущую анимацию (не сбрасывает счётчик кадров)."
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
+#, fuzzy
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 "Текущая анимация из ресурса [code]frames[/code]. Если изменить это значение, "
@@ -5488,9 +5460,12 @@ msgstr "Если [code]true[/code], текстура отражена по ве
 msgid "The displayed animation frame's index."
 msgstr "Индекс отображаемого кадра анимации."
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
-msgstr "Ресурс [SpriteFrames], содержащий анимацию(ы)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
+msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
 #: doc/classes/SpriteBase3D.xml
@@ -5553,6 +5528,18 @@ msgstr ""
 "Воспроизводит анимацию с именем [code]anim[/code]. Если [code]anim[/code] не "
 "указан, воспроизводится текущая анимация."
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+"Текущая анимация из ресурса [code]frames[/code]. Если изменить это значение, "
+"счетчик кадров [code]frame[/code] сбрасывается."
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr "Ресурс [SpriteFrames], содержащий анимацию(ы)."
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr "Прокси-текстура для простых покадровых анимаций."
@@ -6186,11 +6173,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -7272,7 +7259,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -8535,7 +8525,10 @@ msgstr ""
 "Очищает массив. Это эквивалентно использованию [method resize] с размером "
 "[code]0[/code]."
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr "Возвращает количество раз когда элемент встречается в массиве."
 
@@ -8587,10 +8580,15 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
+#, fuzzy
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 "Осуществляет поиск значения в массиве и возвращает индекс элемента или "
 "[code]-1[/code] если он не был найден. Дополнительно, может быть передан "
@@ -8760,11 +8758,16 @@ msgstr ""
 "размер массива уменьшен, элементы будут очищены, если больший, новые "
 "элементы установятся в [code]null[/code]."
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
+#, fuzzy
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 "Осуществляет поиск значения по массиву в обратном порядке. Дополнительно, "
 "может быть передан начальный индекс поиска. Если он будет отрицательный "
@@ -9941,7 +9944,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -10163,7 +10166,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -13298,17 +13301,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -15585,7 +15588,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -15681,7 +15686,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -24222,6 +24229,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "Если [code]true[/code], текстура будет центрирована."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -27820,10 +27832,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -36399,13 +36424,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -37118,6 +37143,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
@@ -37188,6 +37219,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -37218,6 +37255,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -37241,6 +37284,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -37728,19 +37777,60 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr "Представляет размер перечисления [enum Variant.Type]."
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
+#: doc/classes/NavigationMeshGenerator.xml
+#, fuzzy
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "Возвращает скалярное произведение с вектором [code]b[/code]."
+
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
 msgstr ""
@@ -37759,7 +37849,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -37805,6 +37898,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "Возвращает количество дорожек в анимации."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -37841,6 +37939,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "Возвращает количество дорожек в анимации."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -39113,7 +39216,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -39121,8 +39224,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -39414,14 +39517,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -39554,6 +39649,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -39716,6 +39820,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -40962,10 +41084,13 @@ msgid "Returns the tooltip of the item at index [code]idx[/code]."
 msgstr "Возвращает скалярное произведение с вектором [code]b[/code]."
 
 #: doc/classes/OptionButton.xml
+#, fuzzy
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
+"Удаляет и возвращает первый элемент массива. Возвращает [code]null[/code] "
+"если массив пустой."
 
 #: doc/classes/OptionButton.xml
 msgid ""
@@ -40985,7 +41110,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -46367,6 +46493,18 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+"Возвращает [code]true[/code] если [code]a[/code] и [code]b[/code] "
+"приблизительно равны друг другу."
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -47179,6 +47317,11 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+#, fuzzy
+msgid "[Font] used for the labeled separator."
+msgstr "Нет подсказки для отредактированного свойства."
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -50639,19 +50782,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -55541,8 +55671,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -55563,8 +55700,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/sk.po

@@ -935,11 +935,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -983,37 +984,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4108,17 +4108,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4146,9 +4153,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4172,8 +4179,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4225,6 +4235,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4740,11 +4760,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5779,7 +5799,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6969,7 +6992,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7014,10 +7040,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7155,11 +7185,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8294,7 +8328,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8516,7 +8550,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11627,17 +11661,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13886,7 +13920,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13982,7 +14018,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22388,6 +22426,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25971,10 +26013,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34496,13 +34551,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35207,6 +35262,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35270,6 +35331,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35296,6 +35363,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35317,6 +35390,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35790,17 +35869,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35821,7 +35940,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35866,6 +35988,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35902,6 +36028,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37087,7 +37217,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37095,8 +37225,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37388,14 +37518,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37528,6 +37650,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37690,6 +37821,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38931,7 +39080,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38953,7 +39102,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44280,6 +44430,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45072,6 +45231,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48518,19 +48681,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53360,8 +53510,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53382,8 +53539,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/sr_Cyrl.po

@@ -946,11 +946,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -994,37 +995,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4119,17 +4119,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4157,9 +4164,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4183,8 +4190,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4236,6 +4246,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4751,11 +4771,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5790,7 +5810,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6980,7 +7003,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7025,10 +7051,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7166,11 +7196,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8305,7 +8339,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8527,7 +8561,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11638,17 +11672,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13897,7 +13931,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13993,7 +14029,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22399,6 +22437,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25982,10 +26024,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34507,13 +34562,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35218,6 +35273,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35281,6 +35342,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35307,6 +35374,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35328,6 +35401,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35801,17 +35880,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35832,7 +35951,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35877,6 +35999,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35913,6 +36039,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37098,7 +37228,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37106,8 +37236,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37399,14 +37529,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37539,6 +37661,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37701,6 +37832,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38942,7 +39091,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38964,7 +39113,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44291,6 +44441,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45083,6 +45242,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48529,19 +48692,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53371,8 +53521,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53393,8 +53550,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/sv.po

@@ -935,11 +935,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -983,37 +984,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4108,17 +4108,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4146,9 +4153,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4172,8 +4179,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4225,6 +4235,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4740,11 +4760,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5779,7 +5799,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -6969,7 +6992,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7014,10 +7040,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7155,11 +7185,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8294,7 +8328,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8516,7 +8550,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11627,17 +11661,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13886,7 +13920,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -13982,7 +14018,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22388,6 +22426,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -25968,10 +26010,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34493,13 +34548,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35204,6 +35259,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35267,6 +35328,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35293,6 +35360,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35314,6 +35387,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35787,17 +35866,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35818,7 +35937,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35863,6 +35985,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35899,6 +36025,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37084,7 +37214,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37092,8 +37222,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37385,14 +37515,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37525,6 +37647,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37687,6 +37818,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -38928,7 +39077,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -38950,7 +39099,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44277,6 +44427,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45069,6 +45228,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48515,19 +48678,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53357,8 +53507,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53379,8 +53536,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 260 - 95
doc/translations/th.po

@@ -1020,11 +1020,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -1068,37 +1069,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4209,17 +4209,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4247,9 +4254,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4273,8 +4280,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4326,6 +4336,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4841,11 +4861,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5883,7 +5903,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7074,7 +7097,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7119,10 +7145,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7260,11 +7290,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8399,7 +8433,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8621,7 +8655,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11733,17 +11767,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13994,7 +14028,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14090,7 +14126,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22497,6 +22535,10 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26082,10 +26124,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34662,13 +34717,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35373,6 +35428,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35439,6 +35500,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -35466,6 +35533,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map is active."
 msgstr ""
@@ -35488,6 +35561,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -35963,17 +36042,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35994,7 +36113,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36039,6 +36161,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36075,6 +36201,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37313,7 +37443,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37321,8 +37451,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37614,14 +37744,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37754,6 +37876,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37916,6 +38047,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39158,7 +39307,7 @@ msgstr "คืนค่าการกำหนดค่าของลำโพ
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39180,7 +39329,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44515,6 +44665,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45308,6 +45467,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48759,19 +48922,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 #, fuzzy
 msgid "General-purpose 3D proximity detection node."
@@ -53604,8 +53754,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53626,8 +53783,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 263 - 95
doc/translations/tl.po

@@ -1011,11 +1011,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -1059,37 +1060,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4184,17 +4184,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4222,9 +4229,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4248,8 +4255,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4301,6 +4311,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4816,11 +4836,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5855,7 +5875,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7045,7 +7068,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7090,10 +7116,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7231,11 +7261,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8370,7 +8404,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8592,7 +8626,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11707,17 +11741,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -13969,7 +14003,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14065,7 +14101,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22471,6 +22509,13 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+"Kung [code]true[/code], ang mga child nodes ay inaayos, kung hindi ang pag-"
+"so-sort ay hindi pinapagana."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26051,10 +26096,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34579,13 +34637,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35290,6 +35348,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
@@ -35356,6 +35420,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns the map cell size."
 msgstr ""
@@ -35382,6 +35452,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -35406,6 +35482,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Sets the map for the region."
 msgstr ""
@@ -35879,17 +35961,57 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35910,7 +36032,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -35955,6 +36080,10 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -35991,6 +36120,10 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr ""
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37176,7 +37309,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37184,8 +37317,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37477,14 +37610,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37617,6 +37742,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37779,6 +37913,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39020,7 +39172,7 @@ msgstr ""
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39042,7 +39194,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44372,6 +44525,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45164,6 +45326,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48610,19 +48776,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53452,8 +53605,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53474,8 +53634,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 266 - 95
doc/translations/tr.po

@@ -1440,12 +1440,14 @@ msgstr ""
 "[/codeblock]"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 "[code]from[/code] ve [code]to[/code] değerleri arasında rastgele bir kayan "
 "noktalı sayı üretir.\n"
@@ -1523,37 +1525,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4879,17 +4880,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4917,9 +4925,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4943,8 +4951,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4996,6 +5007,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -5512,11 +5533,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -6552,7 +6573,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7742,7 +7766,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7787,10 +7814,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7928,11 +7959,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -9067,7 +9102,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -9289,7 +9324,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -12403,17 +12438,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -14673,7 +14708,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14769,7 +14806,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -23189,6 +23228,12 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr ""
+"Eğer [code]true[/code] ise düğümler sıraya sokulur, yoksa sıraya sokulmaz."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26781,10 +26826,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -35321,13 +35379,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -36038,6 +36096,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
@@ -36109,6 +36173,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -36136,6 +36206,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -36160,6 +36236,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -36641,19 +36723,60 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
+#: doc/classes/NavigationMeshGenerator.xml
+#, fuzzy
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "Verilen değerin sinüsünü döndürür."
+
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
 msgstr ""
@@ -36672,7 +36795,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36718,6 +36844,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "Verilen değerin sinüsünü döndürür."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36754,6 +36885,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "Verilen değerin sinüsünü döndürür."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37943,7 +38079,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37951,8 +38087,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -38244,14 +38380,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -38384,6 +38512,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -38546,6 +38683,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39788,7 +39943,7 @@ msgstr "Verilen değerin sinüsünü döndürür."
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39810,7 +39965,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -45173,6 +45329,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45966,6 +46131,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -49413,19 +49582,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -54264,8 +54420,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -54286,8 +54449,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 268 - 99
doc/translations/uk.po

@@ -17,8 +17,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Godot Engine class reference\n"
 "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-04-08 07:11+0000\n"
-"Last-Translator: Гліб Соколов <[email protected]>\n"
+"PO-Revision-Date: 2022-05-15 09:39+0000\n"
+"Last-Translator: Мирослав <[email protected]>\n"
 "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
 "godot-class-reference/uk/>\n"
 "Language: uk\n"
@@ -27,7 +27,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
 
 #: doc/tools/make_rst.py
 msgid "Description"
@@ -1078,11 +1078,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -1126,37 +1127,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4258,17 +4258,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4296,9 +4303,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4322,8 +4329,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4375,6 +4385,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4891,11 +4911,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5931,7 +5951,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7127,7 +7150,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7172,10 +7198,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7313,11 +7343,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8452,7 +8486,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8674,7 +8708,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11789,17 +11823,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -14054,7 +14088,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14150,7 +14186,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -18042,7 +18080,7 @@ msgstr ""
 #: modules/csg/doc_classes/CSGShape.xml modules/csg/doc_classes/CSGSphere.xml
 #: modules/csg/doc_classes/CSGTorus.xml
 msgid "Prototyping levels with CSG"
-msgstr ""
+msgstr "Прототипування рівнів з CSG"
 
 #: modules/csg/doc_classes/CSGBox.xml
 msgid "Depth of the box measured from the center of the box."
@@ -22566,6 +22604,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "Повертає косинус параметра."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26150,10 +26193,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34690,13 +34746,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35408,6 +35464,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35477,6 +35539,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -35504,6 +35572,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -35527,6 +35601,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -36007,19 +36087,60 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
+#: doc/classes/NavigationMeshGenerator.xml
+#, fuzzy
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "Обчислює векторний добуток двох векторів та [code]with[/code]."
+
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
 msgstr ""
@@ -36038,7 +36159,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36083,6 +36207,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "Повертає синус параметра."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36119,6 +36248,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "Повертає синус параметра."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37308,7 +37442,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37316,8 +37450,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37609,14 +37743,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37749,6 +37875,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37911,6 +38046,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39153,7 +39306,7 @@ msgstr "Обчислює векторний добуток цього векто
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39175,7 +39328,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44529,6 +44683,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45322,6 +45485,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48769,19 +48936,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53613,8 +53767,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53635,8 +53796,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

+ 265 - 96
doc/translations/vi.po

@@ -1295,11 +1295,12 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -1343,37 +1344,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4544,17 +4544,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4582,9 +4589,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4608,9 +4615,12 @@ msgstr "Nếu [code]true[/code] thì lật dọc họa tiết."
 msgid "The displayed animation frame's index."
 msgstr "Số thứ tự khung hình của hoạt ảnh đang chạy."
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
-msgstr "Tài nguyên [SpriteFrames] chứa (các) hoạt ảnh."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
+msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
 #: doc/classes/SpriteBase3D.xml
@@ -4665,6 +4675,16 @@ msgstr ""
 "Chạy hoạt ảnh tên là [code]anim[/code]. Nếu không cung cấp [code]anim[/code] "
 "nào, thì chạy hoạt ảnh hiện tại."
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr "Tài nguyên [SpriteFrames] chứa (các) hoạt ảnh."
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -5191,11 +5211,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -6231,7 +6251,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7422,7 +7445,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7467,10 +7493,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7608,11 +7638,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8747,7 +8781,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8969,7 +9003,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -12084,17 +12118,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -14350,7 +14384,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14446,7 +14482,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22866,6 +22904,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "Nếu [code]true[/code], họa tiết sẽ được căn ở trung tâm."
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26451,10 +26494,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34988,13 +35044,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35705,6 +35761,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
@@ -35775,6 +35837,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -35802,6 +35870,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -35825,6 +35899,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -36306,19 +36386,60 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
+#: doc/classes/NavigationMeshGenerator.xml
+#, fuzzy
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "Trả về sin của tham số."
+
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
 msgstr ""
@@ -36337,7 +36458,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36383,6 +36507,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "Trả về sin của tham số."
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36419,6 +36548,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "Trả về sin của tham số."
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37608,7 +37742,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37616,8 +37750,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37909,14 +38043,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -38049,6 +38175,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -38211,6 +38346,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39453,7 +39606,7 @@ msgstr "Trả về sin của tham số."
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39475,7 +39628,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44837,6 +44991,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45631,6 +45794,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -49081,19 +49248,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53930,8 +54084,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53952,8 +54113,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 301 - 163
doc/translations/zh_CN.po


+ 264 - 95
doc/translations/zh_TW.po

@@ -1035,11 +1035,12 @@ msgstr "aasd"
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
 "[codeblock]\n"
 "prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
 msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
@@ -1083,37 +1084,36 @@ msgstr ""
 
 #: modules/gdscript/doc_classes/@GDScript.xml
 msgid ""
-"Returns an array with the given range. Range can be 1 argument [code]N[/"
-"code] (0 to [code]N[/code] - 1), two arguments ([code]initial[/code], "
-"[code]final - 1[/code]) or three arguments ([code]initial[/code], "
-"[code]final - 1[/code], [code]increment[/code]). Returns an empty array if "
-"the range isn't valid (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, "
-"5, 1)[/code]).\n"
-"Returns an array with the given range. [code]range()[/code] can have 1 "
-"argument N ([code]0[/code] to [code]N - 1[/code]), two arguments "
-"([code]initial[/code], [code]final - 1[/code]) or three arguments "
-"([code]initial[/code], [code]final - 1[/code], [code]increment[/code]). "
-"[code]increment[/code] can be negative. If [code]increment[/code] is "
-"negative, [code]final - 1[/code] will become [code]final + 1[/code]. Also, "
-"the initial value must be greater than the final value for the loop to run.\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"Output:\n"
+"Returns an array with the given range. [method range] can be called in three "
+"ways:\n"
+"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and "
+"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is "
+"[b]exclusive[/b].\n"
+"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by "
+"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/"
+"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], "
+"respectively.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], "
+"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] "
+"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are "
+"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/"
+"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is "
+"[code]0[/code], an error message is printed.\n"
+"[method range] converts all arguments to [int] before processing.\n"
+"[b]Note:[/b] Returns an empty array if no value meets the value constraint "
+"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n"
+"Examples:\n"
 "[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
+"print(range(4))        # Prints [0, 1, 2, 3]\n"
+"print(range(2, 5))     # Prints [2, 3, 4]\n"
+"print(range(0, 6, 2))  # Prints [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
 "[/codeblock]\n"
 "To iterate over an [Array] backwards, use:\n"
 "[codeblock]\n"
 "var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-"    print(array[i])\n"
-"    i -= 1\n"
+"for i in range(array.size(), 0, -1):\n"
+"    print(array[i - 1])\n"
 "[/codeblock]\n"
 "Output:\n"
 "[codeblock]\n"
@@ -4215,17 +4215,24 @@ msgid "Maximum value for the mode enum."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml
 msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
@@ -4253,9 +4260,9 @@ msgstr ""
 msgid "Stops the current animation (does not reset the frame counter)."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
 msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
 "changes, the [code]frame[/code] counter is reset."
 msgstr ""
 
@@ -4279,8 +4286,11 @@ msgstr ""
 msgid "The displayed animation frame's index."
 msgstr ""
 
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
 msgstr ""
 
 #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
@@ -4332,6 +4342,16 @@ msgid ""
 "provided, the current animation is played."
 msgstr ""
 
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr ""
+
 #: doc/classes/AnimatedTexture.xml
 msgid "Proxy texture for simple frame-based animations."
 msgstr ""
@@ -4848,11 +4868,11 @@ msgstr ""
 msgid "No interpolation (nearest value)."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Linear interpolation."
 msgstr ""
 
-#: doc/classes/Animation.xml
+#: doc/classes/Animation.xml doc/classes/Gradient.xml
 msgid "Cubic interpolation."
 msgstr ""
 
@@ -5888,7 +5908,10 @@ msgid ""
 "Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
 "If [code]update[/code] is [code]true[/code], the animation updates too, "
 "otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
 msgstr ""
 
 #: doc/classes/AnimationPlayer.xml
@@ -7081,7 +7104,10 @@ msgid ""
 "[code]0[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid "Returns the number of times an element is in the array."
 msgstr ""
 
@@ -7126,10 +7152,14 @@ msgid ""
 "[/codeblock]"
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -7267,11 +7297,15 @@ msgid ""
 "[code]null[/code]."
 msgstr ""
 
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
 msgid ""
 "Searches the array in reverse order. Optionally, a start search index can be "
 "passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
 msgstr ""
 
 #: doc/classes/Array.xml
@@ -8406,7 +8440,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -8628,7 +8662,7 @@ msgstr ""
 msgid ""
 "Adds a new point at the given position with the given identifier. The "
 "[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must "
-"be 1 or larger.\n"
+"be 0.0 or greater.\n"
 "The [code]weight_scale[/code] is multiplied by the result of [method "
 "_compute_cost] when determining the overall cost of traveling across a "
 "segment from a neighboring point to this point. Thus, all else being equal, "
@@ -11743,17 +11777,17 @@ msgstr ""
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
 msgid ""
 "Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
 msgstr ""
 
 #: doc/classes/Camera.xml
@@ -14008,7 +14042,9 @@ msgstr ""
 #: doc/classes/CollisionPolygon2D.xml
 msgid ""
 "If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionPolygon2D.xml
@@ -14104,7 +14140,9 @@ msgstr ""
 #: doc/classes/CollisionShape2D.xml
 msgid ""
 "Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
 msgstr ""
 
 #: doc/classes/CollisionShape2D.xml
@@ -22520,6 +22558,11 @@ msgid ""
 "same behavior."
 msgstr ""
 
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "回傳參數的餘弦值。"
+
 #: doc/classes/EditorVCSInterface.xml
 msgid ""
 "Version Control System (VCS) interface, which reads and writes to the local "
@@ -26107,10 +26150,23 @@ msgstr ""
 msgid "Gradient's colors returned as a [PoolColorArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Defines how the colors between points of the gradient are interpolated. See "
+"[enum InterpolationMode] for available modes."
+msgstr ""
+
 #: doc/classes/Gradient.xml
 msgid "Gradient's offsets returned as a [PoolRealArray]."
 msgstr ""
 
+#: doc/classes/Gradient.xml
+msgid ""
+"Constant interpolation, color changes abruptly at each point and stays "
+"uniform between. This might cause visible aliasing when used for a gradient "
+"texture in some cases."
+msgstr ""
+
 #: doc/classes/GradientTexture.xml
 msgid "Gradient-filled texture."
 msgstr ""
@@ -34647,13 +34703,13 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
 "default easing is used from the [SceneTreeTween] that contains this Tweener."
 msgstr ""
 
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
 msgid ""
 "Sets the type of used transition from [enum Tween.TransitionType]. If not "
 "set, the default transition is used from the [SceneTreeTween] that contains "
@@ -35364,6 +35420,12 @@ msgstr ""
 msgid "Creates the agent."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 msgid "Returns [code]true[/code] if the map got changed the previous frame."
 msgstr ""
@@ -35433,6 +35495,12 @@ msgstr ""
 msgid "Create a new map."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns the map cell size."
@@ -35460,6 +35528,12 @@ msgstr ""
 msgid "Returns the navigation path to reach the destination from the origin."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Returns [code]true[/code] if the map is active."
@@ -35483,6 +35557,12 @@ msgstr ""
 msgid "Creates a new region."
 msgstr ""
 
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
 #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
 #, fuzzy
 msgid "Sets the map for the region."
@@ -35963,19 +36043,60 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+msgid "Helper class for creating and clearing navigation meshes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
 msgid ""
-"Bakes the navigation mesh. This will allow you to use pathfinding with the "
-"navigation system."
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
 msgstr ""
 
 #: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
 msgstr ""
 
+#: doc/classes/NavigationMeshGenerator.xml
+#, fuzzy
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "計算兩個向量的外積。"
+
 #: doc/classes/NavigationMeshInstance.xml
 msgid "An instance of a [NavigationMesh]."
 msgstr ""
@@ -35994,7 +36115,10 @@ msgid ""
 "thread is useful because navigation baking is not a cheap operation. When it "
 "is completed, it automatically sets the new [NavigationMesh]. Please note "
 "that baking on separate thread may be very slow if geometry is parsed from "
-"meshes as async access to each mesh involves heavy synchronization."
+"meshes as async access to each mesh involves heavy synchronization. Also, "
+"please note that baking on a separate thread is automatically disabled on "
+"operating systems that cannot use threads (such as HTML5 with threads "
+"disabled)."
 msgstr ""
 
 #: doc/classes/NavigationMeshInstance.xml
@@ -36039,6 +36163,11 @@ msgid ""
 "system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "回傳參數的正弦值。"
+
 #: doc/classes/NavigationObstacle.xml
 msgid ""
 "Sets the [Navigation] node used by the obstacle. Useful when you don't want "
@@ -36075,6 +36204,11 @@ msgid ""
 "navigation system."
 msgstr ""
 
+#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "回傳參數的正弦值。"
+
 #: doc/classes/NavigationObstacle2D.xml
 msgid ""
 "Sets the [Navigation2D] node used by the obstacle. Useful when you don't "
@@ -37264,7 +37398,7 @@ msgstr ""
 #: doc/classes/Node.xml
 msgid ""
 "Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
 "[b]Note:[/b] Interpolation will only be active is both the flag is set "
 "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
 "be tested using [method is_physics_interpolated_and_enabled]."
@@ -37272,8 +37406,8 @@ msgstr ""
 
 #: doc/classes/Node.xml
 msgid ""
-"Returns [code]true[/code] if physics interpolation is enabled (see [method "
-"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"Returns [code]true[/code] if physics interpolation is enabled (see [member "
+"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n"
 "This is a convenience version of [method is_physics_interpolated] that also "
 "checks whether physics interpolation is enabled globally.\n"
 "See [member SceneTree.physics_interpolation] and [member ProjectSettings."
@@ -37565,14 +37699,6 @@ msgid ""
 "peer is recursively set as the master for all children of this node."
 msgstr ""
 
-#: doc/classes/Node.xml
-msgid ""
-"Enables or disables physics interpolation per node, offering a finer grain "
-"of control than turning physics interpolation on and off globally.\n"
-"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
-"interpolation can sometimes give superior results."
-msgstr ""
-
 #: doc/classes/Node.xml
 msgid ""
 "Enables or disables physics (i.e. fixed framerate) processing. When a node "
@@ -37705,6 +37831,15 @@ msgstr ""
 msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Allows enabling or disabling physics interpolation per node, offering a "
+"finer grain of control than turning physics interpolation on and off "
+"globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid ""
 "The node's priority in the execution order of the enabled processing "
@@ -37867,6 +38002,24 @@ msgstr ""
 msgid "Continue to process regardless of the [SceneTree] pause state."
 msgstr ""
 
+#: doc/classes/Node.xml
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn off physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Turn on physics interpolation in this node and children set to [constant "
+"PHYSICS_INTERPOLATION_MODE_INHERIT]."
+msgstr ""
+
 #: doc/classes/Node.xml
 msgid "Duplicate the node's signals."
 msgstr ""
@@ -39109,7 +39262,7 @@ msgstr "計算兩個向量的外積。"
 
 #: doc/classes/OptionButton.xml
 msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
 "selected."
 msgstr ""
 
@@ -39131,7 +39284,8 @@ msgstr ""
 #: doc/classes/OptionButton.xml
 msgid ""
 "Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
 msgstr ""
 
 #: doc/classes/OptionButton.xml
@@ -44483,6 +44637,15 @@ msgid ""
 "should always be preferred."
 msgstr ""
 
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr ""
+
 #: doc/classes/PoolByteArray.xml
 msgid ""
 "Returns a hexadecimal representation of this array as a [String].\n"
@@ -45276,6 +45439,10 @@ msgstr ""
 msgid "[Font] used for the menu items."
 msgstr ""
 
+#: doc/classes/PopupMenu.xml
+msgid "[Font] used for the labeled separator."
+msgstr ""
+
 #: doc/classes/PopupMenu.xml
 msgid "[Texture] icon for the checked checkbox items."
 msgstr ""
@@ -48723,19 +48890,6 @@ msgid ""
 "interpolating. By default there's no delay."
 msgstr ""
 
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
-
 #: doc/classes/ProximityGroup.xml
 msgid "General-purpose 3D proximity detection node."
 msgstr ""
@@ -53567,8 +53721,15 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the shape to check collisions with "
 "([code]with_shape[/code]), and the transformation matrix of that shape "
@@ -53589,8 +53750,16 @@ msgstr ""
 
 #: doc/classes/Shape2D.xml
 msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
 "This method needs the transformation matrix for this shape "
 "([code]local_xform[/code]), the movement to test on this shape "
 "([code]local_motion[/code]), the shape to check collisions with "

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio