summaryrefslogtreecommitdiff
path: root/doc/translations/zh_TW.po
diff options
context:
space:
mode:
Diffstat (limited to 'doc/translations/zh_TW.po')
-rw-r--r--doc/translations/zh_TW.po3956
1 files changed, 3421 insertions, 535 deletions
diff --git a/doc/translations/zh_TW.po b/doc/translations/zh_TW.po
index c2418daa16..59cd8b199b 100644
--- a/doc/translations/zh_TW.po
+++ b/doc/translations/zh_TW.po
@@ -12,12 +12,14 @@
# Nick Chu <nickchu35@gmail.com>, 2021.
# Number18 <secretemail7730@gmail.com>, 2022.
# 曹恩逢 <nelson22768384@gmail.com>, 2022.
+# Otis Kao <momoslim@gmail.com>, 2022.
+# YuChiang Chang <chiang.c.tw@gmail.com>, 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-10 17:08+0000\n"
-"Last-Translator: 曹恩逢 <nelson22768384@gmail.com>\n"
+"PO-Revision-Date: 2022-05-31 22:35+0000\n"
+"Last-Translator: YuChiang Chang <chiang.c.tw@gmail.com>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"godot-engine/godot-class-reference/zh_Hant/>\n"
"Language: zh_TW\n"
@@ -25,7 +27,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"
@@ -68,17 +70,16 @@ msgid "Method Descriptions"
msgstr "方法說明"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "Theme Property Descriptions"
-msgstr "屬性說明"
+msgstr "主題屬性說明"
#: doc/tools/make_rst.py
msgid "Inherits:"
-msgstr ""
+msgstr "繼承:"
#: doc/tools/make_rst.py
msgid "Inherited By:"
-msgstr ""
+msgstr "繼承自:"
#: doc/tools/make_rst.py
msgid "(overrides %s)"
@@ -94,7 +95,7 @@ msgstr "Setter"
#: doc/tools/make_rst.py
msgid "value"
-msgstr ""
+msgstr "值"
#: doc/tools/make_rst.py
msgid "Getter"
@@ -103,13 +104,13 @@ msgstr ""
#: doc/tools/make_rst.py
msgid ""
"This method should typically be overridden by the user to have any effect."
-msgstr ""
+msgstr "此方法通常應由用戶覆蓋以產生任何效果。"
#: 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 "這種方法沒有副作用。它不會修改任何實例的成員變量。"
#: doc/tools/make_rst.py
msgid ""
@@ -427,7 +428,7 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Compares two values by checking their actual contents, recursing into any "
-"`Array` or `Dictionary` up to its deepest level.\n"
+"[Array] or [Dictionary] up to its deepest level.\n"
"This compares to [code]==[/code] in a number of ways:\n"
"- For [code]null[/code], [code]int[/code], [code]float[/code], [code]String[/"
"code], [code]Object[/code] and [code]RID[/code] both [code]deep_equal[/code] "
@@ -481,7 +482,7 @@ msgid ""
"- 1.0: Linear\n"
"- Greater than 1.0 (exclusive): Ease in\n"
"[/codeblock]\n"
-"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.4/img/"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.5/img/"
"ease_cheatsheet.png]ease() curve values cheatsheet[/url]\n"
"See also [method smoothstep]. If you need to perform more advanced "
"transitions, use [Tween] or [AnimationPlayer]."
@@ -729,7 +730,13 @@ msgid ""
" var max_angle = deg2rad(90.0)\n"
" rotation = lerp_angle(min_angle, max_angle, elapsed)\n"
" elapsed += delta\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This method lerps through the shortest path between [code]from[/"
+"code] and [code]to[/code]. However, when these two angles are approximately "
+"[code]PI + k * TAU[/code] apart for any integer [code]k[/code], it's not "
+"obvious which way they lerp due to floating-point precision errors. For "
+"example, [code]lerp_angle(0, PI, weight)[/code] lerps counter-clockwise, "
+"while [code]lerp_angle(0, PI + 5 * TAU, weight)[/code] lerps clockwise."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -941,7 +948,14 @@ msgid ""
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
-msgid "Like [method print], but prints only when used in debug mode."
+msgid ""
+"Like [method print], but includes the current stack frame when running with "
+"the debugger turned on.\n"
+"Output in the console would look something like this:\n"
+"[codeblock]\n"
+"Test print\n"
+" At: res://test.gd:15:_process()\n"
+"[/codeblock]"
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1029,11 +1043,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
@@ -1077,37 +1092,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"
@@ -1196,7 +1210,7 @@ msgid ""
"[method smoothstep] returns the smoothest possible curve with no sudden "
"changes in the derivative. If you need to perform more advanced transitions, "
"use [Tween] or [AnimationPlayer].\n"
-"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.4/img/"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.5/img/"
"smoothstep_ease_comparison.png]Comparison between smoothstep() and ease(x, "
"-1.6521) return values[/url]"
msgstr ""
@@ -3481,6 +3495,12 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that an integer property is a bitmask using the optionally named 2D "
+"navigation layers."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that an integer property is a bitmask using the optionally named 3D "
"render layers."
msgstr ""
@@ -3493,6 +3513,12 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that an integer property is a bitmask using the optionally named 3D "
+"navigation layers."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a string property is a path to a file. Editing it will show a "
"file dialog for picking the path. The hint string can be a set of filters "
"with wildcards like [code]\"*.png,*.jpg\"[/code]."
@@ -4209,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
@@ -4247,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 ""
@@ -4273,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
@@ -4326,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 ""
@@ -4842,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 ""
@@ -5882,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
@@ -7075,7 +7124,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 ""
@@ -7110,8 +7162,24 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
+"Assigns the given value to all elements in the array. This can typically be "
+"used together with [method resize] to create an array with a given size and "
+"initialized elements:\n"
+"[codeblock]\n"
+"var array = []\n"
+"array.resize(10)\n"
+"array.fill(0) # Initialize the 10 elements to 0.\n"
+"[/codeblock]"
+msgstr ""
+
+#: 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
@@ -7249,11 +7317,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
@@ -7463,7 +7535,7 @@ msgid ""
msgstr ""
#: doc/classes/ArrayMesh.xml
-msgid "Default value used for index_array_len when no indices are present."
+msgid "Value used internally when no indices are present."
msgstr ""
#: doc/classes/ArrayMesh.xml
@@ -7733,8 +7805,8 @@ msgstr ""
#: doc/classes/ARVRController.xml
msgid ""
"The degree to which the controller vibrates. Ranges from [code]0.0[/code] to "
-"[code]1.0[/code] with precision [code].01[/code]. If changed, updates "
-"[member ARVRPositionalTracker.rumble] accordingly.\n"
+"[code]1.0[/code]. If changed, updates [member ARVRPositionalTracker.rumble] "
+"accordingly.\n"
"This is a useful property to animate if you want the controller to vibrate "
"for a limited duration."
msgstr ""
@@ -8252,6 +8324,16 @@ msgid ""
"accordingly without losing proportions."
msgstr ""
+#: doc/classes/AspectRatioContainer.xml doc/classes/BoxContainer.xml
+#: doc/classes/CenterContainer.xml doc/classes/Container.xml
+#: doc/classes/GridContainer.xml doc/classes/HBoxContainer.xml
+#: doc/classes/HSplitContainer.xml doc/classes/MarginContainer.xml
+#: doc/classes/PanelContainer.xml doc/classes/ScrollContainer.xml
+#: doc/classes/SplitContainer.xml doc/classes/TabContainer.xml
+#: doc/classes/VBoxContainer.xml doc/classes/VSplitContainer.xml
+msgid "GUI containers"
+msgstr ""
+
#: doc/classes/AspectRatioContainer.xml
msgid "Specifies the horizontal relative position of child controls."
msgstr ""
@@ -8378,7 +8460,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, "
@@ -8417,7 +8499,7 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/AStar.xml
+#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
"Deletes the segment between the given points. If [code]bidirectional[/code] "
"is [code]false[/code], only movement from [code]id[/code] to [code]to_id[/"
@@ -8600,7 +8682,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, "
@@ -8616,7 +8698,10 @@ msgid ""
msgstr ""
#: doc/classes/AStar2D.xml
-msgid "Returns whether there is a connection/segment between the given points."
+msgid ""
+"Returns whether there is a connection/segment between the given points. If "
+"[code]bidirectional[/code] is [code]false[/code], returns whether movement "
+"from [code]id[/code] to [code]to_id[/code] is possible through this segment."
msgstr ""
#: doc/classes/AStar2D.xml
@@ -8633,10 +8718,6 @@ msgid ""
msgstr ""
#: doc/classes/AStar2D.xml
-msgid "Deletes the segment between the given points."
-msgstr ""
-
-#: doc/classes/AStar2D.xml
msgid ""
"Returns the closest position to [code]to_position[/code] that resides inside "
"a segment between two connected points.\n"
@@ -8821,7 +8902,9 @@ msgid ""
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network."
+"transmit audio over the network. When capturing audio data from a "
+"microphone, the format of the samples will be stereo 32-bit floating point "
+"PCM."
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -10004,7 +10087,13 @@ msgid "If [code]true[/code], audio plays when added to scene tree."
msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/AudioStreamPlayer2D.xml
-msgid "Bus on which this audio is playing."
+msgid ""
+"Bus on which this audio is playing.\n"
+"[b]Note:[/b] When setting this property, keep in mind that no validation is "
+"performed to see if the given name matches an existing bus. This is because "
+"audio bus layouts might be loaded after this property is set. If this given "
+"name can't be resolved at runtime, it will fall back to [code]\"Master\"[/"
+"code]."
msgstr ""
#: doc/classes/AudioStreamPlayer.xml
@@ -10169,7 +10258,13 @@ msgid ""
msgstr ""
#: doc/classes/AudioStreamPlayer3D.xml
-msgid "The bus on which this audio is playing."
+msgid ""
+"The bus on which this audio is playing.\n"
+"[b]Note:[/b] When setting this property, keep in mind that no validation is "
+"performed to see if the given name matches an existing bus. This is because "
+"audio bus layouts might be loaded after this property is set. If this given "
+"name can't be resolved at runtime, it will fall back to [code]\"Master\"[/"
+"code]."
msgstr ""
#: doc/classes/AudioStreamPlayer3D.xml
@@ -10911,7 +11006,7 @@ msgstr ""
#: doc/classes/Basis.xml doc/classes/Quat.xml doc/classes/Transform.xml
msgid "Using 3D transforms"
-msgstr ""
+msgstr "使用 3D 變換(transforms)"
#: doc/classes/Basis.xml doc/classes/Line2D.xml doc/classes/Transform.xml
#: doc/classes/Transform2D.xml doc/classes/Vector2.xml doc/classes/Vector3.xml
@@ -10951,7 +11046,7 @@ msgstr ""
#: doc/classes/Basis.xml
msgid ""
"Constructs a pure rotation basis matrix, rotated around the given "
-"[code]axis[/code] by [code]phi[/code], in radians. The axis must be a "
+"[code]axis[/code] by [code]angle[/code] (in radians). The axis must be a "
"normalized vector."
msgstr ""
@@ -11021,8 +11116,8 @@ msgstr ""
#: doc/classes/Basis.xml
msgid ""
-"Introduce an additional rotation around the given axis by phi (radians). The "
-"axis must be a normalized vector."
+"Introduce an additional rotation around the given axis by [code]angle[/code] "
+"(in radians). The axis must be a normalized vector."
msgstr ""
#: doc/classes/Basis.xml
@@ -11613,6 +11708,29 @@ msgstr ""
msgid "Emitted when one of the buttons of the group is pressed."
msgstr ""
+#: doc/classes/CallbackTweener.xml
+msgid "Calls the specified method after optional delay."
+msgstr ""
+
+#: doc/classes/CallbackTweener.xml
+msgid ""
+"[CallbackTweener] is used to call a method in a tweening sequence. See "
+"[method SceneTreeTween.tween_callback] for more usage information.\n"
+"[b]Note:[/b] [method SceneTreeTween.tween_callback] is the only correct way "
+"to create [CallbackTweener]. Any [CallbackTweener] created manually will not "
+"function correctly."
+msgstr ""
+
+#: doc/classes/CallbackTweener.xml
+msgid ""
+"Makes the callback call delayed by given time in seconds. Example:\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_callback(queue_free).set_delay(2) #this will call queue_free() "
+"after 2 seconds\n"
+"[/codeblock]"
+msgstr ""
+
#: doc/classes/Camera.xml
msgid "Camera node, displays from a point of view."
msgstr ""
@@ -11692,17 +11810,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
@@ -11760,7 +11878,12 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"If [code]true[/code], the ancestor [Viewport] is currently using this camera."
+"If [code]true[/code], the ancestor [Viewport] is currently using this "
+"camera.\n"
+"If multiple cameras are in the scene, one will always be made current. For "
+"example, if two [Camera] nodes are present in the scene and only one is "
+"current, setting one camera's [member current] to [code]false[/code] will "
+"cause the other camera to be made current."
msgstr ""
#: doc/classes/Camera.xml
@@ -12158,10 +12281,12 @@ msgid ""
msgstr ""
#: doc/classes/Camera2D.xml doc/classes/ClippedCamera.xml
+#: doc/classes/InterpolatedCamera.xml
msgid "The camera updates with the [code]_physics_process[/code] callback."
msgstr ""
#: doc/classes/Camera2D.xml doc/classes/ClippedCamera.xml
+#: doc/classes/InterpolatedCamera.xml
msgid "The camera updates with the [code]_process[/code] callback."
msgstr ""
@@ -12373,7 +12498,16 @@ msgstr ""
msgid ""
"Draws a unfilled arc between the given angles. The larger the value of "
"[code]point_count[/code], the smoother the curve. See also [method "
-"draw_circle]."
+"draw_circle].\n"
+"[b]Note:[/b] Line drawing is not accelerated by batching if "
+"[code]antialiased[/code] is [code]true[/code].\n"
+"[b]Note:[/b] Due to how it works, built-in antialiasing will not look "
+"correct for translucent lines and may not work on certain platforms. As a "
+"workaround, install the [url=https://github.com/godot-extended-libraries/"
+"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an "
+"AntialiasedRegularPolygon2D node. That node relies on a texture with custom "
+"mipmaps to perform antialiasing. 2D batching is also still supported with "
+"those antialiased lines."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12384,22 +12518,42 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
-"draw_polyline] and [method draw_polygon]."
+"Draws a colored, filled circle. See also [method draw_arc], [method "
+"draw_polyline] and [method draw_polygon].\n"
+"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
+"As a workaround, install the [url=https://github.com/godot-extended-"
+"libraries/godot-antialiased-line2d]Antialiased Line2D[/url] add-on then "
+"create an AntialiasedRegularPolygon2D node. That node relies on a texture "
+"with custom mipmaps to perform antialiasing."
msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
"Draws a colored polygon of any amount of points, convex or concave. Unlike "
"[method draw_polygon], a single color must be specified for the whole "
-"polygon."
+"polygon.\n"
+"[b]Note:[/b] Due to how it works, built-in antialiasing will not look "
+"correct for translucent polygons and may not work on certain platforms. As a "
+"workaround, install the [url=https://github.com/godot-extended-libraries/"
+"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an "
+"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps "
+"to perform antialiasing."
msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
"Draws a line from a 2D point to another, with a given color and width. It "
"can be optionally antialiased. See also [method draw_multiline] and [method "
-"draw_polyline]."
+"draw_polyline].\n"
+"[b]Note:[/b] Line drawing is not accelerated by batching if "
+"[code]antialiased[/code] is [code]true[/code].\n"
+"[b]Note:[/b] Due to how it works, built-in antialiasing will not look "
+"correct for translucent lines and may not work on certain platforms. As a "
+"workaround, install the [url=https://github.com/godot-extended-libraries/"
+"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an "
+"AntialiasedLine2D node. That node relies on a texture with custom mipmaps to "
+"perform antialiasing. 2D batching is also still supported with those "
+"antialiased lines."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12415,7 +12569,12 @@ msgid ""
"draw_line] calls. To draw interconnected lines, use [method draw_polyline] "
"instead.\n"
"[b]Note:[/b] [code]width[/code] and [code]antialiased[/code] are currently "
-"not implemented and have no effect."
+"not implemented and have no effect. As a workaround, install the "
+"[url=https://github.com/godot-extended-libraries/godot-antialiased-"
+"line2d]Antialiased Line2D[/url] add-on then create an AntialiasedLine2D "
+"node. That node relies on a texture with custom mipmaps to perform "
+"antialiasing. 2D batching is also still supported with those antialiased "
+"lines."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12427,7 +12586,12 @@ msgid ""
"calls. To draw interconnected lines, use [method draw_polyline_colors] "
"instead.\n"
"[b]Note:[/b] [code]width[/code] and [code]antialiased[/code] are currently "
-"not implemented and have no effect."
+"not implemented and have no effect. As a workaround, install the "
+"[url=https://github.com/godot-extended-libraries/godot-antialiased-"
+"line2d]Antialiased Line2D[/url] add-on then create an AntialiasedLine2D "
+"node. That node relies on a texture with custom mipmaps to perform "
+"antialiasing. 2D batching is also still supported with those antialiased "
+"lines."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12441,7 +12605,13 @@ msgid ""
"Draws a solid polygon of any amount of points, convex or concave. Unlike "
"[method draw_colored_polygon], each point's color can be changed "
"individually. See also [method draw_polyline] and [method "
-"draw_polyline_colors]."
+"draw_polyline_colors].\n"
+"[b]Note:[/b] Due to how it works, built-in antialiasing will not look "
+"correct for translucent polygons and may not work on certain platforms. As a "
+"workaround, install the [url=https://github.com/godot-extended-libraries/"
+"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an "
+"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps "
+"to perform antialiasing."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12450,7 +12620,13 @@ msgid ""
"[code]width[/code] and optional antialiasing. When drawing large amounts of "
"lines, this is faster than using individual [method draw_line] calls. To "
"draw disconnected lines, use [method draw_multiline] instead. See also "
-"[method draw_polygon]."
+"[method draw_polygon].\n"
+"[b]Note:[/b] Due to how it works, built-in antialiasing will not look "
+"correct for translucent polygons and may not work on certain platforms. As a "
+"workaround, install the [url=https://github.com/godot-extended-libraries/"
+"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an "
+"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps "
+"to perform antialiasing."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12460,7 +12636,13 @@ msgid ""
"line segments match by index between [code]points[/code] and [code]colors[/"
"code]. When drawing large amounts of lines, this is faster than using "
"individual [method draw_line] calls. To draw disconnected lines, use [method "
-"draw_multiline_colors] instead. See also [method draw_polygon]."
+"draw_multiline_colors] instead. See also [method draw_polygon].\n"
+"[b]Note:[/b] Due to how it works, built-in antialiasing will not look "
+"correct for translucent polygons and may not work on certain platforms. As a "
+"workaround, install the [url=https://github.com/godot-extended-libraries/"
+"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an "
+"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps "
+"to perform antialiasing."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12478,10 +12660,16 @@ msgid ""
"rectangle will be filled with the [code]color[/code] specified. If "
"[code]filled[/code] is [code]false[/code], the rectangle will be drawn as a "
"stroke with the [code]color[/code] and [code]width[/code] specified. If "
-"[code]antialiased[/code] is [code]true[/code], the lines will be "
-"antialiased.\n"
+"[code]antialiased[/code] is [code]true[/code], the lines will attempt to "
+"perform antialiasing using OpenGL line smoothing.\n"
"[b]Note:[/b] [code]width[/code] and [code]antialiased[/code] are only "
-"effective if [code]filled[/code] is [code]false[/code]."
+"effective if [code]filled[/code] is [code]false[/code].\n"
+"[b]Note:[/b] Due to how it works, built-in antialiasing will not look "
+"correct for translucent polygons and may not work on certain platforms. As a "
+"workaround, install the [url=https://github.com/godot-extended-libraries/"
+"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an "
+"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps "
+"to perform antialiasing."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13587,8 +13775,7 @@ msgid ""
msgstr ""
#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml
-#: doc/classes/Navigation.xml doc/classes/Navigation2D.xml
-#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
+#: doc/classes/Navigation2D.xml
msgid "Returns the object's [RID]."
msgstr ""
@@ -13894,7 +14081,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
@@ -13990,7 +14179,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
@@ -14053,7 +14244,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14091,9 +14282,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14112,8 +14303,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14129,8 +14320,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14221,9 +14412,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -15999,9 +16190,11 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
-#, fuzzy
-msgid "Returns [code]true[/code] if drag operation is successful."
-msgstr "回傳參數的餘弦值。"
+msgid ""
+"Returns [code]true[/code] if a drag operation is successful. Alternative to "
+"[method Viewport.gui_is_drag_successful].\n"
+"Best used with [constant Node.NOTIFICATION_DRAG_END]."
+msgstr ""
#: doc/classes/Control.xml
msgid ""
@@ -16660,14 +16853,14 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
-"Show the system's wait mouse cursor, often an hourglass, when the user "
-"hovers the node."
+"Show the system's wait mouse cursor when the user hovers the node. Often an "
+"hourglass."
msgstr ""
#: doc/classes/Control.xml
msgid ""
"Show the system's busy mouse cursor when the user hovers the node. Often an "
-"hourglass."
+"arrow with a small hourglass."
msgstr ""
#: doc/classes/Control.xml
@@ -17821,8 +18014,7 @@ msgid ""
"saved like any other [Resource].\n"
"They can be used to generate a self-signed [X509Certificate] via [method "
"Crypto.generate_self_signed_certificate] and as private key in [method "
-"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n"
-"[b]Note:[/b] Not available in HTML5 exports."
+"StreamPeerSSL.accept_stream] along with the appropriate certificate."
msgstr ""
#: doc/classes/CryptoKey.xml
@@ -19068,11 +19260,15 @@ msgid ""
msgstr ""
#: doc/classes/CurveTexture.xml
-msgid "The [code]curve[/code] rendered onto the texture."
-msgstr ""
+#, fuzzy
+msgid "The [Curve] that is rendered onto the texture."
+msgstr "回傳參數的正弦值。"
#: doc/classes/CurveTexture.xml
-msgid "The width of the texture."
+msgid ""
+"The width of the texture (in pixels). Higher values make it possible to "
+"represent high-frequency data better (such as sudden direction changes), at "
+"the cost of increased generation time and memory usage."
msgstr ""
#: doc/classes/CylinderMesh.xml
@@ -19216,7 +19412,7 @@ msgid ""
"accessing the dictionary with isn't a fixed string (such as a number or "
"variable).\n"
"[codeblock]\n"
-"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n"
+"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n"
"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n"
"func _ready():\n"
" # We can't use dot syntax here as `my_color` is a variable.\n"
@@ -19358,6 +19554,13 @@ msgid "Returns the list of keys in the [Dictionary]."
msgstr ""
#: doc/classes/Dictionary.xml
+msgid ""
+"Adds elements from [code]dictionary[/code] to this [Dictionary]. By default, "
+"duplicate keys will not be copied over, unless [code]overwrite[/code] is "
+"[code]true[/code]."
+msgstr ""
+
+#: doc/classes/Dictionary.xml
#, fuzzy
msgid "Returns the number of keys in the dictionary."
msgstr "回傳參數的正弦值。"
@@ -19382,13 +19585,17 @@ msgstr ""
#: doc/classes/DirectionalLight.xml
msgid ""
"Amount of extra bias for shadow splits that are far away. If self-shadowing "
-"occurs only on the splits far away, increasing this value can fix them."
+"occurs only on the splits far away, increasing this value can fix them. This "
+"is ignored when [member directional_shadow_mode] is [constant "
+"SHADOW_ORTHOGONAL]."
msgstr ""
#: doc/classes/DirectionalLight.xml
msgid ""
"If [code]true[/code], shadow detail is sacrificed in exchange for smoother "
-"transitions between splits."
+"transitions between splits. Enabling shadow blend splitting also has a "
+"moderate performance cost. This is ignored when [member "
+"directional_shadow_mode] is [constant SHADOW_ORTHOGONAL]."
msgstr ""
#: doc/classes/DirectionalLight.xml
@@ -19398,7 +19605,11 @@ msgid ""
msgstr ""
#: doc/classes/DirectionalLight.xml
-msgid "The maximum distance for shadow splits."
+msgid ""
+"The maximum distance for shadow splits. Increasing this value will make "
+"directional shadows visible from further away, at the cost of lower overall "
+"shadow detail and performance (since more objects need to be included in the "
+"directional shadow rendering)."
msgstr ""
#: doc/classes/DirectionalLight.xml
@@ -19415,23 +19626,23 @@ msgstr ""
msgid ""
"The distance from camera to shadow split 1. Relative to [member "
"directional_shadow_max_distance]. Only used when [member "
-"directional_shadow_mode] is [code]SHADOW_PARALLEL_2_SPLITS[/code] or "
-"[code]SHADOW_PARALLEL_4_SPLITS[/code]."
+"directional_shadow_mode] is [constant SHADOW_PARALLEL_2_SPLITS] or [constant "
+"SHADOW_PARALLEL_4_SPLITS]."
msgstr ""
#: doc/classes/DirectionalLight.xml
msgid ""
"The distance from shadow split 1 to split 2. Relative to [member "
"directional_shadow_max_distance]. Only used when [member "
-"directional_shadow_mode] is [code]SHADOW_PARALLEL_2_SPLITS[/code] or "
-"[code]SHADOW_PARALLEL_4_SPLITS[/code]."
+"directional_shadow_mode] is [constant SHADOW_PARALLEL_2_SPLITS] or [constant "
+"SHADOW_PARALLEL_4_SPLITS]."
msgstr ""
#: doc/classes/DirectionalLight.xml
msgid ""
"The distance from shadow split 2 to split 3. Relative to [member "
"directional_shadow_max_distance]. Only used when [member "
-"directional_shadow_mode] is [code]SHADOW_PARALLEL_4_SPLITS[/code]."
+"directional_shadow_mode] is [constant SHADOW_PARALLEL_4_SPLITS]."
msgstr ""
#: doc/classes/DirectionalLight.xml
@@ -19634,9 +19845,11 @@ msgstr ""
#: doc/classes/Directory.xml
msgid ""
-"Deletes the target file or an empty directory. The argument can be relative "
-"to the current directory, or an absolute path. If the target directory is "
-"not empty, the operation will fail.\n"
+"Permanently deletes the target file or an empty directory. The argument can "
+"be relative to the current directory, or an absolute path. If the target "
+"directory is not empty, the operation will fail.\n"
+"If you don't want to delete the file/directory permanently, use [method OS."
+"move_to_trash] instead.\n"
"Returns one of the [enum Error] code constants ([code]OK[/code] on success)."
msgstr ""
@@ -20098,7 +20311,7 @@ msgstr ""
msgid ""
"Saves the editor feature profile to a file in JSON format. It can then be "
"imported using the feature profile manager's [b]Import[/b] button or the "
-"[method load_from_file] button."
+"[method load_from_file] method."
msgstr ""
#: doc/classes/EditorFeatureProfile.xml
@@ -20344,8 +20557,9 @@ msgid "Returns the scan progress for 0 to 1 if the FS is being scanned."
msgstr ""
#: doc/classes/EditorFileSystem.xml
-msgid "Returns [code]true[/code] of the filesystem is being scanned."
-msgstr ""
+#, fuzzy
+msgid "Returns [code]true[/code] if the filesystem is being scanned."
+msgstr "回傳參數的餘弦值。"
#: doc/classes/EditorFileSystem.xml
msgid "Scan the filesystem for changes."
@@ -21287,7 +21501,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -21295,9 +21509,23 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the state of your plugin editor. This is used when saving the scene (so "
-"state is kept when opening it again) and for switching tabs (so state can be "
-"restored when the tab returns)."
+"Override this method to provide a state data you want to be saved, like view "
+"position, grid settings, folding, etc. This is used when saving the scene "
+"(so state is kept when opening it again) and for switching tabs (so state "
+"can be restored when the tab returns). This data is automatically saved for "
+"each scene in an [code]editstate[/code] file in the editor metadata folder. "
+"If you want to store global (scene-independent) editor data for your plugin, "
+"you can use [method get_window_layout] instead.\n"
+"Use [method set_state] to restore your saved state.\n"
+"[b]Note:[/b] This method should not be used to save important settings that "
+"should persist with the project.\n"
+"[b]Note:[/b] You must implement [method get_plugin_name] for the state to be "
+"stored and restored correctly.\n"
+"[codeblock]\n"
+"func get_state():\n"
+" var state = {\"zoom\": zoom, \"preferred_color\": my_color}\n"
+" return state\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/EditorPlugin.xml
@@ -21308,9 +21536,18 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the GUI layout of the plugin. This is used to save the project's editor "
-"layout when [method queue_save_layout] is called or the editor layout was "
-"changed(For example changing the position of a dock)."
+"Override this method to provide the GUI layout of the plugin or any other "
+"data you want to be stored. This is used to save the project's editor layout "
+"when [method queue_save_layout] is called or the editor layout was changed "
+"(for example changing the position of a dock). The data is stored in the "
+"[code]editor_layout.cfg[/code] file in the editor metadata directory.\n"
+"Use [method set_window_layout] to restore your saved layout.\n"
+"[codeblock]\n"
+"func get_window_layout(configuration):\n"
+" configuration.set_value(\"MyPlugin\", \"window_position\", $Window."
+"position)\n"
+" configuration.set_value(\"MyPlugin\", \"icon_color\", $Icon.modulate)\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/EditorPlugin.xml
@@ -21423,11 +21660,30 @@ msgid ""
msgstr ""
#: doc/classes/EditorPlugin.xml
-msgid "Restore the state saved by [method get_state]."
+msgid ""
+"Restore the state saved by [method get_state]. This method is called when "
+"the current scene tab is changed in the editor.\n"
+"[b]Note:[/b] Your plugin must implement [method get_plugin_name], otherwise "
+"it will not be recognized and this method will not be called.\n"
+"[codeblock]\n"
+"func set_state(data):\n"
+" zoom = data.get(\"zoom\", 1.0)\n"
+" preferred_color = data.get(\"my_color\", Color.white)\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/EditorPlugin.xml
-msgid "Restore the plugin GUI layout saved by [method get_window_layout]."
+msgid ""
+"Restore the plugin GUI layout and data saved by [method get_window_layout]. "
+"This method is called for every plugin on editor startup. Use the provided "
+"[code]configuration[/code] file to read your saved data.\n"
+"[codeblock]\n"
+"func set_window_layout(configuration):\n"
+" $Window.position = configuration.get_value(\"MyPlugin\", "
+"\"window_position\", Vector2())\n"
+" $Icon.modulate = configuration.get_value(\"MyPlugin\", \"icon_color\", "
+"Color.white)\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/EditorPlugin.xml
@@ -22402,6 +22658,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 "
@@ -22829,7 +23090,7 @@ msgid ""
"else:\n"
" simulate_physics()\n"
"[/codeblock]\n"
-"See [url=$DOCS_URL/tutorials/misc/running_code_in_the_editor.html]Running "
+"See [url=$DOCS_URL/tutorials/plugins/running_code_in_the_editor.html]Running "
"code in the editor[/url] in the documentation for more information.\n"
"[b]Note:[/b] To detect whether the script is run from an editor [i]build[/i] "
"(e.g. when pressing [code]F5[/code]), use [method OS.has_feature] with the "
@@ -23442,7 +23703,7 @@ msgstr ""
#: doc/classes/Environment.xml
msgid ""
"The tonemapping mode to use. Tonemapping is the process that \"converts\" "
-"HDR values to be suitable for rendering on a LDR display. (Godot doesn't "
+"HDR values to be suitable for rendering on a SDR display. (Godot doesn't "
"support rendering on HDR displays yet.)"
msgstr ""
@@ -23524,33 +23785,43 @@ msgstr ""
#: doc/classes/Environment.xml
msgid ""
"Linear tonemapper operator. Reads the linear data and passes it on "
-"unmodified."
+"unmodified. This can cause bright lighting to look blown out, with "
+"noticeable clipping in the output colors."
msgstr ""
#: doc/classes/Environment.xml
msgid ""
"Reinhardt tonemapper operator. Performs a variation on rendered pixels' "
-"colors by this formula: [code]color = color / (1 + color)[/code]."
+"colors by this formula: [code]color = color / (1 + color)[/code]. This "
+"avoids clipping bright highlights, but the resulting image can look a bit "
+"dull."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Filmic tonemapper operator."
+msgid ""
+"Filmic tonemapper operator. This avoids clipping bright highlights, with a "
+"resulting image that usually looks more vivid than [constant "
+"TONE_MAPPER_REINHARDT]."
msgstr ""
#: doc/classes/Environment.xml
msgid ""
-"Academy Color Encoding System tonemapper operator. Performs an approximation "
-"of the ACES tonemapping curve."
+"Use the legacy Godot version of the Academy Color Encoding System "
+"tonemapper. Unlike [constant TONE_MAPPER_ACES_FITTED], this version of ACES "
+"does not handle bright lighting in a physically accurate way. ACES typically "
+"has a more contrasted output compared to [constant TONE_MAPPER_REINHARDT] "
+"and [constant TONE_MAPPER_FILMIC].\n"
+"[b]Note:[/b] This tonemapping operator will be removed in Godot 4.0 in favor "
+"of the more accurate [constant TONE_MAPPER_ACES_FITTED]."
msgstr ""
#: doc/classes/Environment.xml
msgid ""
-"High quality Academy Color Encoding System tonemapper operator that matches "
-"the industry standard. Performs a more physically accurate curve fit which "
-"better simulates how light works in the real world. The color of lights and "
-"emissive materials will become lighter as the emissive energy increases, and "
-"will eventually become white if the light is bright enough to saturate the "
-"camera sensor."
+"Use the Academy Color Encoding System tonemapper. ACES is slightly more "
+"expensive than other options, but it handles bright lighting in a more "
+"realistic fashion by desaturating it as it becomes brighter. ACES typically "
+"has a more contrasted output compared to [constant TONE_MAPPER_REINHARDT] "
+"and [constant TONE_MAPPER_FILMIC]."
msgstr ""
#: doc/classes/Environment.xml
@@ -23586,11 +23857,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -24409,12 +24680,49 @@ msgstr ""
#: doc/classes/Font.xml
msgid ""
+"Returns outline contours of the glyph as a [code]Dictionary[/code] with the "
+"following contents:\n"
+"[code]points[/code] - [PoolVector3Array], containing outline points. "
+"[code]x[/code] and [code]y[/code] are point coordinates. [code]z[/code] is "
+"the type of the point, using the [enum ContourPointTag] values.\n"
+"[code]contours[/code] - [PoolIntArray], containing indices the end "
+"points of each contour.\n"
+"[code]orientation[/code] - [bool], contour orientation. If [code]true[/"
+"code], clockwise contours must be filled."
+msgstr ""
+
+#: doc/classes/Font.xml
+msgid ""
"Returns the size of a character, optionally taking kerning into account if "
"the next character is provided. Note that the height returned is the font "
"height (see [method get_height]) and has no relation to the glyph height."
msgstr ""
#: doc/classes/Font.xml
+#, fuzzy
+msgid "Returns resource id of the cache texture containing the char."
+msgstr "回傳參數的雙曲正弦值。"
+
+#: doc/classes/Font.xml
+#, fuzzy
+msgid "Returns size of the cache texture containing the char."
+msgstr "回傳參數的正弦值。"
+
+#: doc/classes/Font.xml
+#, fuzzy
+msgid "Returns char offset from the baseline."
+msgstr "回傳參數的餘弦值。"
+
+#: doc/classes/Font.xml
+#, fuzzy
+msgid "Returns size of the char."
+msgstr "回傳參數的正弦值。"
+
+#: doc/classes/Font.xml
+msgid "Returns rectangle in the cache texture containing the char."
+msgstr ""
+
+#: doc/classes/Font.xml
msgid "Returns the font descent (number of pixels below the baseline)."
msgstr ""
@@ -24445,6 +24753,22 @@ msgid ""
"function to propagate changes to controls that might use it."
msgstr ""
+#: doc/classes/Font.xml
+msgid "Contour point is on the curve."
+msgstr ""
+
+#: doc/classes/Font.xml
+msgid ""
+"Contour point isn't on the curve, but serves as a control point for a conic "
+"(quadratic) Bézier arc."
+msgstr ""
+
+#: doc/classes/Font.xml
+msgid ""
+"Contour point isn't on the curve, but serves as a control point for a cubic "
+"Bézier arc."
+msgstr ""
+
#: doc/classes/FuncRef.xml
msgid "Reference to a function in an object."
msgstr ""
@@ -25209,14 +25533,14 @@ msgid ""
"Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and "
"([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the "
"point of intersection as [Vector2]. If no intersection takes place, returns "
-"an empty [Variant].\n"
+"[code]null[/code].\n"
"[b]Note:[/b] The lines are specified using direction vectors, not end points."
msgstr ""
#: doc/classes/Geometry.xml
msgid ""
"Given an array of [Vector2]s representing tiles, builds an atlas. The "
-"returned dictionary has two keys: [code]points[/code] is a vector of "
+"returned dictionary has two keys: [code]points[/code] is an array of "
"[Vector2] that specifies the positions of each tile, [code]size[/code] "
"contains the overall size of the whole atlas as [Vector2]."
msgstr ""
@@ -25320,8 +25644,8 @@ msgstr ""
msgid ""
"Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and "
"([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point "
-"of intersection as [Vector2]. If no intersection takes place, returns an "
-"empty [Variant]."
+"of intersection as [Vector2]. If no intersection takes place, returns "
+"[code]null[/code]."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25980,9 +26304,22 @@ 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 ""
@@ -25993,7 +26330,8 @@ msgid ""
"will be filled from left to right using colors obtained from the gradient. "
"This means the texture does not necessarily represent an exact copy of the "
"gradient, but instead an interpolation of samples obtained from the gradient "
-"at fixed steps (see [member width])."
+"at fixed steps (see [member width]). See also [GradientTexture2D] and "
+"[CurveTexture]."
msgstr ""
#: doc/classes/GradientTexture.xml
@@ -26015,7 +26353,8 @@ msgid ""
"repeat] types using colors obtained from the gradient. The texture does not "
"necessarily represent an exact copy of the gradient, but instead an "
"interpolation of samples obtained from the gradient at fixed steps (see "
-"[member width] and [member height])."
+"[member width] and [member height]). See also [GradientTexture] and "
+"[CurveTexture]."
msgstr ""
#: doc/classes/GradientTexture2D.xml
@@ -26290,7 +26629,10 @@ msgid "Emitted when the user presses [code]Ctrl + C[/code]."
msgstr ""
#: doc/classes/GraphEdit.xml
-msgid "Emitted when a GraphNode is attempted to be removed from the GraphEdit."
+msgid ""
+"Emitted when a GraphNode is attempted to be removed from the GraphEdit. "
+"Provides a list of node names to be removed (all selected nodes, excluding "
+"nodes without closing button)."
msgstr ""
#: doc/classes/GraphEdit.xml
@@ -26826,6 +27168,12 @@ msgid ""
msgstr ""
#: modules/gridmap/doc_classes/GridMap.xml
+msgid ""
+"If [code]true[/code], this GridMap uses cell navmesh resources to create "
+"navigation regions."
+msgstr ""
+
+#: modules/gridmap/doc_classes/GridMap.xml
msgid "If [code]true[/code], grid items are centered on the X axis."
msgstr ""
@@ -26876,6 +27224,10 @@ msgid "The assigned [MeshLibrary]."
msgstr ""
#: modules/gridmap/doc_classes/GridMap.xml
+msgid "The navigation layers the GridMap generates its navigation regions in."
+msgstr ""
+
+#: modules/gridmap/doc_classes/GridMap.xml
msgid ""
"Overrides the default friction and bounce physics properties for the whole "
"[GridMap]."
@@ -26950,8 +27302,7 @@ msgid ""
" var res = ctx.finish()\n"
" # Print the result as hex string and array.\n"
" printt(res.hex_encode(), Array(res))\n"
-"[/codeblock]\n"
-"[b]Note:[/b] Not available in HTML5 exports."
+"[/codeblock]"
msgstr ""
#: doc/classes/HashingContext.xml
@@ -27038,7 +27389,8 @@ msgid ""
"[Generic6DOFJoint]."
msgstr ""
-#: doc/classes/HingeJoint.xml doc/classes/SpriteBase3D.xml
+#: doc/classes/HingeJoint.xml doc/classes/Label3D.xml
+#: doc/classes/SpriteBase3D.xml
msgid "Returns the value of the specified flag."
msgstr ""
@@ -28099,7 +28451,7 @@ msgid ""
" # Note: Don't make simultaneous requests using a single HTTPRequest "
"node.\n"
" # The snippet below is provided for reference only.\n"
-" var body = {\"name\": \"Godette\"}\n"
+" var body = to_json({\"name\": \"Godette\"})\n"
" error = http_request.request(\"https://httpbin.org/post\", [], true, "
"HTTPClient.METHOD_POST, body)\n"
" if error != OK:\n"
@@ -28203,7 +28555,11 @@ msgid ""
msgstr ""
#: doc/classes/HTTPRequest.xml
-msgid "Maximum allowed size for response bodies."
+msgid ""
+"Maximum allowed size for response bodies ([code]-1[/code] means no limit). "
+"When only small files are expected, this can be used to prevent disallow "
+"receiving files that are too large, preventing potential denial of service "
+"attacks."
msgstr ""
#: doc/classes/HTTPRequest.xml
@@ -28215,11 +28571,33 @@ msgid ""
msgstr ""
#: doc/classes/HTTPRequest.xml
-msgid "The file to download into. Will output any received file into it."
+msgid ""
+"The file to download into. If set to a non-empty string, the request output "
+"will be written to the file located at the path. If a file already exists at "
+"the specified location, it will be overwritten as soon as body data begins "
+"to be received.\n"
+"[b]Note:[/b] Folders are not automatically created when the file is created. "
+"If [member download_file] points to a subfolder, it's recommended to create "
+"the necessary folders beforehand using [method Directory.make_dir_recursive] "
+"to ensure the file can be written."
msgstr ""
#: doc/classes/HTTPRequest.xml
-msgid "Maximum number of allowed redirects."
+msgid ""
+"Maximum number of allowed redirects. This is used to prevent endless "
+"redirect loops."
+msgstr ""
+
+#: doc/classes/HTTPRequest.xml
+msgid ""
+"If set to a value greater than [code]0.0[/code] before the request starts, "
+"the HTTP request will time out after [code]timeout[/code] seconds have "
+"passed and the request is not [i]completed[/i] yet. For small HTTP requests "
+"such as REST API usage, set [member timeout] to a value between [code]10.0[/"
+"code] and [code]30.0[/code] to prevent the application from getting stuck if "
+"the request fails to get a response in a timely manner. For file downloads, "
+"leave this to [code]0.0[/code] to prevent the download from failing if it "
+"takes too much time."
msgstr ""
#: doc/classes/HTTPRequest.xml
@@ -28298,34 +28676,42 @@ msgstr ""
#: doc/classes/Image.xml
msgid ""
"Alpha-blends [code]src_rect[/code] from [code]src[/code] image to this image "
-"at coordinates [code]dest[/code]."
+"at coordinates [code]dest[/code], clipped accordingly to both image bounds. "
+"This image and [code]src[/code] image [b]must[/b] have the same format. "
+"[code]src_rect[/code] with not positive size is treated as empty."
msgstr ""
#: doc/classes/Image.xml
msgid ""
"Alpha-blends [code]src_rect[/code] from [code]src[/code] image to this image "
-"using [code]mask[/code] image at coordinates [code]dst[/code]. Alpha "
-"channels are required for both [code]src[/code] and [code]mask[/code]. "
-"[code]dst[/code] pixels and [code]src[/code] pixels will blend if the "
-"corresponding mask pixel's alpha value is not 0. [code]src[/code] image and "
-"[code]mask[/code] image [b]must[/b] have the same size (width and height) "
-"but they can have different formats."
+"using [code]mask[/code] image at coordinates [code]dst[/code], clipped "
+"accordingly to both image bounds. Alpha channels are required for both "
+"[code]src[/code] and [code]mask[/code]. [code]dst[/code] pixels and "
+"[code]src[/code] pixels will blend if the corresponding mask pixel's alpha "
+"value is not 0. This image and [code]src[/code] image [b]must[/b] have the "
+"same format. [code]src[/code] image and [code]mask[/code] image [b]must[/b] "
+"have the same size (width and height) but they can have different formats. "
+"[code]src_rect[/code] with not positive size is treated as empty."
msgstr ""
#: doc/classes/Image.xml
msgid ""
"Copies [code]src_rect[/code] from [code]src[/code] image to this image at "
-"coordinates [code]dst[/code]."
+"coordinates [code]dst[/code], clipped accordingly to both image bounds. This "
+"image and [code]src[/code] image [b]must[/b] have the same format. "
+"[code]src_rect[/code] with not positive size is treated as empty."
msgstr ""
#: doc/classes/Image.xml
msgid ""
"Blits [code]src_rect[/code] area from [code]src[/code] image to this image "
-"at the coordinates given by [code]dst[/code]. [code]src[/code] pixel is "
-"copied onto [code]dst[/code] if the corresponding [code]mask[/code] pixel's "
-"alpha value is not 0. [code]src[/code] image and [code]mask[/code] image "
-"[b]must[/b] have the same size (width and height) but they can have "
-"different formats."
+"at the coordinates given by [code]dst[/code], clipped accordingly to both "
+"image bounds. [code]src[/code] pixel is copied onto [code]dst[/code] if the "
+"corresponding [code]mask[/code] pixel's alpha value is not 0. This image and "
+"[code]src[/code] image [b]must[/b] have the same format. [code]src[/code] "
+"image and [code]mask[/code] image [b]must[/b] have the same size (width and "
+"height) but they can have different formats. [code]src_rect[/code] with not "
+"positive size is treated as empty."
msgstr ""
#: doc/classes/Image.xml
@@ -29235,7 +29621,7 @@ msgstr ""
msgid ""
"Sends all input events which are in the current buffer to the game loop. "
"These events may have been buffered as a result of accumulated input "
-"([method set_use_accumulated_input]) or agile input flushing ([member "
+"([member use_accumulated_input]) or agile input flushing ([member "
"ProjectSettings.input_devices/buffering/agile_event_flushing]).\n"
"The engine will already do this itself at key execution points (at least "
"once per frame). However, this can be useful in advanced cases where you "
@@ -29384,10 +29770,6 @@ msgid ""
msgstr ""
#: doc/classes/Input.xml
-msgid "Returns the mouse mode. See the constants for more information."
-msgstr ""
-
-#: doc/classes/Input.xml
msgid ""
"Gets an input vector by specifying four actions for the positive and "
"negative X and Y axes.\n"
@@ -29581,24 +29963,6 @@ msgid ""
msgstr ""
#: doc/classes/Input.xml
-msgid "Sets the mouse mode. See the constants for more information."
-msgstr ""
-
-#: doc/classes/Input.xml
-msgid ""
-"Enables or disables the accumulation of similar input events sent by the "
-"operating system. When input accumulation is enabled, all input events "
-"generated during a frame will be merged and emitted when the frame is done "
-"rendering. Therefore, this limits the number of input method calls per "
-"second to the rendering FPS.\n"
-"Input accumulation is enabled by default. It can be disabled to get slightly "
-"more precise/reactive input at the cost of increased CPU usage. In "
-"applications where drawing freehand lines is required, input accumulation "
-"should generally be disabled while the user is drawing the line to get "
-"results that closely follow the actual input."
-msgstr ""
-
-#: doc/classes/Input.xml
msgid ""
"Starts to vibrate the joypad. Joypads usually come with two rumble motors, a "
"strong and a weak one. [code]weak_magnitude[/code] is the strength of the "
@@ -29618,8 +29982,10 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
"Vibrate Android and iOS devices.\n"
-"[b]Note:[/b] It needs [code]VIBRATE[/code] permission for Android at export "
-"settings. iOS does not support duration."
+"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
+"permission in the export preset.\n"
+"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
+"later."
msgstr ""
#: doc/classes/Input.xml
@@ -29632,6 +29998,27 @@ msgid ""
msgstr ""
#: doc/classes/Input.xml
+msgid "Controls the mouse mode. See [enum MouseMode] for more information."
+msgstr ""
+
+#: doc/classes/Input.xml
+msgid ""
+"If [code]true[/code], similar input events sent by the operating system are "
+"accumulated. When input accumulation is enabled, all input events generated "
+"during a frame will be merged and emitted when the frame is done rendering. "
+"Therefore, this limits the number of input method calls per second to the "
+"rendering FPS.\n"
+"Input accumulation can be disabled to get slightly more precise/reactive "
+"input at the cost of increased CPU usage. In applications where drawing "
+"freehand lines is required, input accumulation should generally be disabled "
+"while the user is drawing the line to get results that closely follow the "
+"actual input.\n"
+"[b]Note:[/b] Input accumulation is [i]enabled[/i] by default. It is "
+"recommended to keep it enabled for games which don't require very reactive "
+"input, as this will decrease CPU usage."
+msgstr ""
+
+#: doc/classes/Input.xml
msgid "Emitted when a joypad device has been connected or disconnected."
msgstr ""
@@ -29680,15 +30067,15 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
"Wait cursor. Indicates that the application is busy performing an operation. "
-"This cursor shape denotes that the application is still usable during the "
-"operation."
+"This cursor shape denotes that the application isn't usable during the "
+"operation (e.g. something is blocking its main thread)."
msgstr ""
#: doc/classes/Input.xml
msgid ""
"Busy cursor. Indicates that the application is busy performing an operation. "
-"This cursor shape denotes that the application isn't usable during the "
-"operation (e.g. something is blocking its main thread)."
+"This cursor shape denotes that the application is still usable during the "
+"operation."
msgstr ""
#: doc/classes/Input.xml
@@ -29939,8 +30326,8 @@ msgstr ""
#: doc/classes/InputEventJoypadButton.xml
msgid ""
-"Represents the pressure the user puts on the button with his finger, if the "
-"controller supports it. Ranges from [code]0[/code] to [code]1[/code]."
+"Represents the pressure the user puts on the button with their finger, if "
+"the controller supports it. Ranges from [code]0[/code] to [code]1[/code]."
msgstr ""
#: doc/classes/InputEventJoypadMotion.xml
@@ -30202,10 +30589,14 @@ msgstr ""
msgid ""
"Contains mouse and pen motion information. Supports relative, absolute "
"positions and speed. See [method Node._input].\n"
-"[b]Note:[/b] By default, this event is only emitted once per frame rendered "
-"at most. If you need more precise input reporting, call [method Input."
-"set_use_accumulated_input] with [code]false[/code] to make events emitted as "
-"often as possible. If you use InputEventMouseMotion to draw lines, consider "
+"[b]Note:[/b] The behavior of this event is affected by the value of [member "
+"Input.use_accumulated_input]. When set to [code]true[/code] (default), mouse/"
+"pen motion events received from the OS will be merged to emit an accumulated "
+"event only once per frame rendered at most. When set to [code]false[/code], "
+"the events will be emitted as received, which means that they can be emitted "
+"multiple times per frame rendered, allowing for precise input reporting at "
+"the expense of CPU usage.\n"
+"[b]Note:[/b] If you use InputEventMouseMotion to draw lines, consider "
"implementing [url=https://en.wikipedia.org/wiki/"
"Bresenham%27s_line_algorithm]Bresenham's line algorithm[/url] as well to "
"avoid visible gaps in lines if the user is moving the mouse quickly."
@@ -30217,6 +30608,12 @@ msgstr ""
#: doc/classes/InputEventMouseMotion.xml
msgid ""
+"Returns [code]true[/code] when using the eraser end of a stylus pen.\n"
+"[b]Note:[/b] This property is implemented on Linux, macOS and Windows."
+msgstr ""
+
+#: doc/classes/InputEventMouseMotion.xml
+msgid ""
"Represents the pressure the user puts on the pen. Ranges from [code]0.0[/"
"code] to [code]1.0[/code]."
msgstr ""
@@ -30390,7 +30787,12 @@ msgid ""
msgstr ""
#: doc/classes/InputMap.xml
-msgid "Returns an array of [InputEvent]s associated with a given action."
+msgid ""
+"Returns an array of [InputEvent]s associated with a given action.\n"
+"[b]Note:[/b] When used in the editor (e.g. a tool script or [EditorPlugin]), "
+"this method will return events for the editor action. If you want to access "
+"your project's input binds from the editor, read the [code]input/*[/code] "
+"settings from [ProjectSettings]."
msgstr ""
#: doc/classes/InputMap.xml
@@ -30524,6 +30926,11 @@ msgstr ""
#: doc/classes/InterpolatedCamera.xml
msgid ""
+"The camera's process callback. See [enum InterpolatedCameraProcessMode]."
+msgstr ""
+
+#: doc/classes/InterpolatedCamera.xml
+msgid ""
"How quickly the camera moves toward its target. Higher values will result in "
"tighter camera motion."
msgstr ""
@@ -30532,6 +30939,19 @@ msgstr ""
msgid "The target's [NodePath]."
msgstr ""
+#: doc/classes/IntervalTweener.xml
+msgid "Creates an idle interval in a [SceneTreeTween] animation."
+msgstr ""
+
+#: doc/classes/IntervalTweener.xml
+msgid ""
+"[IntervalTweener] is used to make delays in a tweening sequence. See [method "
+"SceneTreeTween.tween_interval] for more usage information.\n"
+"[b]Note:[/b] [method SceneTreeTween.tween_interval] is the only correct way "
+"to create [IntervalTweener]. Any [IntervalTweener] created manually will not "
+"function correctly."
+msgstr ""
+
#: doc/classes/IP.xml
msgid "Internet protocol (IP) support functions such as DNS resolution."
msgstr ""
@@ -30675,7 +31095,18 @@ msgid ""
"[code]\\n[/code]) in the string won't produce a newline. Text wrapping is "
"enabled in [constant ICON_MODE_TOP] mode, but column's width is adjusted to "
"fully fit its content by default. You need to set [member "
-"fixed_column_width] greater than zero to wrap the text."
+"fixed_column_width] greater than zero to wrap the text.\n"
+"[b]Incremental search:[/b] Like [PopupMenu] and [Tree], [ItemList] supports "
+"searching within the list while the control is focused. Press a key that "
+"matches the first letter of an item's name to select the first item starting "
+"with the given letter. After that point, there are two ways to perform "
+"incremental search: 1) Press the same key again before the timeout duration "
+"to select the next item starting with the same letter. 2) Press letter keys "
+"that match the rest of the word before the timeout duration to match to "
+"select the item in question directly. Both of these actions will be reset to "
+"the beginning of the list if the timeout duration has passed since the last "
+"keystroke was registered. You can adjust the timeout duration by changing "
+"[member ProjectSettings.gui/timers/incremental_search_max_interval_msec]."
msgstr ""
#: doc/classes/ItemList.xml
@@ -32038,11 +32469,11 @@ msgid ""
"screen. Useful to animate the text in a dialog box."
msgstr ""
-#: doc/classes/Label.xml
+#: doc/classes/Label.xml doc/classes/Label3D.xml
msgid "The text to display on screen."
msgstr ""
-#: doc/classes/Label.xml
+#: doc/classes/Label.xml doc/classes/Label3D.xml doc/classes/TextMesh.xml
msgid "If [code]true[/code], all the text displays as UPPERCASE."
msgstr ""
@@ -32056,35 +32487,35 @@ msgstr ""
msgid "Restricts the number of characters to display. Set to -1 to disable."
msgstr ""
-#: doc/classes/Label.xml
+#: doc/classes/Label.xml doc/classes/Label3D.xml doc/classes/TextMesh.xml
msgid "Align rows to the left (default)."
msgstr ""
-#: doc/classes/Label.xml
+#: doc/classes/Label.xml doc/classes/Label3D.xml doc/classes/TextMesh.xml
msgid "Align rows centered."
msgstr ""
-#: doc/classes/Label.xml
+#: doc/classes/Label.xml doc/classes/Label3D.xml doc/classes/TextMesh.xml
msgid "Align rows to the right."
msgstr ""
-#: doc/classes/Label.xml
+#: doc/classes/Label.xml doc/classes/Label3D.xml
msgid "Expand row whitespaces to fit the width."
msgstr ""
-#: doc/classes/Label.xml
+#: doc/classes/Label.xml doc/classes/Label3D.xml
msgid "Align the whole text to the top."
msgstr ""
-#: doc/classes/Label.xml
+#: doc/classes/Label.xml doc/classes/Label3D.xml
msgid "Align the whole text to the center."
msgstr ""
-#: doc/classes/Label.xml
+#: doc/classes/Label.xml doc/classes/Label3D.xml
msgid "Align the whole text to the bottom."
msgstr ""
-#: doc/classes/Label.xml
+#: doc/classes/Label.xml doc/classes/Label3D.xml
msgid "Align the whole text by spreading the rows."
msgstr ""
@@ -32126,6 +32557,194 @@ msgstr ""
msgid "Background [StyleBox] for the [Label]."
msgstr ""
+#: doc/classes/Label3D.xml
+msgid "Displays plain text in a 3D world."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"Label3D displays plain text in a 3D world. It gives you control over the "
+"horizontal and vertical alignment."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"Returns a [TriangleMesh] with the label's vertices following its current "
+"configuration (such as its [member pixel_size])."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"If [code]true[/code], the specified flag will be enabled. See [enum Label3D."
+"DrawFlags] for a list of flags."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"The alpha cutting mode to use for the sprite. See [enum AlphaCutMode] for "
+"possible values."
+msgstr ""
+
+#: doc/classes/Label3D.xml doc/classes/SpatialMaterial.xml
+msgid "Threshold at which the alpha scissor will discard values."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+#, fuzzy
+msgid "If [code]true[/code], wraps the text to the [member width]."
+msgstr "回傳參數的餘弦值。"
+
+#: doc/classes/Label3D.xml
+msgid ""
+"The billboard mode to use for the label. See [enum SpatialMaterial."
+"BillboardMode] for possible values."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"If [code]true[/code], text can be seen from the back as well, if "
+"[code]false[/code], it is invisible when looking at it from behind."
+msgstr ""
+
+#: doc/classes/Label3D.xml doc/classes/SpriteBase3D.xml
+#, fuzzy
+msgid ""
+"If [code]true[/code], the label is rendered at the same size regardless of "
+"distance."
+msgstr "回傳參數的餘弦值。"
+
+#: doc/classes/Label3D.xml
+msgid "[Font] used for the [Label3D]'s text."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"Controls the text's horizontal alignment. Supports left, center, right. Set "
+"it to one of the [enum Align] constants."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid "Vertical space between lines in multiline [Label3D]."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid "Text [Color] of the [Label3D]."
+msgstr ""
+
+#: doc/classes/Label3D.xml doc/classes/SpatialMaterial.xml
+#: doc/classes/SpriteBase3D.xml
+msgid ""
+"If [code]true[/code], depth testing is disabled and the object will be drawn "
+"in render order."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid "The text drawing offset (in pixels)."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid "The tint of [Font]'s outline."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"Sets the render priority for the text outline. Higher priority objects will "
+"be sorted in front of lower priority objects.\n"
+"[b]Note:[/b] This only applies if [member alpha_cut] is set to [constant "
+"ALPHA_CUT_DISABLED] (default value).\n"
+"[b]Note:[/b] This only applies to sorting of transparent objects. This will "
+"not impact how transparent objects are sorted relative to opaque objects. "
+"This is because opaque objects are not sorted, while transparent objects are "
+"sorted from back to front (subject to priority)."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid "The size of one pixel's width on the label to scale it in 3D."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"Sets the render priority for the text. Higher priority objects will be "
+"sorted in front of lower priority objects.\n"
+"[b]Note:[/b] This only applies if [member alpha_cut] is set to [constant "
+"ALPHA_CUT_DISABLED] (default value).\n"
+"[b]Note:[/b] This only applies to sorting of transparent objects. This will "
+"not impact how transparent objects are sorted relative to opaque objects. "
+"This is because opaque objects are not sorted, while transparent objects are "
+"sorted from back to front (subject to priority)."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"If [code]true[/code], the [Light] in the [Environment] has effects on the "
+"label."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"Controls the text's vertical alignment. Supports top, center, bottom. Set it "
+"to one of the [enum VAlign] constants."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid "Text width (in pixels), used for autowrap and fill alignment."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid "If set, lights in the environment affect the label."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"If set, text can be seen from the back as well. If not, the text is "
+"invisible when looking at it from behind."
+msgstr ""
+
+#: doc/classes/Label3D.xml doc/classes/SpatialMaterial.xml
+#: doc/classes/SpriteBase3D.xml
+msgid ""
+"Disables the depth test, so this object is drawn on top of all others. "
+"However, objects drawn after it in the draw order may cover it."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"Label is scaled by depth so that it always appears the same size on screen."
+msgstr ""
+
+#: doc/classes/Label3D.xml doc/classes/SpriteBase3D.xml
+msgid "Represents the size of the [enum DrawFlags] enum."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"This mode performs standard alpha blending. It can display translucent "
+"areas, but transparency sorting issues may be visible when multiple "
+"transparent materials are overlapping."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"This mode only allows fully transparent or fully opaque pixels. This mode is "
+"also known as [i]alpha testing[/i] or [i]1-bit transparency[/i].\n"
+"[b]Note:[/b] This mode might have issues with anti-aliased fonts and "
+"outlines, try adjusting [member alpha_scissor_threshold] or using SDF font.\n"
+"[b]Note:[/b] When using text with overlapping glyphs (e.g., cursive "
+"scripts), this mode might have transparency sorting issues between the main "
+"text and the outline."
+msgstr ""
+
+#: doc/classes/Label3D.xml
+msgid ""
+"This mode draws fully opaque pixels in the depth prepass. This is slower "
+"than [constant ALPHA_CUT_DISABLED] or [constant ALPHA_CUT_DISCARD], but it "
+"allows displaying translucent areas and smooth edges while using proper "
+"sorting.\n"
+"[b]Note:[/b] When using text with overlapping glyphs (e.g., cursive "
+"scripts), this mode might have transparency sorting issues between the main "
+"text and the outline."
+msgstr ""
+
#: doc/classes/LargeTexture.xml
msgid ""
"[i]Deprecated.[/i] A [Texture] capable of storing many smaller textures with "
@@ -32574,7 +33193,8 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"A line through several points in 2D space.\n"
+"A line through several points in 2D space. Supports varying width and color "
+"over the line's length, texturing, and several cap/joint types.\n"
"[b]Note:[/b] By default, Godot can only draw up to 4,096 polygon points at a "
"time. To increase this limit, open the Project Settings and increase [member "
"ProjectSettings.rendering/limits/buffers/canvas_polygon_buffer_size_kb] and "
@@ -32618,8 +33238,17 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"If [code]true[/code], the line's border will be anti-aliased.\n"
-"[b]Note:[/b] Line2D is not accelerated by batching when being anti-aliased."
+"If [code]true[/code], the line's border will attempt to perform antialiasing "
+"by drawing thin OpenGL smooth lines on the line's edges.\n"
+"[b]Note:[/b] Line2D is not accelerated by batching if [member antialiased] "
+"is [code]true[/code].\n"
+"[b]Note:[/b] Due to how it works, built-in antialiasing will not look "
+"correct for translucent lines and may not work on certain platforms. As a "
+"workaround, install the [url=https://github.com/godot-extended-libraries/"
+"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an "
+"AntialiasedLine2D node. That node relies on a texture with custom mipmaps to "
+"perform antialiasing. 2D batching is also still supported with those "
+"antialiased lines."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34229,12 +34858,18 @@ msgid ""
msgstr ""
#: doc/classes/MeshInstance.xml
-msgid "Returns the [Material] for a surface of the [Mesh] resource."
+msgid ""
+"Returns the override [Material] for a surface of the [Mesh] resource.\n"
+"[b]Note:[/b] This function only returns [i]override[/i] materials associated "
+"with this [MeshInstance]. Consider using [method get_active_material] or "
+"[method Mesh.surface_get_material] to get materials associated with the "
+"[Mesh] resource."
msgstr ""
#: doc/classes/MeshInstance.xml
-msgid "Returns the number of surface materials."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of surface override materials."
+msgstr "回傳參數的正弦值。"
#: doc/classes/MeshInstance.xml
msgid ""
@@ -34270,7 +34905,10 @@ msgid ""
msgstr ""
#: doc/classes/MeshInstance.xml
-msgid "Sets the [Material] for a surface of the [Mesh] resource."
+msgid ""
+"Sets the override [Material] for the specified surface of the [Mesh] "
+"resource. This material is associated with this [MeshInstance] rather than "
+"with the [Mesh] resource."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -34301,9 +34939,10 @@ msgstr ""
#: doc/classes/MeshInstance2D.xml
msgid ""
-"Node used for displaying a [Mesh] in 2D. Can be constructed from an existing "
-"[Sprite] via a tool in the editor toolbar. Select \"Sprite\" then \"Convert "
-"to Mesh2D\", select settings in popup and press \"Create Mesh2D\"."
+"Node used for displaying a [Mesh] in 2D. A [MeshInstance2D] can be "
+"automatically created from an existing [Sprite] via a tool in the editor "
+"toolbar. Select the [Sprite] node, then choose [b]Sprite > Convert to "
+"MeshInstance2D[/b] at the top of the 2D editor viewport."
msgstr ""
#: doc/classes/MeshInstance2D.xml
@@ -34459,6 +35098,41 @@ msgstr ""
msgid "Sets the mesh used to draw. It must be a mesh using 2D vertices."
msgstr ""
+#: doc/classes/MethodTweener.xml
+msgid ""
+"Interpolates an abstract value and supplies it to a method called over time."
+msgstr ""
+
+#: doc/classes/MethodTweener.xml
+msgid ""
+"[MethodTweener] is similar to a combination of [CallbackTweener] and "
+"[PropertyTweener]. It calls a method providing an interpolated value as a "
+"parameter. See [method SceneTreeTween.tween_method] for more usage "
+"information.\n"
+"[b]Note:[/b] [method SceneTreeTween.tween_method] is the only correct way to "
+"create [MethodTweener]. Any [MethodTweener] created manually will not "
+"function correctly."
+msgstr ""
+
+#: doc/classes/MethodTweener.xml
+msgid ""
+"Sets the time in seconds after which the [MethodTweener] will start "
+"interpolating. By default there's no delay."
+msgstr ""
+
+#: 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/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 "
+"this Tweener."
+msgstr ""
+
#: modules/mobile_vr/doc_classes/MobileVRInterface.xml
msgid "Generic mobile VR implementation."
msgstr ""
@@ -35033,6 +35707,9 @@ msgstr ""
#: doc/classes/Navigation.xml
msgid ""
+"[i]Deprecated.[/i] [Navigation] node and [method get_simple_path] are "
+"deprecated and will be removed in a future version. Use [method "
+"NavigationServer.map_get_path] instead.\n"
"Provides navigation and pathfinding within a collection of "
"[NavigationMesh]es. By default, these will be automatically collected from "
"child [NavigationMeshInstance] nodes. In addition to basic pathfinding, this "
@@ -35073,7 +35750,15 @@ msgid ""
msgstr ""
#: doc/classes/Navigation.xml
+#, fuzzy
+msgid "Returns the [RID] of the navigation map on the [NavigationServer]."
+msgstr "回傳參數的正弦值。"
+
+#: doc/classes/Navigation.xml
msgid ""
+"[i]Deprecated.[/i] [Navigation] node and [method get_simple_path] are "
+"deprecated and will be removed in a future version. Use [method "
+"NavigationServer.map_get_path] instead.\n"
"Returns the path between two given points. Points are in local coordinate "
"space. If [code]optimize[/code] is [code]true[/code] (the default), the "
"agent properties associated with each [NavigationMesh] (radius, height, "
@@ -35095,16 +35780,31 @@ msgstr ""
#: doc/classes/Navigation.xml
msgid ""
+"A bitfield determining all navigation map layers the navigation can use on a "
+"[method Navigation.get_simple_path] path query."
+msgstr ""
+
+#: doc/classes/Navigation.xml
+msgid ""
"Defines which direction is up. By default, this is [code](0, 1, 0)[/code], "
"which is the world's \"up\" direction."
msgstr ""
+#: doc/classes/Navigation.xml doc/classes/Navigation2DServer.xml
+#: doc/classes/NavigationServer.xml
+msgid ""
+"Emitted when a navigation map is updated, when a region moves or is modified."
+msgstr ""
+
#: doc/classes/Navigation2D.xml
msgid "2D navigation and pathfinding node."
msgstr ""
#: doc/classes/Navigation2D.xml
msgid ""
+"[i]Deprecated.[/i] [Navigation2D] node and [method get_simple_path] are "
+"deprecated and will be removed in a future version. Use [method "
+"Navigation2DServer.map_get_path] instead.\n"
"Navigation2D provides navigation and pathfinding within a 2D area, specified "
"as a collection of [NavigationPolygon] resources. By default, these are "
"automatically collected from child [NavigationPolygonInstance] nodes."
@@ -35124,6 +35824,9 @@ msgstr ""
#: doc/classes/Navigation2D.xml
msgid ""
+"[i]Deprecated.[/i] [Navigation2D] node and [method get_simple_path] are "
+"deprecated and will be removed in a future version. Use [method "
+"Navigation2DServer.map_get_path] instead.\n"
"Returns the path between two given points. Points are in local coordinate "
"space. If [code]optimize[/code] is [code]true[/code] (the default), the path "
"is smoothed by merging path segments where possible."
@@ -35133,6 +35836,12 @@ msgstr ""
msgid "The XY plane cell size to use for fields."
msgstr ""
+#: doc/classes/Navigation2D.xml
+msgid ""
+"A bitfield determining all navigation map layers the navigation can use on a "
+"[method Navigation2D.get_simple_path] path query."
+msgstr ""
+
#: doc/classes/Navigation2DServer.xml
msgid "Server interface for low-level 2D navigation access."
msgstr ""
@@ -35142,11 +35851,19 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than navigation map [code]edge_connection_margin[/"
+"code] to the respective other edge's vertex.\n"
+"You may assign navigation layers to regions with [method Navigation2DServer."
+"region_set_navigation_layers], which then can be checked upon when "
+"requesting a path with [method Navigation2DServer.map_get_path]. This allows "
+"allowing or forbidding some areas to 2D objects.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -35164,11 +35881,27 @@ 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 ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
-msgid "Callback called at the end of the RVO process."
+msgid ""
+"Callback called at the end of the RVO process. If a callback is created "
+"manually and the agent is placed on a navigation map it will calculate "
+"avoidance for the agent and dispatch the calculated [code]safe_velocity[/"
+"code] to the [code]receiver[/code] object with a signal to the chosen "
+"[code]method[/code] name.\n"
+"[b]Note:[/b] Created callbacks are always processed independently of the "
+"SceneTree state as long as the agent is on a navigation map and not freed. "
+"To disable the dispatch of a callback from an agent use [method "
+"agent_set_callback] again with a [code]null[/code] object as the "
+"[code]receiver[/code]."
msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
@@ -35229,10 +35962,56 @@ msgid "Destroys the given RID."
msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all created navigation map [RID]s on the NavigationServer. This "
+"returns both 2D and 3D created navigation maps as there is technically no "
+"distinction between them."
+msgstr ""
+
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Create a new map."
msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"This function immediately forces synchronization of the specified navigation "
+"[code]map[/code] [RID]. By default navigation maps are only synchronized at "
+"the end of each physics frame. This function can be used to immediately "
+"(re)calculate all the navigation meshes and region connections of the "
+"navigation map. This makes it possible to query a navigation path for a "
+"changed map immediately and in the same frame (multiple times if needed).\n"
+"Due to technical restrictions the current NavigationServer command queue "
+"will be flushed. This means all already queued update commands for this "
+"physics frame will be executed, even those intended for other maps, regions "
+"and agents not part of the specified map. The expensive computation of the "
+"navigation meshes and region connections of a map will only be done for the "
+"specified map. Other maps will receive the normal synchronization at the end "
+"of the physics frame. Should the specified map receive changes after the "
+"forced update it will update again as well when the other maps receive their "
+"update.\n"
+"Avoidance processing and dispatch of the [code]safe_velocity[/code] signals "
+"is untouched by this function and continues to happen for all maps and "
+"agents at the end of the physics frame.\n"
+"[b]Note:[/b] With great power comes great responsibility. This function "
+"should only be used by users that really know what they are doing and have a "
+"good reason for it. Forcing an immediate update of a navigation map requires "
+"locking the NavigationServer and flushing the entire NavigationServer "
+"command queue. Not only can this severely impact the performance of a game "
+"but it can also introduce bugs if used inappropriately without much "
+"foresight."
+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
+msgid "Returns the map cell height. [b]Note:[/b] Currently not implemented."
+msgstr ""
+
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
#, fuzzy
msgid "Returns the map cell size."
msgstr "回傳參數的反正弦值。"
@@ -35256,7 +36035,16 @@ msgid ""
msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
-msgid "Returns the navigation path to reach the destination from the origin."
+msgid ""
+"Returns the navigation path to reach the destination from the origin. "
+"[code]navigation_layers[/code] is a bitmask of all region layers that are "
+"allowed to be in the path."
+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
@@ -35269,6 +36057,12 @@ msgstr "回傳參數的餘弦值。"
msgid "Sets the map active."
msgstr "回傳參數的反正弦值。"
+#: doc/classes/Navigation2DServer.xml
+msgid ""
+"Set the map cell height used to weld the navigation mesh polygons. [b]Note:[/"
+"b] Currently not implemented."
+msgstr ""
+
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Set the map cell size used to weld the navigation mesh polygons."
msgstr ""
@@ -35283,10 +36077,79 @@ msgid "Creates a new region."
msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the ending point of a connection door. [code]connection[/code] is an "
+"index between 0 and the return value of [method "
+"region_get_connections_count]."
+msgstr ""
+
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the starting point of a connection door. [code]connection[/code] is "
+"an index between 0 and the return value of [method "
+"region_get_connections_count]."
+msgstr ""
+
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns how many connections this [code]region[/code] has with other regions "
+"in the map."
+msgstr ""
+
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+#, fuzzy
+msgid "Returns the [code]enter_cost[/code] of this [code]region[/code]."
+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 "Returns the region's navigation layers."
+msgstr "回傳參數的正弦值。"
+
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+#, fuzzy
+msgid "Returns the [code]travel_cost[/code] of this [code]region[/code]."
+msgstr "計算兩個向量的外積。"
+
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns [code]true[/code] if the provided [code]point[/code] in world space "
+"is currently owned by the provided navigation [code]region[/code]. Owned in "
+"this context means that one of the region's navigation mesh polygon faces "
+"has a possible position at the closest distance to this point compared to "
+"all other navigation meshes from other navigation regions that are also "
+"registered on the navigation map of the provided region.\n"
+"If multiple navigation meshes have positions at equal distance the "
+"navigation region whose polygons are processed first wins the ownership. "
+"Polygons are processed in the same order that navigation regions were "
+"registered on the NavigationServer.\n"
+"[b]Note:[/b] If navigation meshes from different navigation regions overlap "
+"(which should be avoided in general) the result might not be what is "
+"expected."
+msgstr ""
+
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+#, fuzzy
+msgid "Sets the [code]enter_cost[/code] for this [code]region[/code]."
+msgstr "計算兩個向量的外積。"
+
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
#, fuzzy
msgid "Sets the map for the region."
msgstr "回傳參數的正弦值。"
+#: doc/classes/Navigation2DServer.xml
+msgid ""
+"Set the region's navigation layers. This allows selecting regions from a "
+"path request (when using [method Navigation2DServer.map_get_path])."
+msgstr ""
+
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
#, fuzzy
msgid "Sets the navigation mesh for the region."
@@ -35297,6 +36160,11 @@ msgstr "回傳參數的相反值。"
msgid "Sets the global transformation for the region."
msgstr "計算兩個向量的外積。"
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+#, fuzzy
+msgid "Sets the [code]travel_cost[/code] for this [code]region[/code]."
+msgstr "計算兩個向量的外積。"
+
#: doc/classes/NavigationAgent.xml
msgid "3D agent used in navigation for collision avoidance."
msgstr ""
@@ -35306,9 +36174,16 @@ msgid ""
"3D agent that is used in navigation to reach a location while avoiding "
"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
"(Reciprocal Velocity Obstacles) collision avoidance. The agent needs "
-"navigation data to work correctly. This can be done by having the agent as a "
-"child of a [Navigation] node, or using [method set_navigation]. "
-"[NavigationAgent] is physics safe."
+"navigation data to work correctly. By default this node will register to the "
+"default [World] navigation map. If this node is a child of a [Navigation] "
+"node it will register to the navigation map of the navigation node or the "
+"function [method set_navigation] can be used to set the navigation node "
+"directly. [NavigationAgent] is physics safe.\n"
+"[b]Note:[/b] After [method set_target_location] is used it is required to "
+"use the [method get_next_location] function once every physics frame to "
+"update the internal path logic of the NavigationAgent. The returned vector "
+"position from this function should be used as the next movement position for "
+"the agent's parent Node."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -35326,7 +36201,15 @@ msgid ""
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
-msgid "Returns the path from start to finish in global coordinates."
+msgid ""
+"Returns this agent's current path from start to finish in global "
+"coordinates. The path only updates when the target location is changed or "
+"the agent requires a repath. The path array is not intended to be used in "
+"direct path movement as the agent has its own internal path logic that would "
+"get corrupted by changing the path array manually. Use the intended [method "
+"get_next_location] once every physics frame to receive the next path point "
+"for the agents movement as this function also updates the internal path "
+"logic."
msgstr ""
#: doc/classes/NavigationAgent.xml
@@ -35342,15 +36225,33 @@ msgid ""
"system."
msgstr ""
-#: doc/classes/NavigationAgent.xml
+#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
-"Returns a [Vector3] in global coordinates, that can be moved to, making sure "
-"that there are no static objects in the way. If the agent does not have a "
-"navigation path, it will return the origin of the agent's parent."
+"Returns the [RID] of the navigation map for this NavigationAgent node. This "
+"function returns always the map set on the NavigationAgent node and not the "
+"map of the abstract agent on the NavigationServer. If the agent map is "
+"changed directly with the NavigationServer API the NavigationAgent node will "
+"not be aware of the map change. Use [method set_navigation_map] to change "
+"the navigation map for the NavigationAgent and also update the agent on the "
+"NavigationServer."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
+"Returns the next location in global coordinates that can be moved to, making "
+"sure that there are no static objects in the way. If the agent does not have "
+"a navigation path, it will return the position of the agent's parent. The "
+"use of this function once every physics frame is required to update the "
+"internal path logic of the NavigationAgent."
+msgstr ""
+
+#: doc/classes/NavigationAgent.xml
+#, fuzzy
+msgid "Returns the [RID] of this agent on the [NavigationServer]."
+msgstr "回傳參數的正弦值。"
+
+#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
+msgid ""
"Returns the user-defined target location (set with [method "
"set_target_location])."
msgstr ""
@@ -35383,6 +36284,12 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
+"Sets the [RID] of the navigation map this NavigationAgent node should use "
+"and also updates the [code]agent[/code] on the NavigationServer."
+msgstr ""
+
+#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
+msgid ""
"Sets the user desired final location. This will clear the current navigation "
"path."
msgstr ""
@@ -35395,7 +36302,23 @@ msgid ""
msgstr ""
#: doc/classes/NavigationAgent.xml
-msgid "The agent height offset to match the navigation mesh height."
+msgid ""
+"The NavigationAgent height offset is subtracted from the y-axis value of any "
+"vector path position for this NavigationAgent. The NavigationAgent height "
+"offset does not change or influence the navigation mesh or pathfinding query "
+"result. Additional navigation maps that use regions with navigation meshes "
+"that the developer baked with appropriate agent radius or height values are "
+"required to support different-sized agents."
+msgstr ""
+
+#: doc/classes/NavigationAgent.xml
+msgid ""
+"If [code]true[/code] the agent is registered for an RVO avoidance callback "
+"on the [NavigationServer]. When [method set_velocity] is used and the "
+"processing is completed a [code]safe_velocity[/code] Vector3 is received "
+"with a signal connection to [signal velocity_computed]. Avoidance processing "
+"with many registered agents has a significant performance cost and should "
+"only be enabled on agents that currently require it."
msgstr ""
#: doc/classes/NavigationAgent.xml
@@ -35412,26 +36335,53 @@ msgstr ""
msgid "The maximum speed that an agent can move."
msgstr ""
+#: doc/classes/NavigationAgent.xml
+msgid ""
+"A bitfield determining all navigation map layers the [NavigationAgent] "
+"belongs to. On path requests the agent will ignore navmeshes without at "
+"least one matching layer."
+msgstr ""
+
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid "The distance to search for other agents."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
+"The distance threshold before a path point is considered to be reached. This "
+"will allow an agent to not have to hit a path point on the path exactly, but "
+"in the area. If this value is set to high the NavigationAgent will skip "
+"points on the path which can lead to leaving the navigation mesh. If this "
+"value is set to low the NavigationAgent will be stuck in a repath loop cause "
+"it will constantly overshoot or undershoot the distance to the next point on "
+"each physics frame update."
+msgstr ""
+
+#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
+msgid ""
"The maximum distance the agent is allowed away from the ideal path to the "
"final location. This can happen due to trying to avoid collisions. When the "
"maximum distance is exceeded, it recalculates the ideal path."
msgstr ""
-#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
-msgid "The radius of the agent."
+#: doc/classes/NavigationAgent.xml
+msgid ""
+"The radius of the avoidance agent. This is the \"body\" of the avoidance "
+"agent and not the avoidance maneuver starting radius (which is controlled by "
+"[member neighbor_dist]).\n"
+"Does not affect normal pathfinding. To change an actor's pathfinding radius "
+"bake [NavigationMesh] resources with a different [member NavigationMesh."
+"agent_radius] property and use different navigation maps for each actor size."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
-"The distance threshold before a target is considered to be reached. This "
-"will allow an agent to not have to hit a point on the path exactly, but in "
-"the area."
+"The distance threshold before the final target point is considered to be "
+"reached. This will allow an agent to not have to hit the point of the final "
+"target exactly, but only the area. If this value is set to low the "
+"NavigationAgent will be stuck in a repath loop cause it will constantly "
+"overshoot or undershoot the distance to the final target point on each "
+"physics frame update."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -35474,9 +36424,16 @@ msgid ""
"2D agent that is used in navigation to reach a location while avoiding "
"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
"(Reciprocal Velocity Obstacles) collision avoidance. The agent needs "
-"navigation data to work correctly. This can be done by having the agent as a "
-"child of a [Navigation2D] node, or using [method set_navigation]. "
-"[NavigationAgent2D] is physics safe."
+"navigation data to work correctly. By default this node will register to the "
+"default [World2D] navigation map. If this node is a child of a "
+"[Navigation2D] node it will register to the navigation map of the navigation "
+"node or the function [method set_navigation] can be used to set the "
+"navigation node directly. [NavigationAgent2D] is physics safe.\n"
+"[b]Note:[/b] After [method set_target_location] is used it is required to "
+"use the [method get_next_location] function once every physics frame to "
+"update the internal path logic of the NavigationAgent. The returned vector "
+"position from this function should be used as the next movement position for "
+"the agent's parent Node."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -35493,11 +36450,9 @@ msgid ""
msgstr ""
#: doc/classes/NavigationAgent2D.xml
-msgid ""
-"Returns a [Vector2] in global coordinates, that can be moved to, making sure "
-"that there are no static objects in the way. If the agent does not have a "
-"navigation path, it will return the position of the agent's parent."
-msgstr ""
+#, fuzzy
+msgid "Returns the [RID] of this agent on the [Navigation2DServer]."
+msgstr "回傳參數的正弦值。"
#: doc/classes/NavigationAgent2D.xml
msgid ""
@@ -35505,6 +36460,31 @@ msgid ""
"to make the agent a child of a [Navigation2D] node."
msgstr ""
+#: doc/classes/NavigationAgent2D.xml
+msgid ""
+"If [code]true[/code] the agent is registered for an RVO avoidance callback "
+"on the [Navigation2DServer]. When [method set_velocity] is used and the "
+"processing is completed a [code]safe_velocity[/code] Vector2 is received "
+"with a signal connection to [signal velocity_computed]. Avoidance processing "
+"with many registered agents has a significant performance cost and should "
+"only be enabled on agents that currently require it."
+msgstr ""
+
+#: doc/classes/NavigationAgent2D.xml
+msgid ""
+"A bitfield determining all navigation map layers the [NavigationAgent2D] "
+"belongs to. On path requests the agent will ignore navmeshes without at "
+"least one matching layer."
+msgstr ""
+
+#: doc/classes/NavigationAgent2D.xml
+msgid ""
+"The radius of the avoidance agent. This is the \"body\" of the avoidance "
+"agent and not the avoidance maneuver starting radius (which is controlled by "
+"[member neighbor_dist]).\n"
+"Does not affect normal pathfinding."
+msgstr ""
+
#: doc/classes/NavigationMesh.xml
msgid "A mesh to approximate the walkable areas and obstacles."
msgstr ""
@@ -35535,8 +36515,8 @@ msgstr ""
#: doc/classes/NavigationMesh.xml
msgid ""
-"Returns whether the specified [code]bit[/code] of the [member geometry/"
-"collision_mask] is set."
+"Returns whether the specified [code]bit[/code] of the [member "
+"geometry_collision_mask] is set."
msgstr ""
#: doc/classes/NavigationMesh.xml doc/classes/NavigationPolygon.xml
@@ -35559,9 +36539,9 @@ msgstr ""
#: doc/classes/NavigationMesh.xml
msgid ""
"If [code]value[/code] is [code]true[/code], sets the specified [code]bit[/"
-"code] in the [member geometry/collision_mask].\n"
+"code] in the [member geometry_collision_mask].\n"
"If [code]value[/code] is [code]false[/code], clears the specified [code]bit[/"
-"code] in the [member geometry/collision_mask]."
+"code] in the [member geometry_collision_mask]."
msgstr ""
#: doc/classes/NavigationMesh.xml doc/classes/NavigationPolygon.xml
@@ -35575,14 +36555,14 @@ msgid ""
"The minimum floor to ceiling height that will still allow the floor area to "
"be considered walkable.\n"
"[b]Note:[/b] While baking, this value will be rounded up to the nearest "
-"multiple of [member cell/height]."
+"multiple of [member cell_height]."
msgstr ""
#: doc/classes/NavigationMesh.xml
msgid ""
"The minimum ledge height that is considered to still be traversable.\n"
"[b]Note:[/b] While baking, this value will be rounded down to the nearest "
-"multiple of [member cell/height]."
+"multiple of [member cell_height]."
msgstr ""
#: doc/classes/NavigationMesh.xml
@@ -35594,7 +36574,7 @@ msgid ""
"The distance to erode/shrink the walkable area of the heightfield away from "
"obstructions.\n"
"[b]Note:[/b] While baking, this value will be rounded up to the nearest "
-"multiple of [member cell/size]."
+"multiple of [member cell_size]."
msgstr ""
#: doc/classes/NavigationMesh.xml
@@ -35622,13 +36602,17 @@ msgstr ""
msgid ""
"The maximum allowed length for contour edges along the border of the mesh.\n"
"[b]Note:[/b] While baking, this value will be rounded up to the nearest "
-"multiple of [member cell/size]."
+"multiple of [member cell_size]."
msgstr ""
#: doc/classes/NavigationMesh.xml
msgid ""
-"If [code]true[/code], marks walkable spans as not walkable if the clearance "
-"above the span is less than [member agent/height]."
+"If the baking [AABB] has a volume the navigation mesh baking will be "
+"restricted to its enclosing area."
+msgstr ""
+
+#: doc/classes/NavigationMesh.xml
+msgid "The position offset applied to the [member filter_baking_aabb] [AABB]."
msgstr ""
#: doc/classes/NavigationMesh.xml
@@ -35638,13 +36622,19 @@ msgstr ""
#: doc/classes/NavigationMesh.xml
msgid ""
"If [code]true[/code], marks non-walkable spans as walkable if their maximum "
-"is within [member agent/max_climb] of a walkable neighbor."
+"is within [member agent_max_climb] of a walkable neighbor."
+msgstr ""
+
+#: doc/classes/NavigationMesh.xml
+msgid ""
+"If [code]true[/code], marks walkable spans as not walkable if the clearance "
+"above the span is less than [member agent_height]."
msgstr ""
#: doc/classes/NavigationMesh.xml
msgid ""
"The physics layers to scan for static colliders.\n"
-"Only used when [member geometry/parsed_geometry_type] is [constant "
+"Only used when [member geometry_parsed_geometry_type] is [constant "
"PARSED_GEOMETRY_STATIC_COLLIDERS] or [constant PARSED_GEOMETRY_BOTH]."
msgstr ""
@@ -35663,7 +36653,7 @@ msgstr ""
#: doc/classes/NavigationMesh.xml
msgid ""
"The name of the group to scan for geometry.\n"
-"Only used when [member geometry/source_geometry_mode] is [constant "
+"Only used when [member geometry_source_geometry_mode] is [constant "
"SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN] or [constant "
"SOURCE_GEOMETRY_GROUPS_EXPLICIT]."
msgstr ""
@@ -35726,7 +36716,7 @@ msgstr ""
#: doc/classes/NavigationMesh.xml
msgid ""
"Parses [StaticBody] colliders as geometry. The collider should be in any of "
-"the layers specified by [member geometry/collision_mask]."
+"the layers specified by [member geometry_collision_mask]."
msgstr ""
#: doc/classes/NavigationMesh.xml
@@ -35748,13 +36738,13 @@ msgstr ""
#: doc/classes/NavigationMesh.xml
msgid ""
"Scans nodes in a group and their child nodes recursively for geometry. The "
-"group is specified by [member geometry/source_group_name]."
+"group is specified by [member geometry_source_group_name]."
msgstr ""
#: doc/classes/NavigationMesh.xml
msgid ""
"Uses nodes in a group for geometry. The group is specified by [member "
-"geometry/source_group_name]."
+"geometry_source_group_name]."
msgstr ""
#: doc/classes/NavigationMesh.xml
@@ -35762,19 +36752,68 @@ 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.\n"
+"[b]Note:[/b] Using meshes to not only define walkable surfaces but also "
+"obstruct navigation baking does not always work. The navigation baking has "
+"no concept of what is a geometry \"inside\" when dealing with mesh source "
+"geometry and this is intentional. Depending on current baking parameters, as "
+"soon as the obstructing mesh is large enough to fit a navigation mesh area "
+"inside, the baking will generate navigation mesh areas that are inside the "
+"obstructing source geometry mesh."
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 ""
@@ -35782,15 +36821,42 @@ msgstr ""
#: doc/classes/NavigationMeshInstance.xml
msgid ""
"An instance of a [NavigationMesh]. It tells the [Navigation] node what can "
-"be navigated and what cannot, based on the [NavigationMesh] resource. This "
-"should be a child of a [Navigation] node."
+"be navigated and what cannot, based on the [NavigationMesh] resource.\n"
+"By default this node will register to the default [World] navigation map. If "
+"this node is a child of a [Navigation] node it will register to the "
+"navigation map of the navigation node.\n"
+"Two regions can be connected to each other if they share a similar edge. You "
+"can set the minimum distance between two vertices required to connect two "
+"edges by using [method NavigationServer.map_set_edge_connection_margin].\n"
+"[b]Note:[/b] Overlapping two regions' navmeshes is not enough for connecting "
+"two regions. They must share a similar edge.\n"
+"The cost of entering this region from another region can be controlled with "
+"the [member enter_cost] value.\n"
+"[b]Note:[/b] This value is not added to the path cost when the start "
+"position is already inside this region.\n"
+"The cost of traveling distances inside this region can be controlled with "
+"the [member travel_cost] multiplier."
+msgstr ""
+
+#: doc/classes/NavigationMeshInstance.xml
+msgid ""
+"Bakes the [NavigationMesh]. If [code]on_thread[/code] is set to [code]true[/"
+"code] (default), the baking is done on a separate thread. Baking on separate "
+"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. 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
msgid ""
-"Bakes the [NavigationMesh]. The baking is done in a separate thread because "
-"navigation baking is not a cheap operation. This can be done at runtime. "
-"When it is completed, it automatically sets the new [NavigationMesh]."
+"Returns the [RID] of this region on the [NavigationServer]. Combined with "
+"[method NavigationServer.map_get_closest_point_owner] can be used to "
+"identify the [NavigationMeshInstance] closest to a point on the merged "
+"navigation map."
msgstr ""
#: doc/classes/NavigationMeshInstance.xml
@@ -35798,10 +36864,34 @@ msgid "Determines if the [NavigationMeshInstance] is enabled or disabled."
msgstr ""
#: doc/classes/NavigationMeshInstance.xml
+#: doc/classes/NavigationPolygonInstance.xml
+msgid ""
+"When pathfinding enters this region's navmesh from another regions navmesh "
+"the [code]enter_cost[/code] value is added to the path distance for "
+"determining the shortest path."
+msgstr ""
+
+#: doc/classes/NavigationMeshInstance.xml
+msgid ""
+"A bitfield determining all navigation map layers the [NavigationMesh] "
+"belongs to. On path requests with [method NavigationServer.map_get_path] "
+"navmeshes without matching layers will be ignored and the navigation map "
+"will only proximity merge different navmeshes with matching layers."
+msgstr ""
+
+#: doc/classes/NavigationMeshInstance.xml
msgid "The [NavigationMesh] resource to use."
msgstr ""
#: doc/classes/NavigationMeshInstance.xml
+#: doc/classes/NavigationPolygonInstance.xml
+msgid ""
+"When pathfinding moves inside this region's navmesh the traveled distances "
+"are multiplied with [code]travel_cost[/code] for determining the shortest "
+"path."
+msgstr ""
+
+#: doc/classes/NavigationMeshInstance.xml
msgid "Notifies when the navigation mesh bake operation is completed."
msgstr ""
@@ -35818,7 +36908,9 @@ msgid ""
"3D obstacle used in navigation for collision avoidance. The obstacle needs "
"navigation data to work correctly. This can be done by having the obstacle "
"as a child of a [Navigation] node, or using [method set_navigation]. "
-"[NavigationObstacle] is physics safe."
+"[NavigationObstacle] is physics safe.\n"
+"[b]Note:[/b] Obstacles are intended as a last resort option for constantly "
+"moving objects that cannot be (re)baked to a navigation mesh efficiently."
msgstr ""
#: doc/classes/NavigationObstacle.xml
@@ -35828,6 +36920,11 @@ msgid ""
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 "
"to make the obstacle a child of a [Navigation] node."
@@ -35854,7 +36951,9 @@ msgid ""
"2D obstacle used in navigation for collision avoidance. The obstacle needs "
"navigation data to work correctly. This can be done by having the obstacle "
"as a child of a [Navigation2D] node, or using [method set_navigation]. "
-"[NavigationObstacle2D] is physics safe."
+"[NavigationObstacle2D] is physics safe.\n"
+"[b]Note:[/b] Obstacles are intended as a last resort option for constantly "
+"moving objects that cannot be (re)baked to a navigation mesh efficiently."
msgstr ""
#: doc/classes/NavigationObstacle2D.xml
@@ -35864,6 +36963,11 @@ msgid ""
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 "
"want to make the obstacle a child of a [Navigation2D] node."
@@ -35930,6 +37034,14 @@ msgstr ""
#: doc/classes/NavigationPolygon.xml
msgid ""
+"Returns the [NavigationMesh] resulting from this navigation polygon. This "
+"navmesh can be used to update the navmesh of a region with the [method "
+"NavigationServer.region_set_navmesh] API directly (as 2D uses the 3D server "
+"behind the scene)."
+msgstr ""
+
+#: doc/classes/NavigationPolygon.xml
+msgid ""
"Returns a [PoolVector2Array] containing the vertices of an outline that was "
"created in the editor or by script."
msgstr ""
@@ -35965,6 +37077,54 @@ msgid ""
"[method make_polygons_from_outlines] for the polygons to update."
msgstr ""
+#: doc/classes/NavigationPolygonInstance.xml
+msgid "A region of the 2D navigation map."
+msgstr ""
+
+#: doc/classes/NavigationPolygonInstance.xml
+msgid ""
+"A region of the navigation map. It tells the [Navigation2DServer] what can "
+"be navigated and what cannot, based on its [NavigationPolygon] resource.\n"
+"By default this node will register to the default [World2D] navigation map. "
+"If this node is a child of a [Navigation2D] node it will register to the "
+"navigation map of the navigation node.\n"
+"Two regions can be connected to each other if they share a similar edge. You "
+"can set the minimum distance between two vertices required to connect two "
+"edges by using [method Navigation2DServer.map_set_edge_connection_margin].\n"
+"[b]Note:[/b] Overlapping two regions' polygons is not enough for connecting "
+"two regions. They must share a similar edge.\n"
+"The pathfinding cost of entering this region from another region can be "
+"controlled with the [member enter_cost] value.\n"
+"[b]Note:[/b] This value is not added to the path cost when the start "
+"position is already inside this region.\n"
+"The pathfinding cost of traveling distances inside this region can be "
+"controlled with the [member travel_cost] multiplier."
+msgstr ""
+
+#: doc/classes/NavigationPolygonInstance.xml
+msgid ""
+"Returns the [RID] of this region on the [Navigation2DServer]. Combined with "
+"[method Navigation2DServer.map_get_closest_point_owner] can be used to "
+"identify the [NavigationPolygonInstance] closest to a point on the merged "
+"navigation map."
+msgstr ""
+
+#: doc/classes/NavigationPolygonInstance.xml
+msgid "Determines if the [NavigationPolygonInstance] is enabled or disabled."
+msgstr ""
+
+#: doc/classes/NavigationPolygonInstance.xml
+msgid ""
+"A bitfield determining all navigation map layers the [NavigationPolygon] "
+"belongs to. On path requests with [method Navigation2DServer.map_get_path] "
+"navmeshes without matching layers will be ignored and the navigation map "
+"will only proximity merge different navmeshes with matching layers."
+msgstr ""
+
+#: doc/classes/NavigationPolygonInstance.xml
+msgid "The [NavigationPolygon] resource to use."
+msgstr ""
+
#: doc/classes/NavigationServer.xml
msgid "Server interface for low-level 3D navigation access."
msgstr ""
@@ -35974,11 +37134,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36040,9 +37204,61 @@ msgid "Bakes the navigation mesh."
msgstr ""
#: doc/classes/NavigationServer.xml
+msgid ""
+"Set the region's navigation layers. This allows selecting regions from a "
+"path request (when using [method NavigationServer.map_get_path])."
+msgstr ""
+
+#: doc/classes/NavigationServer.xml
msgid "Control activation of this server."
msgstr ""
+#: doc/classes/NetworkedMultiplayerCustom.xml
+msgid ""
+"A [NetworkedMultiplayerPeer] implementation that can be controlled from a "
+"script."
+msgstr ""
+
+#: doc/classes/NetworkedMultiplayerCustom.xml
+msgid ""
+"A [NetworkedMultiplayerPeer] implementation that can be used as a [member "
+"MultiplayerAPI.network_peer] and controlled from a script.\n"
+"Its purpose is to allow adding a new backend for the high-Level multiplayer "
+"API without needing to use GDNative."
+msgstr ""
+
+#: doc/classes/NetworkedMultiplayerCustom.xml
+msgid ""
+"Deliver a packet to the local [MultiplayerAPI].\n"
+"When your script receives a packet from other peers over the network "
+"(originating from the [signal packet_generated] signal on the sending peer), "
+"passing it to this method will deliver it locally."
+msgstr ""
+
+#: doc/classes/NetworkedMultiplayerCustom.xml
+msgid ""
+"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
+"and 2147483647)."
+msgstr ""
+
+#: doc/classes/NetworkedMultiplayerCustom.xml
+msgid ""
+"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
+"ConnectionStatus]."
+msgstr ""
+
+#: doc/classes/NetworkedMultiplayerCustom.xml
+msgid "Set the max packet size that this peer can handle."
+msgstr ""
+
+#: doc/classes/NetworkedMultiplayerCustom.xml
+msgid ""
+"Emitted when the local [MultiplayerAPI] generates a packet.\n"
+"Your script should take this packet and send it to the requested peer over "
+"the network (which should call [method deliver_packet] with the data when "
+"it's received)."
+msgstr ""
+
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid ""
"PacketPeer implementation using the [url=http://enet.bespin.org/index."
@@ -36218,7 +37434,7 @@ msgstr ""
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid ""
-"Enable or disable certificate verification when [member use_dtls] "
+"Enable or disable certificate verification when [member use_dtls] is "
"[code]true[/code]."
msgstr ""
@@ -36749,7 +37965,7 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] If you want a child to be persisted to a [PackedScene], you "
"must set [member owner] in addition to calling [method add_child]. This is "
-"typically relevant for [url=$DOCS_URL/tutorials/misc/"
+"typically relevant for [url=$DOCS_URL/tutorials/plugins/"
"running_code_in_the_editor.html]tool scripts[/url] and [url=$DOCS_URL/"
"tutorials/plugins/editor/index.html]editor plugins[/url]. If [method "
"add_child] is called without setting [member owner], the newly added [Node] "
@@ -36790,6 +38006,15 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Creates a new [SceneTreeTween] and binds it to this node. This is equivalent "
+"of doing:\n"
+"[codeblock]\n"
+"get_tree().create_tween().bind_node(self)\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Duplicates the node, returning a new node.\n"
"You can fine-tune the behavior using the [code]flags[/code] (see [enum "
"DuplicateFlags]).\n"
@@ -37035,16 +38260,16 @@ 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"
-"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"Node (see [member physics_interpolation_mode]).\n"
+"[b]Note:[/b] Interpolation will only be active if 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]."
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."
@@ -37244,8 +38469,8 @@ msgid ""
"will only be received by nodes with the same [NodePath], including the exact "
"same node name. Behaviour depends on the RPC configuration for the given "
"method, see [method rpc_config]. Methods are not exposed to RPCs by default. "
-"See also [method rset] and [method rset_config] for properties. Returns an "
-"empty [Variant].\n"
+"See also [method rset] and [method rset_config] for properties. Returns "
+"[code]null[/code].\n"
"[b]Note:[/b] You can only safely use RPCs on clients after you received the "
"[code]connected_to_server[/code] signal from the [SceneTree]. You also need "
"to keep track of the connection state, either by the [SceneTree] signals "
@@ -37267,21 +38492,20 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
"Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] "
-"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty "
-"[Variant]."
+"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/"
+"code]."
msgstr ""
#: doc/classes/Node.xml
msgid ""
-"Sends a [method rpc] using an unreliable protocol. Returns an empty "
-"[Variant]."
+"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]."
msgstr ""
#: doc/classes/Node.xml
msgid ""
"Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] "
"using an unreliable protocol (see [method NetworkedMultiplayerPeer."
-"set_target_peer]). Returns an empty [Variant]."
+"set_target_peer]). Returns [code]null[/code]."
msgstr ""
#: doc/classes/Node.xml
@@ -37338,14 +38562,6 @@ 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 "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37464,7 +38680,7 @@ msgid ""
"subinstancing.\n"
"[b]Note:[/b] If you want a child to be persisted to a [PackedScene], you "
"must set [member owner] in addition to calling [method add_child]. This is "
-"typically relevant for [url=$DOCS_URL/tutorials/misc/"
+"typically relevant for [url=$DOCS_URL/tutorials/plugins/"
"running_code_in_the_editor.html]tool scripts[/url] and [url=$DOCS_URL/"
"tutorials/plugins/editor/index.html]editor plugins[/url]. If [method "
"add_child] is called without setting [member owner], the newly added [Node] "
@@ -37478,6 +38694,15 @@ 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 "
"callbacks (i.e. [constant NOTIFICATION_PROCESS], [constant "
"NOTIFICATION_PHYSICS_PROCESS] and their internal counterparts). Nodes whose "
@@ -37487,14 +38712,29 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Sets this node's name as a unique name in its [member owner]. This allows "
+"the node to be accessed as [code]%Name[/code] instead of the full path, from "
+"any node within that scene.\n"
+"If another node with the same owner already had that name declared as "
+"unique, that other node's name will no longer be set as having a unique name."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Emitted when a child node enters the scene tree, either because it entered "
-"on its own or because this node entered with it."
+"on its own or because this node entered with it.\n"
+"This signal is emitted [i]after[/i] the child node's own [constant "
+"NOTIFICATION_ENTER_TREE] and [signal tree_entered]."
msgstr ""
#: doc/classes/Node.xml
msgid ""
-"Emitted when a child node exits the scene tree, either because it exited on "
-"its own or because this node exited."
+"Emitted when a child node is about to exit the scene tree, either because it "
+"is being removed or freed directly, or because this node is exiting the "
+"tree.\n"
+"When this signal is received, the child [code]node[/code] is still in the "
+"tree and valid. This signal is emitted [i]after[/i] the child node's own "
+"[signal tree_exiting] and [constant NOTIFICATION_EXIT_TREE]."
msgstr ""
#: doc/classes/Node.xml
@@ -37506,7 +38746,10 @@ msgid "Emitted when the node is renamed."
msgstr ""
#: doc/classes/Node.xml
-msgid "Emitted when the node enters the tree."
+msgid ""
+"Emitted when the node enters the tree.\n"
+"This signal is emitted [i]after[/i] the related [constant "
+"NOTIFICATION_ENTER_TREE] notification."
msgstr ""
#: doc/classes/Node.xml
@@ -37516,15 +38759,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
"Emitted when the node is still active but about to exit the tree. This is "
-"the right place for de-initialization (or a \"destructor\", if you will)."
+"the right place for de-initialization (or a \"destructor\", if you will).\n"
+"This signal is emitted [i]before[/i] the related [constant "
+"NOTIFICATION_EXIT_TREE] notification."
msgstr ""
#: doc/classes/Node.xml
-msgid "Notification received when the node enters a [SceneTree]."
+msgid ""
+"Notification received when the node enters a [SceneTree].\n"
+"This notification is emitted [i]before[/i] the related [signal tree_entered]."
msgstr ""
#: doc/classes/Node.xml
-msgid "Notification received when the node is about to exit a [SceneTree]."
+msgid ""
+"Notification received when the node is about to exit a [SceneTree].\n"
+"This notification is emitted [i]after[/i] the related [signal tree_exiting]."
msgstr ""
#: doc/classes/Node.xml
@@ -37572,11 +38821,18 @@ msgid "Notification received when the node is instanced."
msgstr ""
#: doc/classes/Node.xml
-msgid "Notification received when a drag begins."
+msgid ""
+"Notification received when a drag operation begins. All nodes receive this "
+"notification, not only the dragged one.\n"
+"Can be triggered either by dragging a [Control] that provides drag data (see "
+"[method Control.get_drag_data]) or using [method Control.force_drag].\n"
+"Use [method Viewport.gui_get_drag_data] to get the dragged data."
msgstr ""
#: doc/classes/Node.xml
-msgid "Notification received when a drag ends."
+msgid ""
+"Notification received when a drag operation ends.\n"
+"Use [method Viewport.gui_is_drag_successful] to check if the drag succeeded."
msgstr ""
#: doc/classes/Node.xml
@@ -37623,6 +38879,24 @@ 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 ""
@@ -37760,7 +39034,13 @@ msgid "Rotation in degrees, relative to the node's parent."
msgstr ""
#: doc/classes/Node2D.xml
-msgid "The node's scale. Unscaled value: [code](1, 1)[/code]."
+msgid ""
+"The node's scale. Unscaled value: [code](1, 1)[/code].\n"
+"[b]Note:[/b] Negative X scales in 2D are not decomposable from the "
+"transformation matrix. Due to the way scale is represented with "
+"transformation matrices in Godot, negative scales on the X axis will be "
+"changed to negative scales on the Y axis and a rotation of 180 degrees when "
+"decomposed."
msgstr ""
#: doc/classes/Node2D.xml
@@ -37884,7 +39164,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -38159,7 +39439,7 @@ msgid ""
"parameter used in the call to [method emit_signal]. Use [code]flags[/code] "
"to set deferred or one-shot connections. See [enum ConnectFlags] constants.\n"
"A [code]signal[/code] can only be connected once to a [code]method[/code]. "
-"It will throw an error if already connected, unless the signal was connected "
+"It will print an error if already connected, unless the signal was connected "
"with [constant CONNECT_REFERENCE_COUNTED]. To avoid this, first, use [method "
"is_connected] to check for existing connections.\n"
"If the [code]target[/code] is destroyed in the game's lifecycle, the "
@@ -38190,7 +39470,7 @@ msgid ""
"Disconnects a [code]signal[/code] from a [code]method[/code] on the given "
"[code]target[/code].\n"
"If you try to disconnect a connection that does not exist, the method will "
-"throw an error. Use [method is_connected] to ensure that the connection "
+"print an error. Use [method is_connected] to ensure that the connection "
"exists."
msgstr ""
@@ -38676,7 +39956,13 @@ msgid "See [enum ShadowDetail]."
msgstr ""
#: doc/classes/OmniLight.xml
-msgid "See [enum ShadowMode]."
+msgid ""
+"The shadow rendering mode to use for this [OmniLight]. See [enum "
+"ShadowMode].\n"
+"[b]Note:[/b] In GLES2, [constant SHADOW_CUBE] is only supported on GPUs that "
+"feature support for depth cubemaps. Old GPUs such as the Radeon HD 4000 "
+"series don't support cubemap shadows and will fall back to dual paraboloid "
+"shadows as a result."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -38688,7 +39974,8 @@ msgstr ""
#: doc/classes/OmniLight.xml
msgid ""
"Shadows are rendered to a cubemap. Slower than [constant "
-"SHADOW_DUAL_PARABOLOID], but higher-quality."
+"SHADOW_DUAL_PARABOLOID], but higher-quality. Only supported on GPUs that "
+"feature support for depth cubemaps."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -38864,7 +40151,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 ""
@@ -38886,7 +40173,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
@@ -39204,6 +40492,10 @@ msgid ""
" if argument.find(\"=\") > -1:\n"
" var key_value = argument.split(\"=\")\n"
" arguments[key_value[0].lstrip(\"--\")] = key_value[1]\n"
+" else:\n"
+" # Options without an argument will be present in the dictionary,\n"
+" # with the value set to an empty string.\n"
+" arguments[argument.lstrip(\"--\")] = \"\"\n"
"[/codeblock]"
msgstr ""
@@ -39273,6 +40565,16 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
+msgid ""
+"Returns an [Array] of [Rect2], each of which is the bounding rectangle for a "
+"display cutout or notch. These are non-functional areas on edge-to-edge "
+"screens used by cameras and sensors. Returns an empty array if the device "
+"does not have cutouts. See also [method get_window_safe_area].\n"
+"[b]Note:[/b] Currently only implemented on Android. Other platforms will "
+"return an empty array even if they do have display cutouts or notches."
+msgstr ""
+
+#: doc/classes/OS.xml
msgid "Returns the total amount of dynamic memory used (only works in debug)."
msgstr ""
@@ -39757,6 +41059,15 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
+"Returns [code]true[/code] if the child process ID ([code]pid[/code]) is "
+"still running or [code]false[/code] if it has terminated.\n"
+"Must be a valid ID generated from [method execute].\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and "
+"Windows."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
"Returns [code]true[/code] if the input scancode corresponds to a Unicode "
"character."
msgstr ""
@@ -39839,6 +41150,21 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
+"Moves the file or directory to the system's recycle bin. See also [method "
+"Directory.remove].\n"
+"The method takes only global paths, so you may need to use [method "
+"ProjectSettings.globalize_path]. Do not use it for files in [code]res://[/"
+"code] as it will not work in exported project.\n"
+"[b]Note:[/b] If the user has disabled the recycle bin on their system, the "
+"file will be permanently deleted instead.\n"
+"[codeblock]\n"
+"var file_to_remove = \"user://slot1.sav\"\n"
+"OS.move_to_trash(ProjectSettings.globalize_path(file_to_remove))\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
"Moves the window to the front.\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
@@ -40017,9 +41343,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44050,7 +45376,15 @@ msgid "Sets the weight values for the specified bone."
msgstr ""
#: doc/classes/Polygon2D.xml
-msgid "If [code]true[/code], polygon edges will be anti-aliased."
+msgid ""
+"If [code]true[/code], attempts to perform antialiasing for polygon edges by "
+"drawing a thin OpenGL smooth line on the edges.\n"
+"[b]Note:[/b] Due to how it works, built-in antialiasing will not look "
+"correct for translucent polygons and may not work on certain platforms. As a "
+"workaround, install the [url=https://github.com/godot-extended-libraries/"
+"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an "
+"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps "
+"to perform antialiasing."
msgstr ""
#: doc/classes/Polygon2D.xml
@@ -44125,14 +45459,31 @@ msgid ""
msgstr ""
#: doc/classes/PoolByteArray.xml
-msgid "A pooled [Array] of bytes."
+msgid "A pooled array of bytes."
msgstr ""
#: doc/classes/PoolByteArray.xml
msgid ""
-"An [Array] specifically designed to hold bytes. Optimized for memory usage, "
+"An array specifically designed to hold bytes. Optimized for memory usage, "
"does not fragment the memory.\n"
-"[b]Note:[/b] This type is passed by value and not by reference."
+"[b]Note:[/b] This type is passed by value and not by reference. This means "
+"that when [i]mutating[/i] a class property of type [PoolByteArray] or "
+"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will "
+"be lost:\n"
+"[codeblock]\n"
+"var array = [PoolByteArray()]\n"
+"array[0].push_back(123)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
+"[/codeblock]\n"
+"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
+"[code]=[/code] for it to be changed:\n"
+"[codeblock]\n"
+"var array = [PoolByteArray()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(123)\n"
+"array[0] = pool_array\n"
+"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/PoolByteArray.xml
@@ -44176,6 +45527,16 @@ msgid ""
"decompression exceeds that amount in bytes, then an error will be returned."
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 ""
+"Assigns the given value to all elements in the array. This can typically be "
+"used together with [method resize] to create an array with a given size and "
+"initialized elements."
+msgstr ""
+
#: doc/classes/PoolByteArray.xml
msgid ""
"Returns a copy of the array's contents as [String]. Fast alternative to "
@@ -44193,6 +45554,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"
@@ -44235,6 +45605,13 @@ msgstr ""
msgid "Changes the byte at the given index."
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 "Sorts the elements of the array in ascending order."
+msgstr ""
+
#: doc/classes/PoolByteArray.xml
msgid ""
"Returns the slice of the [PoolByteArray] between indices (inclusive) as a "
@@ -44243,14 +45620,32 @@ msgid ""
msgstr ""
#: doc/classes/PoolColorArray.xml
-msgid "A pooled [Array] of [Color]."
+msgid "A pooled array of [Color]s."
msgstr ""
#: doc/classes/PoolColorArray.xml
msgid ""
-"An [Array] specifically designed to hold [Color]. Optimized for memory "
-"usage, does not fragment the memory.\n"
-"[b]Note:[/b] This type is passed by value and not by reference."
+"An array specifically designed to hold [Color]. Optimized for memory usage, "
+"does not fragment the memory.\n"
+"[b]Note:[/b] This type is passed by value and not by reference. This means "
+"that when [i]mutating[/i] a class property of type [PoolColorArray] or "
+"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will "
+"be lost:\n"
+"[codeblock]\n"
+"var array = [PoolColorArray()]\n"
+"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
+"[/codeblock]\n"
+"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
+"[code]=[/code] for it to be changed:\n"
+"[codeblock]\n"
+"var array = [PoolColorArray()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
+"array[0] = pool_array\n"
+"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element "
+"inside an Array)\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/PoolColorArray.xml
@@ -44280,14 +45675,31 @@ msgid "Changes the [Color] at the given index."
msgstr ""
#: doc/classes/PoolIntArray.xml
-msgid "A pooled [Array] of integers ([int])."
+msgid "A pooled array of integers ([int])."
msgstr ""
#: doc/classes/PoolIntArray.xml
msgid ""
-"An [Array] specifically designed to hold integer values ([int]). Optimized "
-"for memory usage, does not fragment the memory.\n"
-"[b]Note:[/b] This type is passed by value and not by reference.\n"
+"An array specifically designed to hold integer values ([int]). Optimized for "
+"memory usage, does not fragment the memory.\n"
+"[b]Note:[/b] This type is passed by value and not by reference. This means "
+"that when [i]mutating[/i] a class property of type [PoolIntArray] or "
+"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be "
+"lost:\n"
+"[codeblock]\n"
+"var array = [PoolIntArray()]\n"
+"array[0].push_back(1234)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
+"[/codeblock]\n"
+"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
+"[code]=[/code] for it to be changed:\n"
+"[codeblock]\n"
+"var array = [PoolIntArray()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(1234)\n"
+"array[0] = pool_array\n"
+"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n"
+"[/codeblock]\n"
"[b]Note:[/b] This type is limited to signed 32-bit integers, which means it "
"can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. "
"[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap "
@@ -44316,14 +45728,31 @@ msgid "Changes the int at the given index."
msgstr ""
#: doc/classes/PoolRealArray.xml
-msgid "A pooled [Array] of reals ([float])."
+msgid "A pooled array of real numbers ([float])."
msgstr ""
#: doc/classes/PoolRealArray.xml
msgid ""
-"An [Array] specifically designed to hold floating-point values. Optimized "
-"for memory usage, does not fragment the memory.\n"
-"[b]Note:[/b] This type is passed by value and not by reference.\n"
+"An array specifically designed to hold floating-point values. Optimized for "
+"memory usage, does not fragment the memory.\n"
+"[b]Note:[/b] This type is passed by value and not by reference. This means "
+"that when [i]mutating[/i] a class property of type [PoolRealArray] or "
+"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will "
+"be lost:\n"
+"[codeblock]\n"
+"var array = [PoolRealArray()]\n"
+"array[0].push_back(12.34)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
+"[/codeblock]\n"
+"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
+"[code]=[/code] for it to be changed:\n"
+"[codeblock]\n"
+"var array = [PoolRealArray()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(12.34)\n"
+"array[0] = pool_array\n"
+"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n"
+"[/codeblock]\n"
"[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in "
"[PoolRealArray] are 32-bit floats. This means values stored in "
"[PoolRealArray] have lower precision compared to primitive [float]s. If you "
@@ -44348,14 +45777,31 @@ msgid "Changes the float at the given index."
msgstr ""
#: doc/classes/PoolStringArray.xml
-msgid "A pooled [Array] of [String]."
+msgid "A pooled array of [String]s."
msgstr ""
#: doc/classes/PoolStringArray.xml
msgid ""
-"An [Array] specifically designed to hold [String]s. Optimized for memory "
+"An array specifically designed to hold [String]s. Optimized for memory "
"usage, does not fragment the memory.\n"
-"[b]Note:[/b] This type is passed by value and not by reference."
+"[b]Note:[/b] This type is passed by value and not by reference. This means "
+"that when [i]mutating[/i] a class property of type [PoolStringArray] or "
+"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will "
+"be lost:\n"
+"[codeblock]\n"
+"var array = [PoolStringArray()]\n"
+"array[0].push_back(\"hello\")\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
+"[/codeblock]\n"
+"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
+"with [code]=[/code] for it to be changed:\n"
+"[codeblock]\n"
+"var array = [PoolStringArray()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(\"hello\")\n"
+"array[0] = pool_array\n"
+"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/PoolStringArray.xml
@@ -44383,14 +45829,32 @@ msgid "Changes the [String] at the given index."
msgstr ""
#: doc/classes/PoolVector2Array.xml
-msgid "A pooled [Array] of [Vector2]."
+msgid "A pooled array of [Vector2]s."
msgstr ""
#: doc/classes/PoolVector2Array.xml
msgid ""
-"An [Array] specifically designed to hold [Vector2]. Optimized for memory "
+"An array specifically designed to hold [Vector2]. Optimized for memory "
"usage, does not fragment the memory.\n"
-"[b]Note:[/b] This type is passed by value and not by reference."
+"[b]Note:[/b] This type is passed by value and not by reference. This means "
+"that when [i]mutating[/i] a class property of type [PoolVector2Array] or "
+"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes "
+"will be lost:\n"
+"[codeblock]\n"
+"var array = [PoolVector2Array()]\n"
+"array[0].push_back(Vector2(12, 34))\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
+"[/codeblock]\n"
+"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
+"with [code]=[/code] for it to be changed:\n"
+"[codeblock]\n"
+"var array = [PoolVector2Array()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(Vector2(12, 34))\n"
+"array[0] = pool_array\n"
+"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an "
+"Array)\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml
@@ -44417,14 +45881,32 @@ msgid "Changes the [Vector2] at the given index."
msgstr ""
#: doc/classes/PoolVector3Array.xml
-msgid "A pooled [Array] of [Vector3]."
+msgid "A pooled array of [Vector3]."
msgstr ""
#: doc/classes/PoolVector3Array.xml
msgid ""
-"An [Array] specifically designed to hold [Vector3]. Optimized for memory "
+"An array specifically designed to hold [Vector3]. Optimized for memory "
"usage, does not fragment the memory.\n"
-"[b]Note:[/b] This type is passed by value and not by reference."
+"[b]Note:[/b] This type is passed by value and not by reference. This means "
+"that when [i]mutating[/i] a class property of type [PoolVector3Array] or "
+"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes "
+"will be lost:\n"
+"[codeblock]\n"
+"var array = [PoolVector3Array()]\n"
+"array[0].push_back(Vector3(12, 34, 56))\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
+"[/codeblock]\n"
+"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
+"with [code]=[/code] for it to be changed:\n"
+"[codeblock]\n"
+"var array = [PoolVector3Array()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(Vector3(12, 34, 56))\n"
+"array[0] = pool_array\n"
+"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an "
+"Array)\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/PoolVector3Array.xml
@@ -44542,7 +46024,18 @@ msgstr ""
#: doc/classes/PopupMenu.xml
msgid ""
"[PopupMenu] is a [Control] that displays a list of options. They are popular "
-"in toolbars or context menus."
+"in toolbars or context menus.\n"
+"[b]Incremental search:[/b] Like [ItemList] and [Tree], [PopupMenu] supports "
+"searching within the list while the control is focused. Press a key that "
+"matches the first letter of an item's name to select the first item starting "
+"with the given letter. After that point, there are two ways to perform "
+"incremental search: 1) Press the same key again before the timeout duration "
+"to select the next item starting with the same letter. 2) Press letter keys "
+"that match the rest of the word before the timeout duration to match to "
+"select the item in question directly. Both of these actions will be reset to "
+"the beginning of the list if the timeout duration has passed since the last "
+"keystroke was registered. You can adjust the timeout duration by changing "
+"[member ProjectSettings.gui/timers/incremental_search_max_interval_msec]."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -44747,10 +46240,10 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
+#, fuzzy
msgid ""
-"Returns the tooltip associated with the specified index index [code]idx[/"
-"code]."
-msgstr ""
+"Returns the tooltip associated with the specified index [code]idx[/code]."
+msgstr "計算兩個向量的外積。"
#: doc/classes/PopupMenu.xml
msgid ""
@@ -44987,6 +46480,10 @@ 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 ""
@@ -46048,7 +47545,16 @@ msgid ""
msgstr ""
#: doc/classes/ProjectSettings.xml
-msgid "Message to be displayed before the backtrace when the engine crashes."
+msgid ""
+"Message to be displayed before the backtrace when the engine crashes. By "
+"default, this message is only used in exported projects due to the editor-"
+"only override applied to this setting."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Editor-only override for [member debug/settings/crash_handler/message]. Does "
+"not affect exported projects in debug or release mode."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -46070,6 +47576,16 @@ msgid "Maximum call stack allowed for debugging GDScript."
msgstr ""
#: doc/classes/ProjectSettings.xml
+msgid ""
+"If [code]true[/code], enables warnings which can help pinpoint where nodes "
+"are being incorrectly updated, which will result in incorrect interpolation "
+"and visual glitches.\n"
+"When a node is being interpolated, it is essential that the transform is set "
+"during [method Node._physics_process] (during a physics tick) rather than "
+"[method Node._process] (during a frame)."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
msgid "Maximum amount of functions per frame allowed when profiling."
msgstr ""
@@ -46283,6 +47799,18 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"Default naming style for scene files to infer from their root nodes. "
+"Possible options are:\n"
+"- [code]0[/code] (Auto): Uses the scene root name as is without changing its "
+"casing.\n"
+"- [code]1[/code] (PascalCase): Converts the scene root name to PascalCase "
+"casing.\n"
+"- [code]2[/code] (snake_case): Converts the scene root name to snake_case "
+"casing."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Search path for project-specific script templates. Godot will search for "
"script templates both in the editor-specific path and in this project-"
"specific path."
@@ -46508,6 +48036,198 @@ msgid "Default delay for touch events. This only affects iOS devices."
msgstr ""
#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 1. If left empty, the layer will "
+"display as \"Layer 1\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 10. If left empty, the layer will "
+"display as \"Layer 10\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 11. If left empty, the layer will "
+"display as \"Layer 11\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 12. If left empty, the layer will "
+"display as \"Layer 12\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 13. If left empty, the layer will "
+"display as \"Layer 13\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 14. If left empty, the layer will "
+"display as \"Layer 14\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 15. If left empty, the layer will "
+"display as \"Layer 15\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 16. If left empty, the layer will "
+"display as \"Layer 16\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 17. If left empty, the layer will "
+"display as \"Layer 17\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 18. If left empty, the layer will "
+"display as \"Layer 18\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 19. If left empty, the layer will "
+"display as \"Layer 19\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 2. If left empty, the layer will "
+"display as \"Layer 2\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 20. If left empty, the layer will "
+"display as \"Layer 20\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 21. If left empty, the layer will "
+"display as \"Layer 21\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 22. If left empty, the layer will "
+"display as \"Layer 22\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 23. If left empty, the layer will "
+"display as \"Layer 23\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 24. If left empty, the layer will "
+"display as \"Layer 24\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 25. If left empty, the layer will "
+"display as \"Layer 25\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 26. If left empty, the layer will "
+"display as \"Layer 26\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 27. If left empty, the layer will "
+"display as \"Layer 27\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 28. If left empty, the layer will "
+"display as \"Layer 28\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 29. If left empty, the layer will "
+"display as \"Layer 29\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 3. If left empty, the layer will "
+"display as \"Layer 3\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 30. If left empty, the layer will "
+"display as \"Layer 30\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 31. If left empty, the layer will "
+"display as \"Layer 31\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 32. If left empty, the layer will "
+"display as \"Layer 32\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 4. If left empty, the layer will "
+"display as \"Layer 4\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 5. If left empty, the layer will "
+"display as \"Layer 5\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 6. If left empty, the layer will "
+"display as \"Layer 6\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 7. If left empty, the layer will "
+"display as \"Layer 7\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 8. If left empty, the layer will "
+"display as \"Layer 8\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 2D navigation layer 9. If left empty, the layer will "
+"display as \"Layer 9\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
msgid "Optional name for the 2D physics layer 1."
msgstr ""
@@ -46716,6 +48436,198 @@ msgid "Optional name for the 2D render layer 9."
msgstr ""
#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 1. If left empty, the layer will "
+"display as \"Layer 1\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 10. If left empty, the layer will "
+"display as \"Layer 10\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 11. If left empty, the layer will "
+"display as \"Layer 11\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 12. If left empty, the layer will "
+"display as \"Layer 12\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 13. If left empty, the layer will "
+"display as \"Layer 13\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 14. If left empty, the layer will "
+"display as \"Layer 14\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 15. If left empty, the layer will "
+"display as \"Layer 15\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 16. If left empty, the layer will "
+"display as \"Layer 16\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 17. If left empty, the layer will "
+"display as \"Layer 17\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 18. If left empty, the layer will "
+"display as \"Layer 18\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 19. If left empty, the layer will "
+"display as \"Layer 19\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 2. If left empty, the layer will "
+"display as \"Layer 2\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 20. If left empty, the layer will "
+"display as \"Layer 20\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 21. If left empty, the layer will "
+"display as \"Layer 21\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 22. If left empty, the layer will "
+"display as \"Layer 22\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 23. If left empty, the layer will "
+"display as \"Layer 23\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 24. If left empty, the layer will "
+"display as \"Layer 24\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 25. If left empty, the layer will "
+"display as \"Layer 25\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 26. If left empty, the layer will "
+"display as \"Layer 26\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 27. If left empty, the layer will "
+"display as \"Layer 27\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 28. If left empty, the layer will "
+"display as \"Layer 28\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 29. If left empty, the layer will "
+"display as \"Layer 29\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 3. If left empty, the layer will "
+"display as \"Layer 3\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 30. If left empty, the layer will "
+"display as \"Layer 30\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 31. If left empty, the layer will "
+"display as \"Layer 31\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 32. If left empty, the layer will "
+"display as \"Layer 32\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 4. If left empty, the layer will "
+"display as \"Layer 4\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 5. If left empty, the layer will "
+"display as \"Layer 5\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 6. If left empty, the layer will "
+"display as \"Layer 6\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 7. If left empty, the layer will "
+"display as \"Layer 7\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 8. If left empty, the layer will "
+"display as \"Layer 8\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Optional name for the 3D navigation layer 9. If left empty, the layer will "
+"display as \"Layer 9\"."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
msgid "Optional name for the 3D physics layer 1."
msgstr ""
@@ -46983,6 +48895,49 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"Default cell height for 2D navigation maps. See [method Navigation2DServer."
+"map_set_cell_height].\n"
+"[b]Note:[/b] Currently not implemented."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Default cell size for 2D navigation maps. See [method Navigation2DServer."
+"map_set_cell_size]."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Default edge connection margin for 2D navigation maps. See [method "
+"Navigation2DServer.map_set_edge_connection_margin]."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Default cell height for 3D navigation maps. See [method NavigationServer."
+"map_set_cell_height]."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Default cell size for 3D navigation maps. See [method NavigationServer."
+"map_set_cell_size]."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Default edge connection margin for 3D navigation maps. See [method "
+"NavigationServer.map_set_edge_connection_margin]."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"Default map up vector for 3D navigation maps. See [method NavigationServer."
+"map_set_up]."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Maximum amount of characters allowed to send as output from the debugger. "
"Over this value, content is dropped. This helps not to stall the debugger "
"connection."
@@ -47656,20 +49611,28 @@ msgid ""
"cause.\n"
"The default value is a conservative one, so you are advised to tweak it "
"according to the hardware you are targeting.\n"
-"[b]Note:[/b] This setting is only meaningful if [code]rendering/gles3/"
-"shaders/shader_compilation_mode[/code] is [b]not[/b] [code]Synchronous[/"
-"code]."
+"[b]Note:[/b] This setting is only meaningful if [member rendering/gles3/"
+"shaders/shader_compilation_mode] is [b]not[/b] [code]Synchronous[/code]."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
-"The default is a very conservative override for [code]rendering/gles3/"
-"shaders/max_concurrent_compiles[/code].\n"
+"The default is a very conservative override for [member rendering/gles3/"
+"shaders/max_simultaneous_compiles].\n"
"Depending on the specific devices you are targeting, you may want to raise "
"it.\n"
-"[b]Note:[/b] This setting is only meaningful if [code]rendering/gles3/"
-"shaders/shader_compilation_mode[/code] is [b]not[/b] [code]Synchronous[/"
-"code]."
+"[b]Note:[/b] This setting is only meaningful if [member rendering/gles3/"
+"shaders/shader_compilation_mode] is [b]not[/b] [code]Synchronous[/code]."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"The default is a very conservative override for [member rendering/gles3/"
+"shaders/max_simultaneous_compiles].\n"
+"Depending on the specific browsers you are targeting, you may want to raise "
+"it.\n"
+"[b]Note:[/b] This setting is only meaningful if [member rendering/gles3/"
+"shaders/shader_compilation_mode] is [b]not[/b] [code]Synchronous[/code]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47677,19 +49640,28 @@ msgid ""
"The maximum size, in megabytes, that the ubershader cache can grow up to. On "
"startup, the least recently used entries will be deleted until the total "
"size is within bounds.\n"
-"[b]Note:[/b] This setting is only meaningful if [code]rendering/gles3/"
-"shaders/shader_compilation_mode[/code] is set to [code]Asynchronous + Cache[/"
-"code]."
+"[b]Note:[/b] This setting is only meaningful if [member rendering/gles3/"
+"shaders/shader_compilation_mode] is set to [code]Asynchronous + Cache[/code]."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
-"An override for [code]rendering/gles3/shaders/ubershader_cache_size_mb[/"
-"code], so a smaller maximum size can be configured for mobile platforms, "
-"where storage space is more limited.\n"
-"[b]Note:[/b] This setting is only meaningful if [code]rendering/gles3/"
-"shaders/shader_compilation_mode[/code] is set to [code]Asynchronous + Cache[/"
-"code]."
+"An override for [member rendering/gles3/shaders/shader_cache_size_mb], so a "
+"smaller maximum size can be configured for mobile platforms, where storage "
+"space is more limited.\n"
+"[b]Note:[/b] This setting is only meaningful if [member rendering/gles3/"
+"shaders/shader_compilation_mode] is set to [code]Asynchronous + Cache[/code]."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
+"An override for [member rendering/gles3/shaders/shader_cache_size_mb], so a "
+"smaller maximum size can be configured for web platforms, where storage "
+"space is more limited.\n"
+"[b]Note:[/b] Currently, shader caching is generally unavailable on web "
+"platforms.\n"
+"[b]Note:[/b] This setting is only meaningful if [member rendering/gles3/"
+"shaders/shader_compilation_mode] is set to [code]Asynchronous + Cache[/code]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47721,14 +49693,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
-"An override for [code]rendering/gles3/shaders/shader_compilation_mode[/"
-"code], so asynchronous compilation can be disabled for mobile.\n"
+"An override for [member rendering/gles3/shaders/shader_compilation_mode], so "
+"asynchronous compilation can be disabled on mobile platforms.\n"
"You may want to do that since mobile GPUs generally won't support "
"ubershaders due to their complexity."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"An override for [member rendering/gles3/shaders/shader_compilation_mode], so "
+"asynchronous compilation can be disabled on web platforms.\n"
+"You may want to do that since certain browsers (especially on mobile "
+"platforms) generally won't support ubershaders due to their complexity."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Max buffer size for blend shapes. Any blend shape bigger than this will not "
"work."
msgstr ""
@@ -48182,8 +50162,8 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
-"Size for shadow atlas (used for OmniLights and SpotLights). See "
-"documentation."
+"Size for shadow atlas (used for OmniLights and SpotLights). The value will "
+"be rounded up to the nearest power of 2. See shadow mapping documentation."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -48368,8 +50348,181 @@ msgid ""
"situations where a change has been made."
msgstr ""
+#: doc/classes/PropertyTweener.xml
+msgid "Interpolates an [Object]'s property over time."
+msgstr ""
+
+#: doc/classes/PropertyTweener.xml
+msgid ""
+"[PropertyTweener] is used to interpolate a property in an object. See "
+"[method SceneTreeTween.tween_property] for more usage information.\n"
+"[b]Note:[/b] [method SceneTreeTween.tween_property] is the only correct way "
+"to create [PropertyTweener]. Any [PropertyTweener] created manually will not "
+"function correctly."
+msgstr ""
+
+#: doc/classes/PropertyTweener.xml
+msgid ""
+"When called, the final value will be used as a relative value instead. "
+"Example:\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_property(self, \"position\", Vector2.RIGHT * 100, 1)."
+"as_relative() #the node will move by 100 pixels to the right\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/PropertyTweener.xml
+msgid ""
+"Sets a custom initial value to the [PropertyTweener]. Example:\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_property(self, \"position\", Vector2(200, 100), 1)."
+"from(Vector2(100, 100) #this will move the node from position (100, 100) to "
+"(200, 100)\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/PropertyTweener.xml
+msgid ""
+"Makes the [PropertyTweener] use the current property value (i.e. at the time "
+"of creating this [PropertyTweener]) as a starting point. This is equivalent "
+"of using [method from] with the current value. These two calls will do the "
+"same:\n"
+"[codeblock]\n"
+"tween.tween_property(self, \"position\", Vector2(200, 100), 1)."
+"from(position)\n"
+"tween.tween_property(self, \"position\", Vector2(200, 100), 1)."
+"from_current()\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/PropertyTweener.xml
+msgid ""
+"Sets the time in seconds after which the [PropertyTweener] will start "
+"interpolating. By default there's no delay."
+msgstr ""
+
+#: doc/classes/ProximityGroup.xml
+msgid "General-purpose 3D proximity detection node."
+msgstr ""
+
#: doc/classes/ProximityGroup.xml
-msgid "General-purpose proximity detection node."
+msgid ""
+"General-purpose proximity detection node. [ProximityGroup] can be used for "
+"[i]approximate[/i] distance checks, which are faster than exact distance "
+"checks using [method Vector3.distance_to] or [method Vector3."
+"distance_squared_to].\n"
+"[ProximityGroup] nodes are automatically grouped together, as long as they "
+"share the same [member group_name] and intersect with each other. By calling "
+"the [method broadcast], you can invoke a specified method with various "
+"parameters to all intersecting members.\n"
+"[ProximityGroup] is cuboid-shaped and consists of a cluster of [Vector3] "
+"coordinates. The coordinates are automatically calculated by calling [member "
+"grid_radius]. To allow [ProximityGroup] to find its peers (and perform "
+"automatic grouping), you need to define its [member group_name] to a non-"
+"empty [String]. As soon as this object's shape intersects with another "
+"[ProximityGroup] object' shape, and both share the same [member group_name], "
+"they will belong together for as long as they intersect.\n"
+"Since [ProximityGroup] doesn't rely the physics engine, you don't need to "
+"add any other node as a child (unlike [PhysicsBody]).\n"
+"The [ProximityGroup] uses the [SceneTree] groups in the background by "
+"calling the method [method Node.add_to_group] internally. The [SceneTree] "
+"group names are constructed by combining the [member group_name] with its "
+"coordinates, which are calculated using the [member grid_radius] you defined "
+"beforehand.\n"
+"[b]Example:[/b] A [ProximityGroup] node named [code]\"PlanetEarth\"[/code] "
+"at position [code]Vector3(6, 6, 6)[/code] with a [member group_name] set to "
+"[code]\"planets\"[/code] and a [member grid_radius] of [code]Vector3(1, 2, 3)"
+"[/code] will create the following [SceneTree] group names:\n"
+"[codeblock]\n"
+"- \"planets|5|4|3\"\n"
+"- \"planets|5|4|4\"\n"
+"- \"planets|5|4|5\"\n"
+"- \"planets|5|4|6\"\n"
+"- \"planets|5|4|7\"\n"
+"- \"planets|5|4|8\"\n"
+"- \"planets|5|4|9\"\n"
+"- ...\n"
+"[/codeblock]\n"
+"If there is another [ProximityGroup] named [code]\"PlanetMars\"[/code] with "
+"group name [code]\"planets\"[/code], and one of its coordinates is "
+"[code]Vector3(5, 4, 7)[/code], it would normally create the [SceneTree] "
+"group called [code]\"planets|5|4|7\"[/code]. However, since this group name "
+"already exists, this [ProximityGroup] object will be [i]added[/i] to the "
+"existing one. [code]\"PlanetEarth\"[/code] is already in this group. As long "
+"as both nodes don't change their transform and stop intersecting (or exit "
+"the scene tree), they are grouped together. As long as this intersection "
+"exists, any call to [method broadcast] will affect [i]both[/i] "
+"[ProximityGroup] nodes.\n"
+"There are 3 caveats to keep in mind when using [ProximityGroup]:\n"
+"- The larger the grid radius, the more coordinates and the more [SceneTree] "
+"groups are created. This can have a performance impact if too many groups "
+"are created.\n"
+"- If the [ProximityGroup] node is transformed in any way (or is removed from "
+"the scene tree), the groupings will have to be recalculated. This can also "
+"have a performance impact.\n"
+"- If your [member grid_radius] is smaller than [code]Vector3(1, 1, 1)[/"
+"code], it will be rounded up to [code]Vector3(1, 1, 1)[/code]. Therefore, "
+"small grid radius values may lead to unwanted groupings.\n"
+"[b]Note:[/b] [ProximityGroup] will be removed in Godot 4.0 in favor of more "
+"effective and faster [VisibilityNotifier] functionality. For most use cases, "
+"[method Vector3.distance_to] or [method Vector3.distance_squared_to] are "
+"fast enough too, especially if you call them less often using a [Timer] node."
+msgstr ""
+
+#: doc/classes/ProximityGroup.xml
+msgid ""
+"Calls on all intersecting [ProximityGroup] the given method and parameters.\n"
+"If the [member dispatch_mode] is set to [constant MODE_PROXY] (the default), "
+"all calls are delegated to their respective parent [Node]."
+msgstr ""
+
+#: doc/classes/ProximityGroup.xml
+msgid ""
+"Specifies which node gets contacted on a call of method [method broadcast]."
+msgstr ""
+
+#: doc/classes/ProximityGroup.xml
+msgid ""
+"The size of the space in 3D units. This also sets the amount of coordinates "
+"required to calculate whether two [ProximityGroup] nodes are intersecting or "
+"not. Smaller [member grid_radius] values can be used for more precise "
+"proximity checks at the cost of performance, since more groups will be "
+"created."
+msgstr ""
+
+#: doc/classes/ProximityGroup.xml
+msgid ""
+"Specify the common group name, to let other [ProximityGroup] nodes know, if "
+"they should be auto-grouped with this node in case they intersect with each "
+"other.\n"
+"For example, if you have a [ProximityGroup] node named [code]\"Earth\"[/"
+"code] and another called [code]\"Mars\"[/code], with both nodes having "
+"[code]\"planet\"[/code] as their [member group_name]. Give both planets a "
+"significantly larger [member grid_radius] than their actual radius, position "
+"them close enough and they'll be automatically grouped."
+msgstr ""
+
+#: doc/classes/ProximityGroup.xml
+msgid ""
+"Emitted when the user calls the [method broadcast] method and has set "
+"[member dispatch_mode] to [constant MODE_SIGNAL].\n"
+"The given method and its parameters are passed on to the listeners who "
+"connected to this signal of this object, as well as any [ProximityGroup] "
+"node this node is grouped together with.\n"
+"[b]Note:[/b] This signal is [i]not[/i] emitted by default, as the default "
+"[member dispatch_mode] is [constant MODE_PROXY]."
+msgstr ""
+
+#: doc/classes/ProximityGroup.xml
+msgid "This [ProximityGroup]'s parent will be target of [method broadcast]."
+msgstr ""
+
+#: doc/classes/ProximityGroup.xml
+msgid ""
+"This [ProximityGroup] will emit the [signal broadcast] [i]signal[/i] when "
+"calling the [method broadcast] [i]method[/i]."
msgstr ""
#: doc/classes/QuadMesh.xml
@@ -48663,8 +50816,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -50162,14 +52316,15 @@ msgstr ""
#: doc/classes/RichTextLabel.xml
msgid ""
-"Parses [code]bbcode[/code] and adds tags to the tag stack as needed. Returns "
-"the result of the parsing, [constant OK] if successful.\n"
+"Parses [code]bbcode[/code] and adds tags to the tag stack as needed.\n"
"[b]Note:[/b] Using this method, you can't close a tag that was opened in a "
"previous [method append_bbcode] call. This is done to improve performance, "
"especially when updating large RichTextLabels since rebuilding the whole "
"BBCode every time would be slower. If you absolutely need to close a tag in "
"a future method call, append the [member bbcode_text] instead of using "
-"[method append_bbcode]."
+"[method append_bbcode].\n"
+"[b]Note:[/b] This method internals' can't possibly fail, but an error code "
+"is returned for backwards compatibility, which will always be [constant OK]."
msgstr ""
#: doc/classes/RichTextLabel.xml
@@ -50214,8 +52369,9 @@ msgstr ""
#: doc/classes/RichTextLabel.xml
msgid ""
"The assignment version of [method append_bbcode]. Clears the tag stack and "
-"inserts the new content. Returns [constant OK] if parses [code]bbcode[/code] "
-"successfully."
+"inserts the new content.\n"
+"[b]Note:[/b] This method internals' can't possibly fail, but an error code "
+"is returned for backwards compatibility, which will always be [constant OK]."
msgstr ""
#: doc/classes/RichTextLabel.xml
@@ -50457,6 +52613,22 @@ msgid "Makes text fill width."
msgstr ""
#: doc/classes/RichTextLabel.xml
+msgid "Aligns top of the inline image to the top of the text."
+msgstr ""
+
+#: doc/classes/RichTextLabel.xml
+msgid "Aligns center of the inline image to the center of the text."
+msgstr ""
+
+#: doc/classes/RichTextLabel.xml
+msgid "Aligns bottom of the inline image to the baseline of the text."
+msgstr ""
+
+#: doc/classes/RichTextLabel.xml
+msgid "Aligns bottom of the inline image to the bottom of the text."
+msgstr ""
+
+#: doc/classes/RichTextLabel.xml
msgid "Each list item has a number marker."
msgstr ""
@@ -50533,7 +52705,7 @@ msgid "The default text font."
msgstr ""
#: doc/classes/RichTextLabel.xml
-msgid "The background The background used when the [RichTextLabel] is focused."
+msgid "The background used when the [RichTextLabel] is focused."
msgstr ""
#: doc/classes/RichTextLabel.xml
@@ -50666,7 +52838,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -50765,8 +52938,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
"The body's linear damp. Cannot be less than -1.0. If this value is different "
-"from -1.0, any linear damp derived from the world or areas will be "
-"overridden.\n"
+"from -1.0 it will be added to any linear damp derived from the world or "
+"areas.\n"
"See [member ProjectSettings.physics/3d/default_linear_damp] for more details "
"about damping."
msgstr ""
@@ -50980,7 +53153,8 @@ msgstr ""
msgid ""
"Damps the body's [member angular_velocity]. If [code]-1[/code], the body "
"will use the [b]Default Angular Damp[/b] defined in [b]Project > Project "
-"Settings > Physics > 2d[/b].\n"
+"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be "
+"added to the default project value.\n"
"See [member ProjectSettings.physics/2d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -51062,7 +53236,8 @@ msgstr ""
msgid ""
"Damps the body's [member linear_velocity]. If [code]-1[/code], the body will "
"use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > "
-"Physics > 2d[/b].\n"
+"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the "
+"default project value.\n"
"See [member ProjectSettings.physics/2d/default_linear_damp] for more details "
"about damping."
msgstr ""
@@ -51815,6 +53990,10 @@ msgid ""
msgstr ""
#: doc/classes/SceneTree.xml
+msgid "Creates and returns a new [SceneTreeTween]."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
msgid ""
"Returns the current frame number, i.e. the total frame count since the "
"application started."
@@ -51839,6 +54018,12 @@ msgid "Returns a list of all nodes assigned to the given group."
msgstr ""
#: doc/classes/SceneTree.xml
+msgid ""
+"Returns an array of currently existing [SceneTreeTween]s in the [SceneTree] "
+"(both running and paused)."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
msgid "Returns the sender's peer ID for the most recently received RPC call."
msgstr ""
@@ -51896,13 +54081,6 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
-"If [code]true[/code], the application automatically accepts quitting. "
-"Enabled by default.\n"
-"For mobile platforms, see [method set_quit_on_go_back]."
-msgstr ""
-
-#: doc/classes/SceneTree.xml
-msgid ""
"Sets the given [code]property[/code] to [code]value[/code] on all members of "
"the given group."
msgstr ""
@@ -51919,16 +54097,14 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
-"If [code]true[/code], the application quits automatically on going back (e."
-"g. on Android). Enabled by default.\n"
-"To handle 'Go Back' button when this option is disabled, use [constant "
-"MainLoop.NOTIFICATION_WM_GO_BACK_REQUEST]."
+"Configures screen stretching to the given [enum StretchMode], [enum "
+"StretchAspect], minimum size and [code]scale[/code]."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
-"Configures screen stretching to the given [enum StretchMode], [enum "
-"StretchAspect], minimum size and [code]scale[/code]."
+"If [code]true[/code], the application automatically accepts quitting.\n"
+"For mobile platforms, see [member quit_on_go_back]."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -51996,6 +54172,14 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"If [code]true[/code], the application quits automatically on going back (e."
+"g. on Android).\n"
+"To handle 'Go Back' button when this option is disabled, use [constant "
+"MainLoop.NOTIFICATION_WM_GO_BACK_REQUEST]."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52182,7 +54366,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be dereferenced after its time elapses. To preserve the "
+"timer, you can keep a reference to it. See [Reference]."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -52193,6 +54378,406 @@ msgstr ""
msgid "Emitted when the timer reaches 0."
msgstr ""
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Lightweight object used for general-purpose animation via script, using "
+"[Tweener]s."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"[SceneTreeTween] is a tween managed by the scene tree. As opposed to "
+"[Tween], it does not require the instantiation of a node.\n"
+"[SceneTreeTween]s are more light-weight than [AnimationPlayer], so they are "
+"very much suited for simple animations or general tasks that don't require "
+"visual tweaking provided by the editor. They can be used in a fire-and-"
+"forget manner for some logic that normally would be done by code. You can e."
+"g. make something shoot periodically by using a looped [CallbackTweener] "
+"with a delay.\n"
+"A [SceneTreeTween] can be created by using either [method SceneTree."
+"create_tween] or [method Node.create_tween]. [SceneTreeTween]s created "
+"manually (i.e. by using [code]Tween.new()[/code]) are invalid. They can't be "
+"used for tweening values, but you can do manual interpolation with [method "
+"interpolate_value].\n"
+"A tween animation is created by adding [Tweener]s to the [SceneTreeTween] "
+"object, using [method tween_property], [method tween_interval], [method "
+"tween_callback] or [method tween_method]:\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_property($Sprite, \"modulate\", Color.red, 1)\n"
+"tween.tween_property($Sprite, \"scale\", Vector2(), 1)\n"
+"tween.tween_callback($Sprite, \"queue_free\")\n"
+"[/codeblock]\n"
+"This sequence will make the [code]$Sprite[/code] node turn red, then shrink, "
+"before finally calling [method Node.queue_free] to free the sprite. "
+"[Tweener]s are executed one after another by default. This behavior can be "
+"changed using [method parallel] and [method set_parallel].\n"
+"When a [Tweener] is created with one of the [code]tween_*[/code] methods, a "
+"chained method call can be used to tweak the properties of this [Tweener]. "
+"For example, if you want to set a different transition type in the above "
+"example, you can use [method set_trans]:\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_property($Sprite, \"modulate\", Color.red, 1).set_trans(Tween."
+"TRANS_SINE)\n"
+"tween.tween_property($Sprite, \"scale\", Vector2(), 1).set_trans(Tween."
+"TRANS_BOUNCE)\n"
+"tween.tween_callback($Sprite, \"queue_free\")\n"
+"[/codeblock]\n"
+"Most of the [SceneTreeTween] methods can be chained this way too. In the "
+"following example the [SceneTreeTween] is bound to the running script's node "
+"and a default transition is set for its [Tweener]s:\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween().bind_node(self).set_trans(Tween."
+"TRANS_ELASTIC)\n"
+"tween.tween_property($Sprite, \"modulate\", Color.red, 1)\n"
+"tween.tween_property($Sprite, \"scale\", Vector2(), 1)\n"
+"tween.tween_callback($Sprite, \"queue_free\")\n"
+"[/codeblock]\n"
+"Another interesting use for [SceneTreeTween]s is animating arbitrary sets of "
+"objects:\n"
+"[codeblock]\n"
+"var tween = create_tween()\n"
+"for sprite in get_children():\n"
+" tween.tween_property(sprite, \"position\", Vector2(0, 0), 1)\n"
+"[/codeblock]\n"
+"In the example above, all children of a node are moved one after another to "
+"position (0, 0).\n"
+"Some [Tweener]s use transitions and eases. The first accepts a [enum Tween."
+"TransitionType] constant, and refers to the way the timing of the animation "
+"is handled (see [url=https://easings.net/]easings.net[/url] for some "
+"examples). The second accepts an [enum Tween.EaseType] constant, and "
+"controls where the [code]trans_type[/code] is applied to the interpolation "
+"(in the beginning, the end, or both). If you don't know which transition and "
+"easing to pick, you can try different [enum Tween.TransitionType] constants "
+"with [constant Tween.EASE_IN_OUT], and use the one that looks best.\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"tween_cheatsheet.png]Tween easing and transition types cheatsheet[/url]\n"
+"[b]Note:[/b] All [SceneTreeTween]s will automatically start by default. To "
+"prevent a [SceneTreeTween] from autostarting, you can call [method stop] "
+"immediately after it is created."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Binds this [SceneTreeTween] with the given [code]node[/code]. "
+"[SceneTreeTween]s are processed directly by the [SceneTree], so they run "
+"independently of the animated nodes. When you bind a [Node] with the "
+"[SceneTreeTween], the [SceneTreeTween] will halt the animation when the "
+"object is not inside tree and the [SceneTreeTween] will be automatically "
+"killed when the bound object is freed. Also [constant TWEEN_PAUSE_BOUND] "
+"will make the pausing behavior dependent on the bound node.\n"
+"For a shorter way to create and bind a [SceneTreeTween], you can use [method "
+"Node.create_tween]."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Used to chain two [Tweener]s after [method set_parallel] is called with "
+"[code]true[/code].\n"
+"[codeblock]\n"
+"var tween = create_tween().set_parallel(true)\n"
+"tween.tween_property(...)\n"
+"tween.tween_property(...) # Will run parallelly with above.\n"
+"tween.chain().tween_property(...) # Will run after two above are finished.\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Processes the [SceneTreeTween] by the given [code]delta[/code] value, in "
+"seconds. This is mostly useful for manual control when the [SceneTreeTween] "
+"is paused. It can also be used to end the [SceneTreeTween] animation "
+"immediately, by setting [code]delta[/code] longer than the whole duration of "
+"the [SceneTreeTween] animation.\n"
+"Returns [code]true[/code] if the [SceneTreeTween] still has [Tweener]s that "
+"haven't finished.\n"
+"[b]Note:[/b] The [SceneTreeTween] will become invalid in the next processing "
+"frame after its animation finishes. Calling [method stop] after performing "
+"[method custom_step] instead keeps and resets the [SceneTreeTween]."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Returns the total time in seconds the [SceneTreeTween] has been animating (i."
+"e. the time since it started, not counting pauses etc.). The time is "
+"affected by [method set_speed_scale], and [method stop] will reset it to "
+"[code]0[/code].\n"
+"[b]Note:[/b] As it results from accumulating frame deltas, the time returned "
+"after the [SceneTreeTween] has finished animating will be slightly greater "
+"than the actual [SceneTreeTween] duration."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"This method can be used for manual interpolation of a value, when you don't "
+"want [SceneTreeTween] to do animating for you. It's similar to [method "
+"@GDScript.lerp], but with support for custom transition and easing.\n"
+"[code]initial_value[/code] is the starting value of the interpolation.\n"
+"[code]delta_value[/code] is the change of the value in the interpolation, i."
+"e. it's equal to [code]final_value - initial_value[/code].\n"
+"[code]elapsed_time[/code] is the time in seconds that passed after the "
+"interpolation started and it's used to control the position of the "
+"interpolation. E.g. when it's equal to half of the [code]duration[/code], "
+"the interpolated value will be halfway between initial and final values. "
+"This value can also be greater than [code]duration[/code] or lower than 0, "
+"which will extrapolate the value.\n"
+"[code]duration[/code] is the total time of the interpolation.\n"
+"[b]Note:[/b] If [code]duration[/code] is equal to [code]0[/code], the method "
+"will always return the final value, regardless of [code]elapsed_time[/code] "
+"provided."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Returns whether the [SceneTreeTween] is currently running, i.e. it wasn't "
+"paused and it's not finished."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Returns whether the [SceneTreeTween] is valid. A valid [SceneTreeTween] is a "
+"[SceneTreeTween] contained by the scene tree (i.e. the array from [method "
+"SceneTree.get_processed_tweens] will contain this [SceneTreeTween]). A "
+"[SceneTreeTween] might become invalid when it has finished tweening, is "
+"killed, or when created with [code]SceneTreeTween.new()[/code]. Invalid "
+"[SceneTreeTween]s can't have [Tweener]s appended. You can however still use "
+"[method interpolate_value]."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid "Aborts all tweening operations and invalidates the [SceneTreeTween]."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Makes the next [Tweener] run parallelly to the previous one. Example:\n"
+"[codeblock]\n"
+"var tween = create_tween()\n"
+"tween.tween_property(...)\n"
+"tween.parallel().tween_property(...)\n"
+"tween.parallel().tween_property(...)\n"
+"[/codeblock]\n"
+"All [Tweener]s in the example will run at the same time.\n"
+"You can make the [SceneTreeTween] parallel by default by using [method "
+"set_parallel]."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Pauses the tweening. The animation can be resumed by using [method play]."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid "Resumes a paused or stopped [SceneTreeTween]."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Sets the default ease type for [PropertyTweener]s and [MethodTweener]s "
+"animated by this [SceneTreeTween]."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Sets the number of times the tweening sequence will be repeated, i.e. "
+"[code]set_loops(2)[/code] will run the animation twice.\n"
+"Calling this method without arguments will make the [SceneTreeTween] run "
+"infinitely, until either it is killed with [method kill], the "
+"[SceneTreeTween]'s bound node is freed, or all the animated objects have "
+"been freed (which makes further animation impossible).\n"
+"[b]Warning:[/b] Make sure to always add some duration/delay when using "
+"infinite loops. To prevent the game freezing, 0-duration looped animations "
+"(e.g. a single [CallbackTweener] with no delay) are stopped after a small "
+"number of loops, which may produce unexpected results. If a "
+"[SceneTreeTween]'s lifetime depends on some node, always use [method "
+"bind_node]."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"If [code]parallel[/code] is [code]true[/code], the [Tweener]s appended after "
+"this method will by default run simultaneously, as opposed to sequentially."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Determines the behavior of the [SceneTreeTween] when the [SceneTree] is "
+"paused. Check [enum TweenPauseMode] for options.\n"
+"Default value is [constant TWEEN_PAUSE_BOUND]."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Determines whether the [SceneTreeTween] should run during idle frame (see "
+"[method Node._process]) or physics frame (see [method Node."
+"_physics_process].\n"
+"Default value is [constant Tween.TWEEN_PROCESS_IDLE]."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Scales the speed of tweening. This affects all [Tweener]s and their delays."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Sets the default transition type for [PropertyTweener]s and [MethodTweener]s "
+"animated by this [SceneTreeTween]."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Stops the tweening and resets the [SceneTreeTween] to its initial state. "
+"This will not remove any appended [Tweener]s."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Creates and appends a [CallbackTweener]. This method can be used to call an "
+"arbitrary method in any object. Use [code]binds[/code] to bind additional "
+"arguments for the call.\n"
+"Example: object that keeps shooting every 1 second.\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween().set_loops()\n"
+"tween.tween_callback(self, \"shoot\").set_delay(1)\n"
+"[/codeblock]\n"
+"Example: turning a sprite red and then blue, with 2 second delay.\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_callback($Sprite, \"set_modulate\", [Color.red]).set_delay(2)\n"
+"tween.tween_callback($Sprite, \"set_modulate\", [Color.blue]).set_delay(2)\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Creates and appends an [IntervalTweener]. This method can be used to create "
+"delays in the tween animation, as an alternative to using the delay in other "
+"[Tweener]s, or when there's no animation (in which case the [SceneTreeTween] "
+"acts as a timer). [code]time[/code] is the length of the interval, in "
+"seconds.\n"
+"Example: creating an interval in code execution.\n"
+"[codeblock]\n"
+"# ... some code\n"
+"yield(create_tween().tween_interval(2), \"finished\")\n"
+"# ... more code\n"
+"[/codeblock]\n"
+"Example: creating an object that moves back and forth and jumps every few "
+"seconds.\n"
+"[codeblock]\n"
+"var tween = create_tween().set_loops()\n"
+"tween.tween_property($Sprite, \"position:x\", 200.0, 1).as_relative()\n"
+"tween.tween_callback(self, \"jump\")\n"
+"tween.tween_interval(2)\n"
+"tween.tween_property($Sprite, \"position:x\", -200.0, 1).as_relative()\n"
+"tween.tween_callback(self, \"jump\")\n"
+"tween.tween_interval(2)\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Creates and appends a [MethodTweener]. This method is similar to a "
+"combination of [method tween_callback] and [method tween_property]. It calls "
+"a method over time with a tweened value provided as an argument. The value "
+"is tweened between [code]from[/code] and [code]to[/code] over the time "
+"specified by [code]duration[/code], in seconds. Use [code]binds[/code] to "
+"bind additional arguments for the call. You can use [method MethodTweener."
+"set_ease] and [method MethodTweener.set_trans] to tweak the easing and "
+"transition of the value or [method MethodTweener.set_delay] to delay the "
+"tweening.\n"
+"Example: making a 3D object look from one point to another point.\n"
+"[codeblock]\n"
+"var tween = create_tween()\n"
+"tween.tween_method(self, \"look_at\", Vector3(-1, 0, -1), Vector3(1, 0, -1), "
+"1, [Vector3.UP]) # The look_at() method takes up vector as second argument.\n"
+"[/codeblock]\n"
+"Example: setting a text of a [Label], using an intermediate method and after "
+"a delay.\n"
+"[codeblock]\n"
+"func _ready():\n"
+" var tween = create_tween()\n"
+" tween.tween_method(self, \"set_label_text\", 0, 10, 1).set_delay(1)\n"
+"\n"
+"func set_label_text(value: int):\n"
+" $Label.text = \"Counting \" + str(value)\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Creates and appends a [PropertyTweener]. This method tweens a "
+"[code]property[/code] of an [code]object[/code] between an initial value and "
+"[code]final_val[/code] in a span of time equal to [code]duration[/code], in "
+"seconds. The initial value by default is the property's value at the time "
+"the tweening of the [PropertyTweener] starts. For example:\n"
+"[codeblock]\n"
+"var tween = create_tween()\n"
+"tween.tween_property($Sprite, \"position\", Vector2(100, 200), 1)\n"
+"tween.tween_property($Sprite, \"position\", Vector2(200, 300), 1)\n"
+"[/codeblock]\n"
+"will move the sprite to position (100, 200) and then to (200, 300). If you "
+"use [method PropertyTweener.from] or [method PropertyTweener.from_current], "
+"the starting position will be overwritten by the given value instead. See "
+"other methods in [PropertyTweener] to see how the tweening can be tweaked "
+"further.\n"
+"[b]Note:[/b] You can find the correct property name by hovering over the "
+"property in the Inspector. You can also provide the components of a property "
+"directly by using [code]\"property:component\"[/code] (eg. [code]position:x[/"
+"code]), where it would only apply to that particular component.\n"
+"Example: moving object twice from the same position, with different "
+"transition types.\n"
+"[codeblock]\n"
+"var tween = create_tween()\n"
+"tween.tween_property($Sprite, \"position\", Vector2.RIGHT * 300, 1)."
+"as_relative().set_trans(Tween.TRANS_SINE)\n"
+"tween.tween_property($Sprite, \"position\", Vector2.RIGHT * 300, 1)."
+"as_relative().from_current().set_trans(Tween.TRANS_EXPO)\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Emitted when the [SceneTreeTween] has finished all tweening. Never emitted "
+"when the [SceneTreeTween] is set to infinite looping (see [method "
+"set_loops]).\n"
+"[b]Note:[/b] The [SceneTreeTween] is removed (invalidated) in the next "
+"processing frame after this signal is emitted. Calling [method stop] inside "
+"the signal callback will prevent the [SceneTreeTween] from being removed."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Emitted when a full loop is complete (see [method set_loops]), providing the "
+"loop index. This signal is not emitted after the final loop, use [signal "
+"finished] instead for this case."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"Emitted when one step of the [SceneTreeTween] is complete, providing the "
+"step index. One step is either a single [Tweener] or a group of [Tweener]s "
+"running in parallel."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"If the [SceneTreeTween] has a bound node, it will process when that node can "
+"process (see [member Node.pause_mode]). Otherwise it's the same as [constant "
+"TWEEN_PAUSE_STOP]."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid "If [SceneTree] is paused, the [SceneTreeTween] will also pause."
+msgstr ""
+
+#: doc/classes/SceneTreeTween.xml
+msgid ""
+"The [SceneTreeTween] will process regardless of whether [SceneTree] is "
+"paused."
+msgstr ""
+
#: doc/classes/Script.xml
msgid "A class stored as a resource."
msgstr ""
@@ -52670,8 +55255,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 "
@@ -52692,8 +55284,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 "
@@ -53251,7 +55851,7 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid "Introduction to 3D"
-msgstr ""
+msgstr "3D 簡介"
#: doc/classes/Spatial.xml doc/classes/Vector3.xml
msgid "All 3D Demos"
@@ -53468,11 +56068,30 @@ msgid ""
msgstr ""
#: doc/classes/Spatial.xml
+msgid ""
+"Rotation part of the global transformation in radians, specified in terms of "
+"YXZ-Euler angles in the format (X angle, Y angle, Z angle).\n"
+"[b]Note:[/b] In the mathematical sense, rotation is a matrix and not a "
+"vector. The three Euler angles, which are the three independent parameters "
+"of the Euler-angle parametrization of the rotation matrix, are stored in a "
+"[Vector3] data structure not because the rotation is a vector, but only "
+"because [Vector3] exists as a convenient data-structure to store 3 floating-"
+"point numbers. Therefore, applying affine operations on the rotation "
+"\"vector\" is not meaningful."
+msgstr ""
+
+#: doc/classes/Spatial.xml
msgid "World space (global) [Transform] of this node."
msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Global position of this node. This is equivalent to [code]global_transform."
+"origin[/code]."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotation part of the local transformation in radians, specified in terms of "
"YXZ-Euler angles in the format (X angle, Y angle, Z angle).\n"
"[b]Note:[/b] In the mathematical sense, rotation is a matrix and not a "
@@ -53491,7 +56110,12 @@ msgid ""
msgstr ""
#: doc/classes/Spatial.xml
-msgid "Scale part of the local transformation."
+msgid ""
+"Scale part of the local transformation.\n"
+"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
+"transformation matrix. Due to the way scale is represented with "
+"transformation matrices in Godot, the scale values will either be all "
+"positive or all negative."
msgstr ""
#: doc/classes/Spatial.xml
@@ -53890,6 +56514,10 @@ msgid ""
msgstr ""
#: doc/classes/SpatialMaterial.xml
+msgid "Enables signed distance field rendering shader."
+msgstr ""
+
+#: doc/classes/SpatialMaterial.xml
msgid "If [code]true[/code], the object receives no ambient light."
msgstr ""
@@ -53914,12 +56542,6 @@ msgstr ""
#: doc/classes/SpatialMaterial.xml
msgid ""
-"If [code]true[/code], depth testing is disabled and the object will be drawn "
-"in render order."
-msgstr ""
-
-#: doc/classes/SpatialMaterial.xml
-msgid ""
"If [code]true[/code], transparency is enabled on the body. See also [member "
"params_blend_mode]."
msgstr ""
@@ -54033,10 +56655,6 @@ msgid ""
msgstr ""
#: doc/classes/SpatialMaterial.xml
-msgid "Threshold at which the alpha scissor will discard values."
-msgstr ""
-
-#: doc/classes/SpatialMaterial.xml
msgid ""
"If [code]true[/code], the shader will keep the scale set for the mesh. "
"Otherwise the scale is lost when billboarding. Only applies when [member "
@@ -54491,12 +57109,6 @@ msgid ""
msgstr ""
#: doc/classes/SpatialMaterial.xml
-msgid ""
-"Disables the depth test, so this object is drawn on top of all others. "
-"However, objects drawn after it in the draw order may cover it."
-msgstr ""
-
-#: doc/classes/SpatialMaterial.xml
msgid "Set [code]ALBEDO[/code] to the per-vertex color specified in the mesh."
msgstr ""
@@ -55148,6 +57760,18 @@ msgstr ""
#: doc/classes/SpriteBase3D.xml
msgid ""
+"Sets the render priority for the sprite. Higher priority objects will be "
+"sorted in front of lower priority objects.\n"
+"[b]Note:[/b] This only applies if [member alpha_cut] is set to [constant "
+"ALPHA_CUT_DISABLED] (default value).\n"
+"[b]Note:[/b] This only applies to sorting of transparent objects. This will "
+"not impact how transparent objects are sorted relative to opaque objects. "
+"This is because opaque objects are not sorted, while transparent objects are "
+"sorted from back to front (subject to priority)."
+msgstr ""
+
+#: doc/classes/SpriteBase3D.xml
+msgid ""
"If [code]true[/code], the [Light] in the [Environment] has effects on the "
"sprite."
msgstr ""
@@ -55175,7 +57799,8 @@ msgid ""
msgstr ""
#: doc/classes/SpriteBase3D.xml
-msgid "Represents the size of the [enum DrawFlags] enum."
+msgid ""
+"Sprite is scaled by depth so that it always appears the same size on screen."
msgstr ""
#: doc/classes/SpriteFrames.xml
@@ -55934,7 +58559,31 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
"Formats the string by replacing all occurrences of [code]placeholder[/code] "
-"with [code]values[/code]."
+"with the elements of [code]values[/code].\n"
+"[code]values[/code] can be a [Dictionary] or an [Array]. Any underscores in "
+"[code]placeholder[/code] will be replaced with the corresponding keys in "
+"advance. Array elements use their index as keys.\n"
+"[codeblock]\n"
+"# Prints: Waiting for Godot is a play by Samuel Beckett, and Godot Engine is "
+"named after it.\n"
+"var use_array_values = \"Waiting for {0} is a play by {1}, and {0} Engine is "
+"named after it.\"\n"
+"print(use_array_values.format([\"Godot\", \"Samuel Beckett\"]))\n"
+"\n"
+"# Prints: User 42 is Godot.\n"
+"print(\"User {id} is {name}.\".format({\"id\": 42, \"name\": \"Godot\"}))\n"
+"[/codeblock]\n"
+"Some additional handling is performed when [code]values[/code] is an array. "
+"If [code]placeholder[/code] does not contain an underscore, the elements of "
+"the array will be used to replace one occurrence of the placeholder in turn; "
+"If an array element is another 2-element array, it'll be interpreted as a "
+"key-value pair.\n"
+"[codeblock]\n"
+"# Prints: User 42 is Godot.\n"
+"print(\"User {} is {}.\".format([42, \"Godot\"], \"{}\"))\n"
+"print(\"User {id} is {name}.\".format([[\"id\", 42], [\"name\", "
+"\"Godot\"]]))\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56124,11 +58773,11 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string contains a valid integer.\n"
"[codeblock]\n"
-"print(\"7\".is_valid_int()) # Prints \"True\"\n"
-"print(\"14.6\".is_valid_int()) # Prints \"False\"\n"
-"print(\"L\".is_valid_int()) # Prints \"False\"\n"
-"print(\"+3\".is_valid_int()) # Prints \"True\"\n"
-"print(\"-12\".is_valid_int()) # Prints \"True\"\n"
+"print(\"7\".is_valid_integer()) # Prints \"True\"\n"
+"print(\"14.6\".is_valid_integer()) # Prints \"False\"\n"
+"print(\"L\".is_valid_integer()) # Prints \"False\"\n"
+"print(\"+3\".is_valid_integer()) # Prints \"True\"\n"
+"print(\"-12\".is_valid_integer()) # Prints \"True\"\n"
"[/codeblock]"
msgstr ""
@@ -56531,9 +59180,11 @@ msgstr ""
#: doc/classes/StyleBox.xml
msgid ""
-"Draws this stylebox using a [CanvasItem] with given [RID].\n"
-"You can get a [RID] value using [method Object.get_instance_id] on a "
-"[CanvasItem]-derived node."
+"Draws this stylebox using a canvas item identified by the given [RID].\n"
+"The [RID] value can either be the result of [method CanvasItem."
+"get_canvas_item] called on an existing [CanvasItem]-derived node, or "
+"directly from creating a canvas item in the [VisualServer] with [method "
+"VisualServer.canvas_item_create]."
msgstr ""
#: doc/classes/StyleBox.xml
@@ -56720,7 +59371,7 @@ msgstr ""
msgid ""
"Antialiasing draws a small ring around the edges, which fades to "
"transparency. As a result, edges look much smoother. This is only noticeable "
-"when using rounded corners.\n"
+"when using rounded corners or [member skew].\n"
"[b]Note:[/b] When using beveled corners with 45-degree angles ([member "
"corner_detail] = 1), it is recommended to set [member anti_aliasing] to "
"[code]false[/code] to ensure crisp visuals and avoid possible visual "
@@ -56804,28 +59455,47 @@ msgstr ""
msgid ""
"Expands the stylebox outside of the control rect on the bottom edge. Useful "
"in combination with [member border_width_bottom] to draw a border outside "
-"the control rect."
+"the control rect.\n"
+"[b]Note:[/b] Unlike [member StyleBox.content_margin_bottom], [member "
+"expand_margin_bottom] does [i]not[/i] affect the size of the clickable area "
+"for [Control]s. This can negatively impact usability if used wrong, as the "
+"user may try to click an area of the StyleBox that cannot actually receive "
+"clicks."
msgstr ""
#: doc/classes/StyleBoxFlat.xml
msgid ""
"Expands the stylebox outside of the control rect on the left edge. Useful in "
"combination with [member border_width_left] to draw a border outside the "
-"control rect."
+"control rect.\n"
+"[b]Note:[/b] Unlike [member StyleBox.content_margin_left], [member "
+"expand_margin_left] does [i]not[/i] affect the size of the clickable area "
+"for [Control]s. This can negatively impact usability if used wrong, as the "
+"user may try to click an area of the StyleBox that cannot actually receive "
+"clicks."
msgstr ""
#: doc/classes/StyleBoxFlat.xml
msgid ""
"Expands the stylebox outside of the control rect on the right edge. Useful "
"in combination with [member border_width_right] to draw a border outside the "
-"control rect."
+"control rect.\n"
+"[b]Note:[/b] Unlike [member StyleBox.content_margin_right], [member "
+"expand_margin_right] does [i]not[/i] affect the size of the clickable area "
+"for [Control]s. This can negatively impact usability if used wrong, as the "
+"user may try to click an area of the StyleBox that cannot actually receive "
+"clicks."
msgstr ""
#: doc/classes/StyleBoxFlat.xml
msgid ""
"Expands the stylebox outside of the control rect on the top edge. Useful in "
"combination with [member border_width_top] to draw a border outside the "
-"control rect."
+"control rect.\n"
+"[b]Note:[/b] Unlike [member StyleBox.content_margin_top], [member "
+"expand_margin_top] does [i]not[/i] affect the size of the clickable area for "
+"[Control]s. This can negatively impact usability if used wrong, as the user "
+"may try to click an area of the StyleBox that cannot actually receive clicks."
msgstr ""
#: doc/classes/StyleBoxFlat.xml
@@ -56844,6 +59514,21 @@ msgstr ""
msgid "The shadow size in pixels."
msgstr ""
+#: doc/classes/StyleBoxFlat.xml
+msgid ""
+"If set to a non-zero value on either axis, [member skew] distorts the "
+"StyleBox horizontally and/or vertically. This can be used for \"futuristic\"-"
+"style UIs. Positive values skew the StyleBox towards the right (X axis) and "
+"upwards (Y axis), while negative values skew the StyleBox towards the left "
+"(X axis) and downwards (Y axis).\n"
+"[b]Note:[/b] To ensure text does not touch the StyleBox's edges, consider "
+"increasing the [StyleBox]'s content margin (see [member StyleBox."
+"content_margin_bottom]). It is preferable to increase the content margin "
+"instead of the expand margin (see [member expand_margin_bottom]), as "
+"increasing the expand margin does not increase the size of the clickable "
+"area for [Control]s."
+msgstr ""
+
#: doc/classes/StyleBoxLine.xml
msgid "[StyleBox] that displays a single line."
msgstr ""
@@ -57979,8 +60664,8 @@ msgstr ""
#: doc/classes/TextEdit.xml
msgid ""
-"Bookmarks the [code]line[/code] if [code]bookmark[/code] is true. Deletes "
-"the bookmark if [code]bookmark[/code] is false.\n"
+"Bookmarks the [code]line[/code] if [code]bookmark[/code] is [code]true[/"
+"code]. Deletes the bookmark if [code]bookmark[/code] is [code]false[/code].\n"
"Bookmarks are shown in the [member breakpoint_gutter]."
msgstr ""
@@ -58045,6 +60730,11 @@ msgid "If [code]true[/code], a right-click displays the context menu."
msgstr ""
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "If [code]true[/code], allow drag and drop of selected text."
+msgstr "回傳參數的餘弦值。"
+
+#: doc/classes/TextEdit.xml
msgid ""
"If [code]true[/code], the \"space\" character will have a visible "
"representation."
@@ -58275,6 +60965,50 @@ msgid ""
"Sets the [StyleBox] of this [TextEdit] when [member readonly] is enabled."
msgstr ""
+#: doc/classes/TextMesh.xml
+msgid "Generate an [PrimitiveMesh] from the text."
+msgstr ""
+
+#: doc/classes/TextMesh.xml
+msgid ""
+"Generate an [PrimitiveMesh] from the text.\n"
+"TextMesh can be generated only when using dynamic fonts with vector glyph "
+"contours. Bitmap fonts (including bitmap data in the TrueType/OpenType "
+"containers, like color emoji fonts) are not supported.\n"
+"The UV layout is arranged in 4 horizontal strips, top to bottom: 40% of the "
+"height for the front face, 40% for the back face, 10% for the outer edges "
+"and 10% for the inner edges."
+msgstr ""
+
+#: doc/classes/TextMesh.xml
+msgid "Step (in pixels) used to approximate Bézier curves."
+msgstr ""
+
+#: doc/classes/TextMesh.xml
+msgid ""
+"Depths of the mesh, if set to [code]0.0[/code] only front surface, is "
+"generated, and UV layout is changed to use full texture for the front face "
+"only."
+msgstr ""
+
+#: doc/classes/TextMesh.xml
+msgid "[Font] used for the [TextMesh]'s text."
+msgstr ""
+
+#: doc/classes/TextMesh.xml
+msgid ""
+"Controls the text's horizontal alignment. Supports left, center and right. "
+"Set it to one of the [enum Align] constants."
+msgstr ""
+
+#: doc/classes/TextMesh.xml
+msgid "The size of one pixel's width on the text to scale it in 3D."
+msgstr ""
+
+#: doc/classes/TextMesh.xml
+msgid "The text to generate mesh from."
+msgstr ""
+
#: doc/classes/Texture.xml
msgid "Texture for 2D and 3D."
msgstr ""
@@ -59528,6 +62262,11 @@ msgid ""
msgstr ""
#: doc/classes/TileMap.xml
+#, fuzzy
+msgid "If [code]true[/code], this TileMap bakes a navigation region."
+msgstr "回傳參數的餘弦值。"
+
+#: doc/classes/TileMap.xml
msgid "If [code]true[/code], the cell's UVs will be clipped."
msgstr ""
@@ -59634,6 +62373,10 @@ msgid "The TileMap orientation mode. See [enum Mode] for possible values."
msgstr ""
#: doc/classes/TileMap.xml
+msgid "The navigation layers the TileMap generates its navigation regions in."
+msgstr ""
+
+#: doc/classes/TileMap.xml
msgid ""
"The light mask assigned to all light occluders in the TileMap. The TileSet's "
"light occluders will cast shadows only from Light2D(s) that have the same "
@@ -60100,7 +62843,9 @@ msgid ""
"[code]weekday[/code], [code]hour[/code], [code]minute[/code], and "
"[code]second[/code].\n"
"If [code]weekday[/code] is false, then the [code]weekday[/code] entry is "
-"excluded (the calculation is relatively expensive)."
+"excluded (the calculation is relatively expensive).\n"
+"[b]Note:[/b] Any decimal fraction in the time string will be ignored "
+"silently."
msgstr ""
#: doc/classes/Time.xml
@@ -60230,14 +62975,18 @@ msgid ""
"string can contain a date only, a time only, or both.\n"
"[b]Note:[/b] Unix timestamps are often in UTC. This method does not do any "
"timezone conversion, so the timestamp will be in the same timezone as the "
-"given datetime string."
+"given datetime string.\n"
+"[b]Note:[/b] Any decimal fraction in the time string will be ignored "
+"silently."
msgstr ""
#: doc/classes/Time.xml
msgid ""
"Returns the current Unix timestamp in seconds based on the system time in "
"UTC. This method is implemented by the operating system and always returns "
-"the time in UTC."
+"the time in UTC.\n"
+"[b]Note:[/b] Unlike other methods that use integer timestamps, this method "
+"returns the timestamp as a [float] for sub-second precision."
msgstr ""
#: doc/classes/Time.xml
@@ -60632,20 +63381,21 @@ msgstr ""
#: doc/classes/Transform.xml
msgid ""
-"Rotates the transform around the given axis by the given angle (in radians), "
-"using matrix multiplication. The axis must be a normalized vector."
+"Returns a copy of the transform rotated around the given [code]axis[/code] "
+"by the given [code]angle[/code] (in radians), using matrix multiplication. "
+"The [code]axis[/code] must be a normalized vector."
msgstr ""
#: doc/classes/Transform.xml
msgid ""
-"Scales basis and origin of the transform by the given scale factor, using "
-"matrix multiplication."
+"Returns a copy of the transform with its basis and origin scaled by the "
+"given [code]scale[/code] factor, using matrix multiplication."
msgstr ""
#: doc/classes/Transform.xml doc/classes/Transform2D.xml
msgid ""
-"Translates the transform by the given offset, relative to the transform's "
-"basis vectors.\n"
+"Returns a copy of the transform translated by the given [code]offset[/code], "
+"relative to the transform's basis vectors.\n"
"Unlike [method rotated] and [method scaled], this does not use matrix "
"multiplication."
msgstr ""
@@ -60751,13 +63501,19 @@ msgstr ""
#: doc/classes/Transform2D.xml
msgid ""
-"Rotates the transform by the given angle (in radians), using matrix "
-"multiplication."
+"Returns a copy of the transform rotated by the given [code]angle[/code] (in "
+"radians), using matrix multiplication."
msgstr ""
#: doc/classes/Transform2D.xml
msgid ""
-"Scales the transform by the given scale factor, using matrix multiplication."
+"Returns a copy of the transform scaled by the given [code]scale[/code] "
+"factor, using matrix multiplication.\n"
+"[b]Note:[/b] Negative X scales in 2D are not decomposable from the "
+"transformation matrix. Due to the way scale is represented with "
+"transformation matrices in Godot, negative scales on the X axis will be "
+"changed to negative scales on the Y axis and a rotation of 180 degrees when "
+"decomposed."
msgstr ""
#: doc/classes/Transform2D.xml
@@ -60913,7 +63669,18 @@ msgid ""
"To iterate over all the [TreeItem] objects in a [Tree] object, use [method "
"TreeItem.get_next] and [method TreeItem.get_children] after getting the root "
"through [method get_root]. You can use [method Object.free] on a [TreeItem] "
-"to remove it from the [Tree]."
+"to remove it from the [Tree].\n"
+"[b]Incremental search:[/b] Like [ItemList] and [PopupMenu], [Tree] supports "
+"searching within the list while the control is focused. Press a key that "
+"matches the first letter of an item's name to select the first item starting "
+"with the given letter. After that point, there are two ways to perform "
+"incremental search: 1) Press the same key again before the timeout duration "
+"to select the next item starting with the same letter. 2) Press letter keys "
+"that match the rest of the word before the timeout duration to match to "
+"select the item in question directly. Both of these actions will be reset to "
+"the beginning of the list if the timeout duration has passed since the last "
+"keystroke was registered. You can adjust the timeout duration by changing "
+"[member ProjectSettings.gui/timers/incremental_search_max_interval_msec]."
msgstr ""
#: doc/classes/Tree.xml
@@ -60988,7 +63755,7 @@ msgid ""
"get the item that was modified.\n"
"[codeblock]\n"
"func _ready():\n"
-" $Tree.item_edited.connect(on_Tree_item_edited)\n"
+" $Tree.connect(\"item_edited\", self, \"on_Tree_item_edited\")\n"
"\n"
"func on_Tree_item_edited():\n"
" print($Tree.get_edited()) # This item just got edited (e.g. checked).\n"
@@ -61532,13 +64299,14 @@ msgstr ""
#: doc/classes/TreeItem.xml
msgid ""
-"Returns the next TreeItem in the tree or a null object if there is none."
+"Returns the next sibling TreeItem in the tree or a null object if there is "
+"none."
msgstr ""
#: doc/classes/TreeItem.xml
msgid ""
-"Returns the next visible TreeItem in the tree or a null object if there is "
-"none.\n"
+"Returns the next visible sibling TreeItem in the tree or a null object if "
+"there is none.\n"
"If [code]wrap[/code] is enabled, the method will wrap around to the first "
"visible element in the tree when called on the last visible element, "
"otherwise it returns [code]null[/code]."
@@ -61550,13 +64318,14 @@ msgstr ""
#: doc/classes/TreeItem.xml
msgid ""
-"Returns the previous TreeItem in the tree or a null object if there is none."
+"Returns the previous sibling TreeItem in the tree or a null object if there "
+"is none."
msgstr ""
#: doc/classes/TreeItem.xml
msgid ""
-"Returns the previous visible TreeItem in the tree or a null object if there "
-"is none.\n"
+"Returns the previous visible sibling TreeItem in the tree or a null object "
+"if there is none.\n"
"If [code]wrap[/code] is enabled, the method will wrap around to the last "
"visible element in the tree when called on the first visible element, "
"otherwise it returns [code]null[/code]."
@@ -61825,7 +64594,9 @@ msgid ""
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
"tween_cheatsheet.png]Tween easing and transition types cheatsheet[/url]\n"
"[b]Note:[/b] Tween methods will return [code]false[/code] if the requested "
-"operation cannot be completed."
+"operation cannot be completed.\n"
+"[b]Note:[/b] For an alternative method of tweening, that doesn't require "
+"using nodes, see [SceneTreeTween]."
msgstr ""
#: doc/classes/Tween.xml
@@ -61919,7 +64690,7 @@ msgstr ""
msgid ""
"Resets a tween to its initial value (the one given, not the one before the "
"tween), given its object and property/method pair. By default, all tweens "
-"are removed, unless [code]key[/code] is specified."
+"are reset, unless [code]key[/code] is specified."
msgstr ""
#: doc/classes/Tween.xml
@@ -62102,6 +64873,22 @@ msgid ""
"interpolation is fastest at both ends."
msgstr ""
+#: doc/classes/Tweener.xml
+msgid "Abstract class for all Tweeners used by [SceneTreeTween]."
+msgstr ""
+
+#: doc/classes/Tweener.xml
+msgid ""
+"Tweeners are objects that perform a specific animating task, e.g. "
+"interpolating a property or calling a method at a given time. A [Tweener] "
+"can't be created manually, you need to use a dedicated method from "
+"[SceneTreeTween]."
+msgstr ""
+
+#: doc/classes/Tweener.xml
+msgid "Emitted when the [Tweener] has just finished its job."
+msgstr ""
+
#: doc/classes/UDPServer.xml
msgid "Helper class to implement a UDP server."
msgstr ""
@@ -62894,7 +65681,7 @@ msgstr ""
msgid ""
"Returns the angle between the line connecting the two points and the X axis, "
"in radians.\n"
-"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/stable/img/"
"vector2_angle_to_point.png]Illustration of the returned angle.[/url]"
msgstr ""
@@ -63056,8 +65843,8 @@ msgstr ""
#: doc/classes/Vector2.xml
msgid ""
-"Returns the vector rotated by [code]phi[/code] radians. See also [method "
-"@GDScript.deg2rad]."
+"Returns the vector rotated by [code]angle[/code] (in radians). See also "
+"[method @GDScript.deg2rad]."
msgstr ""
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
@@ -63155,7 +65942,7 @@ msgstr ""
#: doc/classes/Vector3.xml
msgid ""
"3-element structure that can be used to represent positions in 3D space or "
-"any other pair of numeric values.\n"
+"any other triplet of numeric values.\n"
"[b]Note:[/b] In a boolean context, a Vector3 will evaluate to [code]false[/"
"code] if it's equal to [code]Vector3(0, 0, 0)[/code]. Otherwise, a Vector3 "
"will always evaluate to [code]true[/code]."
@@ -63240,8 +66027,8 @@ msgstr ""
#: doc/classes/Vector3.xml
msgid ""
-"Rotates this vector around a given axis by [code]phi[/code] radians. The "
-"axis must be a normalized vector."
+"Rotates this vector around a given axis by [code]angle[/code] (in radians). "
+"The axis must be a normalized vector."
msgstr ""
#: doc/classes/Vector3.xml
@@ -63351,11 +66138,11 @@ msgstr ""
#: doc/classes/VehicleBody.xml
msgid ""
"Accelerates the vehicle by applying an engine force. The vehicle is only "
-"speed up if the wheels that have [member VehicleWheel.use_as_traction] set "
-"to [code]true[/code] and are in contact with a surface. The [member "
-"RigidBody.mass] of the vehicle has an effect on the acceleration of the "
-"vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 "
-"range for acceleration.\n"
+"sped up if the wheels that have [member VehicleWheel.use_as_traction] set to "
+"[code]true[/code] and are in contact with a surface. The [member RigidBody."
+"mass] of the vehicle has an effect on the acceleration of the vehicle. For a "
+"vehicle with a mass set to 1000, try a value in the 25 - 50 range for "
+"acceleration.\n"
"[b]Note:[/b] The simulation does not take the effect of gears into account, "
"you will need to add logic for this if you wish to simulate gears.\n"
"A negative value will result in the vehicle reversing."
@@ -63435,8 +66222,8 @@ msgstr ""
#: doc/classes/VehicleWheel.xml
msgid ""
-"Accelerates the wheel by applying an engine force. The wheel is only speed "
-"up if it is in contact with a surface. The [member RigidBody.mass] of the "
+"Accelerates the wheel by applying an engine force. The wheel is only sped up "
+"if it is in contact with a surface. The [member RigidBody.mass] of the "
"vehicle has an effect on the acceleration of the vehicle. For a vehicle with "
"a mass set to 1000, try a value in the 25 - 50 range for acceleration.\n"
"[b]Note:[/b] The simulation does not take the effect of gears into account, "
@@ -63634,12 +66421,12 @@ msgid ""
msgstr ""
#: modules/gdnative/doc_classes/VideoStreamGDNative.xml
-msgid "[VideoStream] resource for for video formats implemented via GDNative."
+msgid "[VideoStream] resource for video formats implemented via GDNative."
msgstr ""
#: modules/gdnative/doc_classes/VideoStreamGDNative.xml
msgid ""
-"[VideoStream] resource for for video formats implemented via GDNative.\n"
+"[VideoStream] resource for video formats implemented via GDNative.\n"
"It can be used via [url=https://github.com/KidRigger/godot-"
"videodecoder]godot-videodecoder[/url] which uses the [url=https://ffmpeg."
"org]FFmpeg[/url] library."
@@ -63837,7 +66624,9 @@ msgstr "回傳參數的餘弦值。"
#: doc/classes/Viewport.xml
msgid ""
"Returns [code]true[/code] if the viewport is currently performing a drag "
-"operation."
+"operation.\n"
+"Alternative to [constant Node.NOTIFICATION_DRAG_BEGIN] and [constant Node."
+"NOTIFICATION_DRAG_END] when you prefer polling the value."
msgstr ""
#: doc/classes/Viewport.xml
@@ -63985,8 +66774,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -64041,9 +66830,10 @@ msgstr ""
msgid ""
"The shadow atlas' resolution (used for omni and spot lights). The value will "
"be rounded up to the nearest power of 2.\n"
-"[b]Note:[/b] If this is set to 0, shadows won't be visible. Since user-"
-"created viewports default to a value of 0, this value must be set above 0 "
-"manually."
+"[b]Note:[/b] If this is set to [code]0[/code], both point [i]and[/i] "
+"directional shadows won't be visible. Since user-created viewports default "
+"to a value of [code]0[/code], this value must be set above [code]0[/code] "
+"manually (typically at least [code]256[/code])."
msgstr ""
#: doc/classes/Viewport.xml
@@ -64072,7 +66862,11 @@ msgid ""
msgstr ""
#: doc/classes/Viewport.xml
-msgid "The rendering mode of viewport."
+msgid ""
+"The rendering mode of viewport.\n"
+"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
+"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
+"HDR is not supported for 2D."
msgstr ""
#: doc/classes/Viewport.xml
@@ -64423,11 +67217,12 @@ msgid "This enabler will stop [Particles2D] nodes."
msgstr ""
#: doc/classes/VisibilityEnabler2D.xml
-msgid "This enabler will stop the parent's _process function."
+msgid "This enabler will stop the parent's [method Node._process] function."
msgstr ""
#: doc/classes/VisibilityEnabler2D.xml
-msgid "This enabler will stop the parent's _physics_process function."
+msgid ""
+"This enabler will stop the parent's [method Node._physics_process] function."
msgstr ""
#: doc/classes/VisibilityEnabler2D.xml
@@ -64467,6 +67262,16 @@ msgid "The VisibilityNotifier's bounding box."
msgstr ""
#: doc/classes/VisibilityNotifier.xml
+msgid ""
+"In addition to checking whether a node is on screen or within a [Camera]'s "
+"view, VisibilityNotifier can also optionally check whether a node is within "
+"a specified maximum distance when using a [Camera] with perspective "
+"projection. This is useful for throttling the performance requirements of "
+"nodes that are far away.\n"
+"[b]Note:[/b] This feature will be disabled if set to 0.0."
+msgstr ""
+
+#: doc/classes/VisibilityNotifier.xml
msgid "Emitted when the VisibilityNotifier enters a [Camera]'s view."
msgstr ""
@@ -67535,10 +70340,11 @@ msgid "Returns the value of a certain material's parameter."
msgstr ""
#: doc/classes/VisualServer.xml
+#, fuzzy
msgid ""
-"Returns the default value for the param if available. Otherwise returns an "
-"empty [Variant]."
-msgstr ""
+"Returns the default value for the param if available. Returns [code]null[/"
+"code] otherwise."
+msgstr "計算兩個向量的外積。"
#: doc/classes/VisualServer.xml
msgid ""
@@ -68300,6 +71106,32 @@ msgstr ""
#: doc/classes/VisualServer.xml
msgid ""
+"Creates an update link between two textures, similar to how "
+"[ViewportTexture]s operate. When the base texture is the texture of a "
+"[Viewport], every time the viewport renders a new frame, the proxy texture "
+"automatically receives an update.\n"
+"For example, this code links a generic [ImageTexture] to the texture output "
+"of the [Viewport] using the VisualServer API:\n"
+"[codeblock]\n"
+"func _ready():\n"
+" var viewport_rid = get_viewport().get_viewport_rid()\n"
+" var viewport_texture_rid = VisualServer."
+"viewport_get_texture(viewport_rid)\n"
+"\n"
+" var proxy_texture = ImageTexture.new()\n"
+" var viewport_texture_image_data = VisualServer."
+"texture_get_data(viewport_texture_rid)\n"
+"\n"
+" proxy_texture.create_from_image(viewport_texture_image_data)\n"
+" var proxy_texture_rid = proxy_texture.get_rid()\n"
+" VisualServer.texture_set_proxy(proxy_texture_rid, viewport_texture_rid)\n"
+"\n"
+" $TextureRect.texture = proxy_texture\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/VisualServer.xml
+msgid ""
"If [code]true[/code], sets internal processes to shrink all image data to "
"half the size."
msgstr ""
@@ -68336,7 +71168,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
@@ -68407,7 +71239,11 @@ msgid "Sets the viewport's global transformation matrix."
msgstr ""
#: doc/classes/VisualServer.xml
-msgid "If [code]true[/code], the viewport renders to hdr."
+msgid ""
+"If [code]true[/code], the viewport renders to high dynamic range (HDR) "
+"instead of standard dynamic range (SDR). See also [method "
+"viewport_set_use_32_bpc_depth].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/VisualServer.xml
@@ -68492,6 +71328,15 @@ msgstr ""
#: doc/classes/VisualServer.xml
msgid ""
+"If [code]true[/code], allocates the viewport's framebuffer with full "
+"floating-point precision (32-bit) instead of half floating-point precision "
+"(16-bit). Only effective if [method viewport_set_use_32_bpc_depth] is used "
+"on the same [Viewport] to set HDR to [code]true[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
+msgstr ""
+
+#: doc/classes/VisualServer.xml
+msgid ""
"If [code]true[/code], the viewport uses augmented or virtual reality "
"technologies. See [ARVRInterface]."
msgstr ""
@@ -69204,6 +72049,16 @@ msgid "The amount of shader rebinds in the frame."
msgstr ""
#: doc/classes/VisualServer.xml
+msgid ""
+"The peak amount of shaders that have been under compilation in the frame.\n"
+"This is useful to know when asynchronous shader compilation has finished for "
+"the current shaders on screen.\n"
+"[b]Note:[/b] For complete certainty, only assume there are no outstanding "
+"compilations when this value is zero for at least two frames in a row.\n"
+"Unimplemented in the GLES2 rendering backend, always returns 0."
+msgstr ""
+
+#: doc/classes/VisualServer.xml
msgid "The amount of surface changes in the frame."
msgstr ""
@@ -69349,23 +72204,43 @@ msgid "Shows the glow effect by itself without the underlying scene."
msgstr ""
#: doc/classes/VisualServer.xml
-msgid "Output color as they came in."
+msgid ""
+"Output color as they came in. This can cause bright lighting to look blown "
+"out, with noticeable clipping in the output colors."
msgstr ""
#: doc/classes/VisualServer.xml
-msgid "Use the Reinhard tonemapper."
+msgid ""
+"Use the Reinhard tonemapper. Performs a variation on rendered pixels' colors "
+"by this formula: [code]color = color / (1 + color)[/code]. This avoids "
+"clipping bright highlights, but the resulting image can look a bit dull."
msgstr ""
#: doc/classes/VisualServer.xml
-msgid "Use the filmic tonemapper."
+msgid ""
+"Use the filmic tonemapper. This avoids clipping bright highlights, with a "
+"resulting image that usually looks more vivid than [constant "
+"ENV_TONE_MAPPER_REINHARD]."
msgstr ""
#: doc/classes/VisualServer.xml
-msgid "Use the ACES tonemapper."
+msgid ""
+"Use the legacy Godot version of the Academy Color Encoding System "
+"tonemapper. Unlike [constant ENV_TONE_MAPPER_ACES_FITTED], this version of "
+"ACES does not handle bright lighting in a physically accurate way. ACES "
+"typically has a more contrasted output compared to [constant "
+"ENV_TONE_MAPPER_REINHARD] and [constant ENV_TONE_MAPPER_FILMIC].\n"
+"[b]Note:[/b] This tonemapping operator will be removed in Godot 4.0 in favor "
+"of the more accurate [constant ENV_TONE_MAPPER_ACES_FITTED]."
msgstr ""
#: doc/classes/VisualServer.xml
-msgid "Use the ACES Fitted tonemapper."
+msgid ""
+"Use the Academy Color Encoding System tonemapper. ACES is slightly more "
+"expensive than other options, but it handles bright lighting in a more "
+"realistic fashion by desaturating it as it becomes brighter. ACES typically "
+"has a more contrasted output compared to [constant ENV_TONE_MAPPER_REINHARD] "
+"and [constant ENV_TONE_MAPPER_FILMIC]."
msgstr ""
#: doc/classes/VisualServer.xml
@@ -72292,7 +75167,7 @@ msgid "Emitted when [member visibility_state] has changed."
msgstr ""
#: modules/webxr/doc_classes/WebXRInterface.xml
-msgid "We don't know the the target ray mode."
+msgid "We don't know the target ray mode."
msgstr ""
#: modules/webxr/doc_classes/WebXRInterface.xml
@@ -72381,8 +75256,8 @@ msgstr ""
#: doc/classes/World.xml
msgid ""
"Class that has everything pertaining to a world. A physics space, a visual "
-"scenario and a sound space. Spatial nodes register their resources into the "
-"current world."
+"scenario, a navigation map and a sound space. Spatial nodes register their "
+"resources into the current world."
msgstr ""
#: doc/classes/World.xml
@@ -72397,11 +75272,17 @@ msgstr ""
#: doc/classes/World.xml
msgid ""
-"The World's fallback_environment will be used if the World's [Environment] "
-"fails or is missing."
+"The World's fallback environment will be used if [member environment] fails "
+"or is missing."
msgstr ""
#: doc/classes/World.xml
+#, fuzzy
+msgid ""
+"The [RID] of this world's navigation map. Used by the [NavigationServer]."
+msgstr "回傳參數的正弦值。"
+
+#: doc/classes/World.xml
msgid "The World's visual scenario."
msgstr ""
@@ -72416,8 +75297,8 @@ msgstr ""
#: doc/classes/World2D.xml
msgid ""
"Class that has everything pertaining to a 2D world. A physics space, a "
-"visual scenario and a sound space. 2D nodes register their resources into "
-"the current 2D world."
+"visual scenario, a navigation map and a sound space. 2D nodes register their "
+"resources into the current 2D world."
msgstr ""
#: doc/classes/World2D.xml
@@ -72434,6 +75315,12 @@ msgid ""
msgstr ""
#: doc/classes/World2D.xml
+#, fuzzy
+msgid ""
+"The [RID] of this world's navigation map. Used by the [Navigation2DServer]."
+msgstr "回傳參數的正弦值。"
+
+#: doc/classes/World2D.xml
msgid ""
"The [RID] of this world's physics space resource. Used by the "
"[Physics2DServer] for 2D physics, treating it as both a space and an area."
@@ -72476,8 +75363,7 @@ msgid ""
"They can be used as the server certificate in [method StreamPeerSSL."
"accept_stream] (along with the proper [CryptoKey]), and to specify the only "
"certificate that should be accepted when connecting to an SSL server via "
-"[method StreamPeerSSL.connect_to_stream].\n"
-"[b]Note:[/b] Not available in HTML5 exports."
+"[method StreamPeerSSL.connect_to_stream]."
msgstr ""
#: doc/classes/X509Certificate.xml