summaryrefslogtreecommitdiff
path: root/doc/translations/zh_CN.po
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2022-05-17 23:43:41 +0200
committerRémi Verschelde <rverschelde@gmail.com>2022-05-17 23:45:37 +0200
commit438202dbd87825c2ce6726ece1bf64bf3703562b (patch)
treeb750cc65330589121663cf78504a96507bc9a577 /doc/translations/zh_CN.po
parent80acc7a2c29b8da544fc25e6fe24747eea6cf1a2 (diff)
i18n: Sync classref translations with Weblate
(cherry picked from commit e86d840d4fccf9fd3e986e36bbd29a8baf750ec1)
Diffstat (limited to 'doc/translations/zh_CN.po')
-rw-r--r--doc/translations/zh_CN.po1376
1 files changed, 1027 insertions, 349 deletions
diff --git a/doc/translations/zh_CN.po b/doc/translations/zh_CN.po
index 984600883d..cbef0b9212 100644
--- a/doc/translations/zh_CN.po
+++ b/doc/translations/zh_CN.po
@@ -62,7 +62,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-05-04 09:18+0000\n"
+"PO-Revision-Date: 2022-05-14 20:22+0000\n"
"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot-class-reference/zh_Hans/>\n"
@@ -71,7 +71,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Weblate 4.12.1\n"
+"X-Generator: Weblate 4.13-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -957,7 +957,6 @@ msgstr ""
"值,请将其与 [method ease] 或 [method smoothstep] 组合。"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Linearly interpolates between two angles (in radians) by a normalized "
"value.\n"
@@ -992,7 +991,12 @@ msgstr ""
" var max_angle = deg2rad(90.0)\n"
" rotation = lerp_angle(min_angle, max_angle, elapsed)\n"
" elapsed += delta\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]注意:[/b]这个方法会通过 [code]from[/code] 和 [code]to[/code] 之间的最短路"
+"径进行线性插值。然而,当这两个角度相距大致 [code]PI + k * TAU[/code] 其中 "
+"[code]k[/code] 为任意整数时,由于浮点数精度误差的缘故,要对插值的方向进行判断"
+"是很难的。例如,[code]lerp_angle(0, PI, weight)[/code] 会逆时针插值,而 "
+"[code]lerp_angle(0, PI + 5 * TAU, weight)[/code] 则会顺时针插值。"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1444,12 +1448,14 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Random range, any floating point value between [code]from[/code] and "
-"[code]to[/code].\n"
+"Returns a random floating point value between [code]from[/code] and "
+"[code]to[/code] (both endpoints inclusive).\n"
"[codeblock]\n"
"prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
msgstr ""
"随机范围,[code]from[/code] 和 [code]to[/code] 之间的任何浮点值。\n"
"[codeblock]\n"
@@ -1517,37 +1523,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"
@@ -1556,43 +1561,6 @@ msgid ""
"3\n"
"[/codeblock]"
msgstr ""
-"返回一个具有给定范围的数组。范围可以是一个参数[code]N[/code](0 到 [code]N[/"
-"code] - 1),两个参数(初始 [code]initial[/code]、最终 [code]final -1[/"
-"code])或三个参数(初始 [code]initial[/code]、最终 [code]final -1[/code]、增"
-"量 [code]increment[/code])。范围无效时返回一个空数组(例如 [code]range(2, "
-"5, -1)[/code] 或 [code]range(5, 5, 1)[/code])。\n"
-"返回一个具有给定范围的数组。[code]range()[/code] 可以是一个参数 [code]N[/"
-"code](0 到 [code]N[/code] - 1),两个参数(初始 [code]initial[/code]、最终 "
-"[code]final -1[/code])或三个参数(初始[code]initial[/code]、最终 "
-"[code]final -1[/code]、增量 [code]increment[/code])。增量 [code]increment[/"
-"code] 可以是负数。如果增量 [code]increment[/code] 是负的,[code]final-1[/"
-"code] 将变成 [code]final+1[/code]。另外,初始值必须大于最终值,循环才能运"
-"行。\n"
-"[codeblock]\n"
-"print(range(4))\n"
-"print(range(2, 5))\n"
-"print(range(0, 6, 2))\n"
-"[/codeblock]\n"
-"输出:\n"
-"[codeblock]\n"
-"[0, 1, 2, 3]\n"
-"[2, 3, 4]\n"
-"[0, 2, 4]\n"
-"[/codeblock]\n"
-"要对一个数组 [Array] 进行逆序迭代,请使用:\n"
-"[codeblock]\n"
-"var array = [3, 6, 9]\n"
-"var i := array.size() - 1\n"
-"while i >= 0:\n"
-" print(array[i])\n"
-" i -= 1\n"
-"[/codeblock]\n"
-"输出:\n"
-"[codeblock]\n"
-"9\n"
-"6\n"
-"3\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -5086,17 +5054,26 @@ msgid "Maximum value for the mode enum."
msgstr "模式列举的最大值。"
#: doc/classes/AnimatedSprite.xml
-msgid "Sprite node that can use multiple textures for animation."
+#, fuzzy
+msgid ""
+"Sprite node that contains multiple textures as frames to play for animation."
msgstr "可以使用多个纹理进行动画处理的精灵节点。"
#: doc/classes/AnimatedSprite.xml
+#, fuzzy
msgid ""
-"Animations are created using a [SpriteFrames] resource, which can be "
-"configured in the editor via the SpriteFrames panel.\n"
-"[b]Note:[/b] You can associate a set of normal maps by creating additional "
-"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, "
-"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/"
-"code] will make it so the [code]run[/code] animation uses the normal map."
+"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple "
+"textures as animation frames. Animations are created using a [SpriteFrames] "
+"resource, which allows you to import image files (or a folder containing "
+"said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel.\n"
+"[b]Note:[/b] You can associate a set of normal or specular maps by creating "
+"additional [SpriteFrames] resources with a [code]_normal[/code] or "
+"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] "
+"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/"
+"code] will make it so the [code]run[/code] animation uses normal and "
+"specular maps."
msgstr ""
"动画通过一个 [SpriteFrames] 资源创建,而该资源可以通过动画帧面板在编辑器中配"
"置。\n"
@@ -5133,9 +5110,10 @@ msgstr ""
msgid "Stops the current animation (does not reset the frame counter)."
msgstr "停止播放当前动画(不会重置帧计数器)。"
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
+#: doc/classes/AnimatedSprite.xml
+#, fuzzy
msgid ""
-"The current animation from the [code]frames[/code] resource. If this value "
+"The current animation from the [member frames] resource. If this value "
"changes, the [code]frame[/code] counter is reset."
msgstr ""
"来自 [code]frames[/code] 资源的当前动画。如果这个值发生变化,[code]frame[/"
@@ -5161,9 +5139,12 @@ msgstr "为 [code]true[/code] 时纹理将被垂直翻转。"
msgid "The displayed animation frame's index."
msgstr "显示的动画帧的索引。"
-#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml
-msgid "The [SpriteFrames] resource containing the animation(s)."
-msgstr "包含动画的 [SpriteFrames] 资源。"
+#: doc/classes/AnimatedSprite.xml
+msgid ""
+"The [SpriteFrames] resource containing the animation(s). Allows you the "
+"option to load, edit, clear, make unique and save the states of the "
+"[SpriteFrames] resource."
+msgstr ""
#: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
#: doc/classes/SpriteBase3D.xml
@@ -5219,6 +5200,18 @@ msgstr ""
"播放名为 [code]anim[/code] 的动画。如果没有提供 [code]anim[/code],则播放当前"
"动画。"
+#: doc/classes/AnimatedSprite3D.xml
+msgid ""
+"The current animation from the [code]frames[/code] resource. If this value "
+"changes, the [code]frame[/code] counter is reset."
+msgstr ""
+"来自 [code]frames[/code] 资源的当前动画。如果这个值发生变化,[code]frame[/"
+"code] 计数器会被重置。"
+
+#: doc/classes/AnimatedSprite3D.xml
+msgid "The [SpriteFrames] resource containing the animation(s)."
+msgstr "包含动画的 [SpriteFrames] 资源。"
+
#: doc/classes/AnimatedTexture.xml
msgid "Proxy texture for simple frame-based animations."
msgstr "基于简单帧动画的代理纹理。"
@@ -5860,11 +5853,11 @@ msgstr "动画轨道会在其他 [AnimationPlayer] 节点中播放动画。"
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 "三次插值。"
@@ -7076,11 +7069,15 @@ msgid ""
msgstr "将键值为[code]name[/code]的现有动画重命名为[code]newname[/code]。"
#: doc/classes/AnimationPlayer.xml
+#, fuzzy
msgid ""
"Seeks the animation to the [code]seconds[/code] point in time (in seconds). "
"If [code]update[/code] is [code]true[/code], the animation updates too, "
"otherwise it updates at process time. Events between the current frame and "
-"[code]seconds[/code] are skipped."
+"[code]seconds[/code] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
msgstr ""
"将动画寻道到时间点 [code]seconds[/code](单位为秒)。[code]update[/code] 为 "
"[code]true[/code] 时会同时更新动画,否则会在处理时更新。当前帧和 "
@@ -8614,7 +8611,10 @@ msgid ""
"[code]0[/code]."
msgstr "清空数组。与调用 [method resize] 时指定大小为 [code]0[/code] 等价。"
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
msgid "Returns the number of times an element is in the array."
msgstr "返回元素在数组中出现的次数。"
@@ -8667,11 +8667,23 @@ msgid ""
"array.fill(0) # Initialize the 10 elements to 0.\n"
"[/codeblock]"
msgstr ""
+"将该数组中的所有元素都设置为给定的值。通常与 [method resize] 一起使用,用于创"
+"建给定大小数组并对其元素进行初始化:\n"
+"[codeblock]\n"
+"var array = []\n"
+"array.resize(10)\n"
+"array.fill(0) # 将 10 个元素都初始化为 0。\n"
+"[/codeblock]"
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
+#, fuzzy
msgid ""
"Searches the array for a value and returns its index or [code]-1[/code] if "
-"not found. Optionally, the initial search index can be passed."
+"not found. Optionally, the initial search index can be passed. Returns "
+"[code]-1[/code] if [code]from[/code] is out of bounds."
msgstr ""
"在数组中查找指定的值,返回对应的索引,未找到时返回 [code]-1[/code]。还可以传"
"入搜索起始位置的索引。"
@@ -8865,11 +8877,16 @@ msgstr ""
"调整数组至包含不同数量的元素。如果数组变小则清除多余元素,变大则新元素为 "
"[code]null[/code]。"
-#: doc/classes/Array.xml
+#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
+#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
+#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
+#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
+#, fuzzy
msgid ""
"Searches the array in reverse order. Optionally, a start search index can be "
"passed. If negative, the start index is considered relative to the end of "
-"the array."
+"the array. If the adjusted start index is out of bounds, this method "
+"searches from the end of the array."
msgstr ""
"逆序搜索数组。还可以传入搜索起始位置的索引,如果为负数,则起始位置从数组的末"
"尾开始计算。"
@@ -10107,9 +10124,8 @@ msgstr ""
#: doc/classes/PanelContainer.xml doc/classes/ScrollContainer.xml
#: doc/classes/SplitContainer.xml doc/classes/TabContainer.xml
#: doc/classes/VBoxContainer.xml doc/classes/VSplitContainer.xml
-#, fuzzy
msgid "GUI containers"
-msgstr "选项卡容器。"
+msgstr "GUI 容器"
#: doc/classes/AspectRatioContainer.xml
msgid "Specifies the horizontal relative position of child controls."
@@ -10275,10 +10291,11 @@ msgstr ""
"注意这个函数隐藏在默认的 [code]AStar[/code] 类中。"
#: doc/classes/AStar.xml
+#, fuzzy
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, "
@@ -10582,10 +10599,11 @@ msgstr ""
"请注意,这个函数隐藏在默认的 [code]AStar2D[/code] 类中。"
#: doc/classes/AStar2D.xml
+#, fuzzy
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, "
@@ -13418,14 +13436,13 @@ msgstr ""
"可以考虑使用 [Quat] 构造函数代替,它使用四元组代替欧拉角。"
#: doc/classes/Basis.xml
-#, fuzzy
msgid ""
"Constructs a pure rotation basis matrix, rotated around the given "
"[code]axis[/code] by [code]angle[/code] (in radians). The axis must be a "
"normalized vector."
msgstr ""
-"构造一个纯旋转的基矩阵,围绕给定的 [code]axis[/code] 旋转 [code]phi[/code] 个"
-"弧度。轴必须是归一化向量。"
+"构造一个纯旋转的基矩阵,围绕给定的轴 [code]axis[/code] 旋转 [code]angle[/"
+"code](单位为弧度)。该轴必须是归一化向量。"
#: doc/classes/Basis.xml
msgid "Constructs a basis matrix from 3 axis vectors (matrix columns)."
@@ -13509,12 +13526,12 @@ msgstr ""
"的)。这将在矩阵的基上执行 Gram-Schmidt 正交化。"
#: doc/classes/Basis.xml
-#, fuzzy
msgid ""
"Introduce an additional rotation around the given axis by [code]angle[/code] "
"(in radians). The axis must be a normalized vector."
msgstr ""
-"围绕给定轴线引入一个额外的旋转phi(弧度)。该轴必须是一个归一化的向量。"
+"围绕给定轴线引入一个额外的旋转 [code]angle[/code](单位为弧度)。该轴必须是一"
+"个归一化的向量。"
#: doc/classes/Basis.xml
msgid ""
@@ -14234,9 +14251,8 @@ msgid "Emitted when one of the buttons of the group is pressed."
msgstr "当该组中的一个按钮被按下时触发。"
#: doc/classes/CallbackTweener.xml
-#, fuzzy
msgid "Calls the specified method after optional delay."
-msgstr "锁定指定的线性或旋转轴。"
+msgstr "在可选的延迟之后调用指定的方法。"
#: doc/classes/CallbackTweener.xml
msgid ""
@@ -14246,6 +14262,10 @@ msgid ""
"to create [CallbackTweener]. Any [CallbackTweener] created manually will not "
"function correctly."
msgstr ""
+"[CallbackTweener] 可用于在补间序列中调用方法。更多用法信息请参阅 [method "
+"SceneTreeTween.tween_callback]。\n"
+"[b]注意:[/b]创建 [CallbackTweener] 的唯一正确方法是 [method SceneTreeTween."
+"tween_callback]。任何手动创建的 [CallbackTweener] 都无法正常工作。"
#: doc/classes/CallbackTweener.xml
msgid ""
@@ -14256,6 +14276,12 @@ msgid ""
"after 2 seconds\n"
"[/codeblock]"
msgstr ""
+"让该回调延迟给定的时间,单位为秒。示例:\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_callback(queue_free).set_delay(2) # 会在 2 秒后调用 "
+"queue_free()\n"
+"[/codeblock]"
#: doc/classes/Camera.xml
msgid "Camera node, displays from a point of view."
@@ -14354,21 +14380,23 @@ msgstr ""
"平面距离相机的场景为给定的 [code]z_depth[/code] 距离。"
#: doc/classes/Camera.xml
+#, fuzzy
msgid ""
"Returns a normal vector in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
msgstr ""
"返回世界空间中的法线向量,即相机投影在[Viewport]矩形上投影一个点的结果。这对"
"于以原点、法线,投射光线形式用于对象相交或拾取很有用。"
#: doc/classes/Camera.xml
+#, fuzzy
msgid ""
"Returns a 3D position in world space, that is the result of projecting a "
-"point on the [Viewport] rectangle by the camera projection. This is useful "
-"for casting rays in the form of (origin, normal) for object intersection or "
-"picking."
+"point on the [Viewport] rectangle by the inverse camera projection. This is "
+"useful for casting rays in the form of (origin, normal) for object "
+"intersection or picking."
msgstr ""
"返回世界空间中的 3D 坐标,即相机投影在 [Viewport] 矩形上投影一个点的结果。这"
"对于以原点、法线,投射光线形式用于对象相交或拾取很有用。"
@@ -15191,6 +15219,15 @@ msgid ""
"mipmaps to perform antialiasing. 2D batching is also still supported with "
"those antialiased lines."
msgstr ""
+"在给定的角度之间绘制未填充的弧形。[code]point_count[/code] 的值越大,曲线越平"
+"滑。另请参阅 [method draw_circle]。\n"
+"[b]注意:[/b]如果 [code]antialiased[/code] 为 [code]true[/code],那么线段的绘"
+"制就不会被分批加速。\n"
+"[b]注意:[/b]由于实现的原因,内置的抗锯齿无法在透明多边形上得到正确的效果,并"
+"且可能无法在某些平台上正常工作。作为替代方案,请安装[url=https://github.com/"
+"godot-extended-libraries/godot-antialiased-line2d]抗锯齿 Line2D[/url] 插件并"
+"创建 AntialiasedRegularPolygon2D 节点。该节点的抗锯齿是使用带有自定义 mipmap "
+"的纹理进行的。这些抗锯齿线段仍然支持 2D 分批。"
#: doc/classes/CanvasItem.xml
msgid ""
@@ -15210,6 +15247,13 @@ msgid ""
"create an AntialiasedRegularPolygon2D node. That node relies on a texture "
"with custom mipmaps to perform antialiasing."
msgstr ""
+"绘制未填充的彩色圆形。另请参阅 [method draw_arc]、[method draw_polyline]、"
+"[method draw_polygon]。\n"
+"[b]注意:[/b]由于实现的原因,内置的抗锯齿无法在透明多边形上得到正确的效果,并"
+"且可能无法在某些平台上正常工作。作为替代方案,请安装[url=https://github.com/"
+"godot-extended-libraries/godot-antialiased-line2d]抗锯齿 Line2D[/url] 插件并"
+"创建 AntialiasedRegularPolygon2D 节点。该节点的抗锯齿是使用带有自定义 mipmap "
+"的纹理进行的。"
#: doc/classes/CanvasItem.xml
msgid ""
@@ -15223,6 +15267,13 @@ msgid ""
"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps "
"to perform antialiasing."
msgstr ""
+"绘制任意数量顶点的彩色多边形,凹凸均可。与 [method draw_polygon] 不同,整个多"
+"边形只能指定一种颜色。\n"
+"[b]注意:[/b]由于实现的原因,内置的抗锯齿无法在透明多边形上得到正确的效果,并"
+"且可能无法在某些平台上正常工作。作为替代方案,请安装[url=https://github.com/"
+"godot-extended-libraries/godot-antialiased-line2d]抗锯齿 Line2D[/url] 插件并"
+"创建 AntialiasedPolygon2D 节点。该节点的抗锯齿是使用带有自定义 mipmap 的纹理"
+"进行的。"
#: doc/classes/CanvasItem.xml
msgid ""
@@ -15239,6 +15290,15 @@ msgid ""
"perform antialiasing. 2D batching is also still supported with those "
"antialiased lines."
msgstr ""
+"在两个 2D 点之间绘制给定颜色和宽度的线段。可以打开抗锯齿。另请参阅 [method "
+"draw_multiline] 和 [method draw_polyline]。\n"
+"[b]注意:[/b]如果 [code]antialiased[/code] 为 [code]true[/code],那么线段的绘"
+"制就不会被分批加速。\n"
+"[b]注意:[/b]由于实现的原因,内置的抗锯齿无法在透明多边形上得到正确的效果,并"
+"且可能无法在某些平台上正常工作。作为替代方案,请安装[url=https://github.com/"
+"godot-extended-libraries/godot-antialiased-line2d]抗锯齿 Line2D[/url] 插件并"
+"创建 AntialiasedLine2D 节点。该节点的抗锯齿是使用带有自定义 mipmap 的纹理进行"
+"的。这些抗锯齿线段仍然支持 2D 分批。"
#: doc/classes/CanvasItem.xml
msgid ""
@@ -15248,7 +15308,6 @@ msgstr ""
"使用所提供的纹理以 2D 方式绘制一个 [Mesh]。相关文档请参阅 [MeshInstance2D]。"
#: doc/classes/CanvasItem.xml
-#, fuzzy
msgid ""
"Draws multiple disconnected lines with a uniform [code]color[/code]. When "
"drawing large amounts of lines, this is faster than using individual [method "
@@ -15265,11 +15324,13 @@ msgstr ""
"使用单一颜色 [code]color[/code] 绘制多条不相连的直线。绘制大量直线时,比单独"
"调用 [method draw_line] 要快。要绘制相连的直线,请换用 [method "
"draw_polyline]。\n"
-"[b]注意:[/b]目前未实现 [code]width[/code] 和 [code]antialiased[/code],没有"
-"效果。"
+"[b]注意:[/b]目前尚未实现 [code]width[/code] 和 [code]antialiased[/code],不"
+"会产生任何效果。作为替代方案,请安装[url=https://github.com/godot-extended-"
+"libraries/godot-antialiased-line2d]抗锯齿 Line2D[/url] 插件并创建 "
+"AntialiasedLine2D 节点。该节点的抗锯齿是使用带有自定义 mipmap 的纹理进行的。"
+"这些抗锯齿线段仍然支持 2D 分批。"
#: doc/classes/CanvasItem.xml
-#, fuzzy
msgid ""
"Draws multiple disconnected lines with a uniform [code]width[/code] and "
"segment-by-segment coloring. Colors assigned to line segments match by index "
@@ -15289,8 +15350,11 @@ msgstr ""
"线段的颜色使用 [code]points[/code] 和 [code]colors[/code] 的索引进行匹配。绘"
"制大量直线时,比单独调用 [method draw_line] 要快。要绘制相连的直线,请换用 "
"[method draw_polyline_colors]。\n"
-"[b]注意:[/b]目前未实现 [code]width[/code] 和 [code]antialiased[/code],没有"
-"效果。"
+"[b]注意:[/b]目前尚未实现 [code]width[/code] 和 [code]antialiased[/code],不"
+"会产生任何效果。作为替代方案,请安装[url=https://github.com/godot-extended-"
+"libraries/godot-antialiased-line2d]抗锯齿 Line2D[/url] 插件并创建 "
+"AntialiasedLine2D 节点。该节点的抗锯齿是使用带有自定义 mipmap 的纹理进行的。"
+"这些抗锯齿线段仍然支持 2D 分批。"
#: doc/classes/CanvasItem.xml
msgid ""
@@ -15313,9 +15377,16 @@ msgid ""
"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps "
"to perform antialiasing."
msgstr ""
+"绘制任意数量顶点的彩色多边形,凹凸均可。与 [method draw_colored_polygon] 不"
+"同,可以单独修改各个顶点的颜色。另请参阅 [method draw_polyline] 和 [method "
+"draw_polyline_colors]。\n"
+"[b]注意:[/b]由于实现的原因,内置的抗锯齿无法在透明多边形上得到正确的效果,并"
+"且可能无法在某些平台上正常工作。作为替代方案,请安装[url=https://github.com/"
+"godot-extended-libraries/godot-antialiased-line2d]抗锯齿 Line2D[/url] 插件并"
+"创建 AntialiasedPolygon2D 节点。该节点的抗锯齿是使用带有自定义 mipmap 的纹理"
+"进行的。"
#: doc/classes/CanvasItem.xml
-#, fuzzy
msgid ""
"Draws interconnected line segments with a uniform [code]color[/code] and "
"[code]width[/code] and optional antialiasing. When drawing large amounts of "
@@ -15332,10 +15403,14 @@ msgstr ""
"使用单一颜色 [code]color[/code] 和宽度 [code]width[/code] 绘制多条相连的线"
"段,还可以选择抗锯齿。绘制大量直线时,比单独调用 [method draw_line] 要快。要"
"绘制不相连的直线,请换用 [method draw_multiline]。另请参阅 [method "
-"draw_polygon]。"
+"draw_polygon]。\n"
+"[b]注意:[/b]由于实现的原因,内置的抗锯齿无法在透明多边形上得到正确的效果,并"
+"且可能无法在某些平台上正常工作。作为替代方案,请安装[url=https://github.com/"
+"godot-extended-libraries/godot-antialiased-line2d]抗锯齿 Line2D[/url] 插件并"
+"创建 AntialiasedPolygon2D 节点。该节点的抗锯齿是使用带有自定义 mipmap 的纹理"
+"进行的。"
#: doc/classes/CanvasItem.xml
-#, fuzzy
msgid ""
"Draws interconnected line segments with a uniform [code]width[/code] and "
"segment-by-segment coloring, and optional antialiasing. Colors assigned to "
@@ -15353,7 +15428,12 @@ msgstr ""
"使用单一宽度 [code]width[/code] 绘制多条相连的直线,不同线段颜色可以不同。线"
"段的颜色使用 [code]points[/code] 和 [code]colors[/code] 的索引进行匹配。绘制"
"大量直线时,比单独调用 [method draw_line] 要快。要绘制不相连的直线,请换用 "
-"[method draw_multiline_colors]。另请参阅 [method draw_polygon]。"
+"[method draw_multiline_colors]。另请参阅 [method draw_polygon]。\n"
+"[b]注意:[/b]由于实现的原因,内置的抗锯齿无法在透明多边形上得到正确的效果,并"
+"且可能无法在某些平台上正常工作。作为替代方案,请安装[url=https://github.com/"
+"godot-extended-libraries/godot-antialiased-line2d]抗锯齿 Line2D[/url] 插件并"
+"创建 AntialiasedPolygon2D 节点。该节点的抗锯齿是使用带有自定义 mipmap 的纹理"
+"进行的。"
#: doc/classes/CanvasItem.xml
msgid ""
@@ -15369,7 +15449,6 @@ msgstr ""
"draw_polygon]、[method draw_rect]。"
#: doc/classes/CanvasItem.xml
-#, fuzzy
msgid ""
"Draws a rectangle. If [code]filled[/code] is [code]true[/code], the "
"rectangle will be filled with the [code]color[/code] specified. If "
@@ -15391,7 +15470,12 @@ msgstr ""
"[code]color[/code]和[code]width[/code]指定的笔画形式绘制。如果"
"[code]antialiased[/code]是[code]true[/code],线条抗锯齿。\n"
"[b]注意:[/b][code]width[/code]和[code]antialiased[/code]只有在[code]filled[/"
-"code]是[code]false[/code] 时才有效。"
+"code]是[code]false[/code] 时才有效。\n"
+"[b]注意:[/b]由于实现的原因,内置的抗锯齿无法在透明多边形上得到正确的效果,并"
+"且可能无法在某些平台上正常工作。作为替代方案,请安装[url=https://github.com/"
+"godot-extended-libraries/godot-antialiased-line2d]抗锯齿 Line2D[/url] 插件并"
+"创建 AntialiasedPolygon2D 节点。该节点的抗锯齿是使用带有自定义 mipmap 的纹理"
+"进行的。"
#: doc/classes/CanvasItem.xml
msgid ""
@@ -17059,9 +17143,12 @@ msgid "If [code]true[/code], no collisions will be detected."
msgstr "如果[code]true[/code],将不会检测到碰撞。"
#: doc/classes/CollisionPolygon2D.xml
+#, fuzzy
msgid ""
"If [code]true[/code], only edges that face up, relative to "
-"[CollisionPolygon2D]'s rotation, will collide with other objects."
+"[CollisionPolygon2D]'s rotation, will collide with other objects.\n"
+"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a "
+"child of an [Area2D] node."
msgstr ""
"如果[code]true[/code],相对于[CollisionPolygon2D]的旋转而言,只有面朝上的边缘"
"才会与其他对象发生碰撞。"
@@ -17171,9 +17258,12 @@ msgstr ""
"改变。"
#: doc/classes/CollisionShape2D.xml
+#, fuzzy
msgid ""
"Sets whether this collision shape should only detect collision on one side "
-"(top or bottom)."
+"(top or bottom).\n"
+"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a "
+"child of an [Area2D] node."
msgstr "设置此碰撞形状是否仅应检测到一侧(顶部或底部)的碰撞。"
#: doc/classes/CollisionShape2D.xml
@@ -19735,6 +19825,9 @@ msgid ""
"[method Viewport.gui_is_drag_successful].\n"
"Best used with [constant Node.NOTIFICATION_DRAG_END]."
msgstr ""
+"如果拖放操作成功则返回 [code]true[/code],是 [method Viewport."
+"gui_is_drag_successful] 的替代方案。\n"
+"建议与 [constant Node.NOTIFICATION_DRAG_END] 配合使用。"
#: doc/classes/Control.xml
msgid ""
@@ -20636,7 +20729,7 @@ msgid ""
"an item, like a node in the Scene dock."
msgstr ""
"当用户悬停在节点上时,显示系统的拖动鼠标光标,通常是一个闭合的拳头或十字符"
-"号。它告诉用户他们当前正在拖动一个项目,就像场景码头中的节点一样。"
+"号。它告诉用户他们当前正在拖动一个项目,例如场景面板中的节点。"
#: doc/classes/Control.xml
msgid ""
@@ -24385,7 +24478,6 @@ msgstr ""
"返回[enum Error]代码常量之一(成功时返回 [code]OK[/code])。"
#: doc/classes/Directory.xml
-#, fuzzy
msgid ""
"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 "
@@ -24394,9 +24486,10 @@ msgid ""
"move_to_trash] instead.\n"
"Returns one of the [enum Error] code constants ([code]OK[/code] on success)."
msgstr ""
-"删除目标文件或空目录。参数可以是相对于当前目录的,也可以是绝对路径。如果目标"
-"目录不是空的,操作将失败。\n"
-"返回[enum Error]代码常量之一(成功时返回 [code]OK[/code])。"
+"永久删除目标文件或空目录。参数可以是相对于当前目录的,也可以是绝对路径。如果"
+"目标目录不是空的,操作将失败。\n"
+"如果你不想永久删除该文件/目录,请使用 [method OS.move_to_trash] 代替。\n"
+"返回 [enum Error] 代码常量之一(成功时返回 [code]OK[/code])。"
#: doc/classes/Directory.xml
msgid ""
@@ -25330,7 +25423,7 @@ msgstr "重新导入资源时触发。"
#: doc/classes/EditorFileSystem.xml
msgid ""
"Emitted if at least one resource is reloaded when the filesystem is scanned."
-msgstr "如果在扫描文件系统的时候发现至少一个资源被重载那么触发信号。"
+msgstr "如果在扫描文件系统的时候,至少有一个资源被重新加载,则触发该信号。"
#: doc/classes/EditorFileSystem.xml
msgid "Emitted if the source of any imported file changed."
@@ -28036,6 +28129,11 @@ msgstr ""
"这个 [Control] 节点在编辑器的检查器面板中使用,允许编辑数值。可以与 "
"[EditorInspectorPlugin] 一起使用,以重新创建相同的行为。"
+#: doc/classes/EditorSpinSlider.xml
+#, fuzzy
+msgid "If [code]true[/code], the slider is hidden."
+msgstr "如果[code]true[/code],隐藏折叠箭头。"
+
#: doc/classes/EditorVCSInterface.xml
msgid ""
"Version Control System (VCS) interface, which reads and writes to the local "
@@ -28575,7 +28673,6 @@ msgid ""
msgstr "如果游戏在游戏循环的固定过程和物理阶段内,返回 [code]true[/code]。"
#: doc/classes/Engine.xml
-#, fuzzy
msgid ""
"If [code]true[/code], the script is currently running inside the editor. "
"This is useful for [code]tool[/code] scripts to conditionally draw editor "
@@ -28605,8 +28702,8 @@ msgstr ""
"else:\n"
" simulate_physics()\n"
"[/codeblock]\n"
-"更多信息请参阅文档[url=$DOCS_URL/tutorials/misc/running_code_in_the_editor."
-"html]《在编辑器中运行代码》[/url]。\n"
+"更多信息请参阅文档[url=$DOCS_URL/tutorials/plugins/"
+"running_code_in_the_editor.html]《在编辑器中运行代码》[/url]。\n"
"[b]注意:[/b]要检测脚本是否从编辑器[i]构建[/i]中运行(例如按 [code]F5[/code] "
"时),请使用带有 [code]\"editor\"[/code] 参数的 [method OS.has_feature] 代"
"替。[code]OS.has_feature(\"editor\")[/code] 当代码在编辑器中运行和从编辑器中"
@@ -29445,23 +29542,24 @@ msgstr ""
"屏模糊效果,使其与原始图像的亮度相匹配。"
#: doc/classes/Environment.xml
-#, fuzzy
msgid ""
"Linear tonemapper operator. Reads the linear data and passes it on "
"unmodified. This can cause bright lighting to look blown out, with "
"noticeable clipping in the output colors."
-msgstr "线性音频映射器操作者。读取线性数据并不加修改地传递。"
+msgstr ""
+"线性色调映射运算子。读取线性数据并将其原样传递。较亮的光照会导致过曝、输出的"
+"颜色中会有可见的截断。"
#: doc/classes/Environment.xml
-#, fuzzy
msgid ""
"Reinhardt tonemapper operator. 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 ""
-"Reinhardt tonemapper运算器。通过这个公式对渲染像素的颜色进行变化。"
-"[code]color = color / (1 + color)[/code]."
+"Reinhardt 色调映射运算子。对渲染后的像素颜色进行调整,使用的是这个公式:"
+"[code]color = color / (1 + color)[/code]。可以避免对高光的截断,但最终的图像"
+"可能看上去有些寡淡。"
#: doc/classes/Environment.xml
msgid ""
@@ -29469,6 +29567,8 @@ msgid ""
"resulting image that usually looks more vivid than [constant "
"TONE_MAPPER_REINHARDT]."
msgstr ""
+"电影级色调映射器运算子。可以避免对高光处的截断,最终图像通常比 [constant "
+"TONE_MAPPER_REINHARDT] 更鲜艳。"
#: doc/classes/Environment.xml
msgid ""
@@ -29480,6 +29580,12 @@ msgid ""
"[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 ""
+"使用旧有的 Godot 版本的学院色彩编码系统(Academy Color Encoding System)色调"
+"映射器。与 [constant TONE_MAPPER_ACES_FITTED] 不同,这个版本的 ACES 对较亮的"
+"光照的处理从物理角度看并不精确。ACES 的输出在对比度方面通常比 [constant "
+"TONE_MAPPER_REINHARDT] 和 [constant TONE_MAPPER_FILMIC] 更高。\n"
+"[b]注意:[/b]Godot 4.0 中会移除这个色调映射运算子,使用更精确的 [constant "
+"TONE_MAPPER_ACES_FITTED]。"
#: doc/classes/Environment.xml
msgid ""
@@ -29489,6 +29595,10 @@ msgid ""
"has a more contrasted output compared to [constant TONE_MAPPER_REINHARDT] "
"and [constant TONE_MAPPER_FILMIC]."
msgstr ""
+"使用学院色彩编码系统(Academy Color Encoding System)色调映射器。与其他选项相"
+"比,ACES 的消耗略高,但对于较亮的光照的处理更真实,越亮饱和度越低。ACES 的输"
+"出在对比度方面通常比 [constant TONE_MAPPER_REINHARDT] 和 [constant "
+"TONE_MAPPER_FILMIC] 更高。"
#: doc/classes/Environment.xml
msgid "Low depth-of-field blur quality (fastest)."
@@ -32533,9 +32643,22 @@ msgid "Gradient's colors returned as a [PoolColorArray]."
msgstr "渐变的颜色,以 [PoolColorArray] 返回。"
#: 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 "渐变的偏移量,以 [PoolRealArray] 返回。"
+#: 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 "渐变填充纹理。"
@@ -35426,7 +35549,6 @@ msgid "Importing images"
msgstr "导入图像"
#: doc/classes/Image.xml
-#, fuzzy
msgid ""
"Alpha-blends [code]src_rect[/code] from [code]src[/code] image to this image "
"at coordinates [code]dest[/code], clipped accordingly to both image bounds. "
@@ -35434,13 +35556,11 @@ msgid ""
"[code]src_rect[/code] with not positive size is treated as empty."
msgstr ""
"将源图像 [code]src[/code] 上的矩形区域 [code]src_rect[/code] 复制到本图像从坐"
-"标 [code]dst[/code] 起的区域。如果遮罩图 [code]mask[/code] 上某个像素的 "
-"Alpha 值非 0,就会把 [code]src[/code] 上对应的像素复制到 [code]dst[/code] "
-"上。[code]src[/code] 图像和 [code]mask[/code] 图像的大小(宽度和高度)[b]必须"
-"[/b]相同,格式可以不同。"
+"标 [code]dst[/code] 起的区域,会根据两者的图像区域进行裁剪。这张图像和 "
+"[code]src[/code] 图像的格式[b]必须[/b]一致。[code]src_rect[/code] 的大小如果"
+"非正,则会作为空矩形处理。"
#: doc/classes/Image.xml
-#, fuzzy
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], clipped "
@@ -35453,14 +35573,15 @@ msgid ""
"[code]src_rect[/code] with not positive size is treated as empty."
msgstr ""
"将源图像 [code]src[/code] 上的矩形区域 [code]src_rect[/code] 与本图像从坐标 "
-"[code]dst[/code] 起的区域根据遮罩图像 [code]mask[/code] 进行 Alpha 混合。"
-"[code]src[/code] 和 [code]mask[/code] 都需要有 Alpha 通道。如果某个遮罩像素"
-"的 Alpha 值非 0,在 [code]dst[/code] 和 [code]src[/code] 上对应的像素就会进行"
-"混合。[code]src[/code] 图像和 [code]mask[/code] 图像的大小(宽度和高度)[b]必"
-"须[/b]相同,格式可以不同。"
+"[code]dst[/code] 起的区域根据遮罩图像 [code]mask[/code] 进行 Alpha 混合,会根"
+"据两者的图像区域进行裁剪。[code]src[/code] 和 [code]mask[/code] 都需要有 "
+"Alpha 通道。如果某个遮罩像素的 Alpha 值非 0,在 [code]dst[/code] 和 "
+"[code]src[/code] 上对应的像素就会进行混合。这张图像与 [code]src[/code] 图像的"
+"格式[b]必须[/b]一致。[code]src[/code] 图像和 [code]mask[/code] 图像的大小(宽"
+"度和高度)[b]必须[/b]相同,格式可以不同。[code]src_rect[/code] 的大小如果非"
+"正,则会作为空矩形处理。"
#: doc/classes/Image.xml
-#, fuzzy
msgid ""
"Copies [code]src_rect[/code] from [code]src[/code] image to this image at "
"coordinates [code]dst[/code], clipped accordingly to both image bounds. This "
@@ -35468,13 +35589,11 @@ msgid ""
"[code]src_rect[/code] with not positive size is treated as empty."
msgstr ""
"将源图像 [code]src[/code] 上的矩形区域 [code]src_rect[/code] 复制到本图像从坐"
-"标 [code]dst[/code] 起的区域。如果遮罩图 [code]mask[/code] 上某个像素的 "
-"Alpha 值非 0,就会把 [code]src[/code] 上对应的像素复制到 [code]dst[/code] "
-"上。[code]src[/code] 图像和 [code]mask[/code] 图像的大小(宽度和高度)[b]必须"
-"[/b]相同,格式可以不同。"
+"标 [code]dst[/code] 起的区域,会根据两者的图像区域进行裁剪。这张图像和 "
+"[code]src[/code] 图像的格式[b]必须[/b]一致。[code]src_rect[/code] 的大小如果"
+"非正,则会作为空矩形处理。"
#: doc/classes/Image.xml
-#, fuzzy
msgid ""
"Blits [code]src_rect[/code] area from [code]src[/code] image to this image "
"at the coordinates given by [code]dst[/code], clipped accordingly to both "
@@ -35486,10 +35605,12 @@ msgid ""
"positive size is treated as empty."
msgstr ""
"将源图像 [code]src[/code] 上的矩形区域 [code]src_rect[/code] 复制到本图像从坐"
-"标 [code]dst[/code] 起的区域。如果遮罩图 [code]mask[/code] 上某个像素的 "
-"Alpha 值非 0,就会把 [code]src[/code] 上对应的像素复制到 [code]dst[/code] "
-"上。[code]src[/code] 图像和 [code]mask[/code] 图像的大小(宽度和高度)[b]必须"
-"[/b]相同,格式可以不同。"
+"标 [code]dst[/code] 起的区域,会根据两者的图像区域进行裁剪。如果遮罩图 "
+"[code]mask[/code] 上某个像素的 Alpha 值非 0,就会把 [code]src[/code] 上对应的"
+"像素复制到 [code]dst[/code] 上。这张图像和 [code]src[/code] 图像的格式[b]必须"
+"[/b]一致。[code]src[/code] 图像和 [code]mask[/code] 图像的大小(宽度和高度)"
+"[b]必须[/b]相同,格式可以不同。[code]src_rect[/code] 的大小如果非正,则会作为"
+"空矩形处理。"
#: doc/classes/Image.xml
msgid ""
@@ -37186,7 +37307,6 @@ msgid "Stops the vibration of the joypad."
msgstr "停止游戏手柄的振动。"
#: doc/classes/Input.xml
-#, fuzzy
msgid ""
"Vibrate Android and iOS devices.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
@@ -37196,7 +37316,8 @@ msgid ""
msgstr ""
"振动 Android 和 iOS 设备。\n"
"[b]注意:[/b]Android 需要导出设置中的 [code]VIBRATE[/code] 权限。 iOS 不支持"
-"持续时间。"
+"持续时间。\n"
+"[b]注意:[/b]在 iOS 平台上,iOS 13 及之后的版本才支持指定持续时间。"
#: doc/classes/Input.xml
msgid ""
@@ -38162,6 +38283,10 @@ msgid ""
"your project's input binds from the editor, read the [code]input/*[/code] "
"settings from [ProjectSettings]."
msgstr ""
+"返回与给定动作关联的 [InputEvent] 的数组。\n"
+"[b]注意:[/b]在编辑器中使用时(例如在工具脚本或 [EditorPlugin] 中使用),这个"
+"方法返回的是编辑器动作对应的事件。如果你想要在编辑器中访问你的项目的输入绑"
+"定,请读取 [ProjectSettings] 的 [code]input/*[/code] 设置。"
#: doc/classes/InputMap.xml
msgid "Returns an array of all actions in the [InputMap]."
@@ -38349,7 +38474,7 @@ msgstr "目标的[NodePath]。"
#: doc/classes/IntervalTweener.xml
msgid "Creates an idle interval in a [SceneTreeTween] animation."
-msgstr ""
+msgstr "在 [SceneTreeTween] 动画中创建空闲间隔。"
#: doc/classes/IntervalTweener.xml
msgid ""
@@ -38359,6 +38484,10 @@ msgid ""
"to create [IntervalTweener]. Any [IntervalTweener] created manually will not "
"function correctly."
msgstr ""
+"[IntervalTweener] 可用于在补间序列中制作延迟。更多用法信息请参阅 [method "
+"SceneTreeTween.tween_interval]。\n"
+"[b]注意:[/b]创建 [IntervalTweener] 的唯一正确方法是 [method SceneTreeTween."
+"tween_interval]。任何手动创建的 [IntervalTweener] 都无法正常工作。"
#: doc/classes/IP.xml
msgid "Internet protocol (IP) support functions such as DNS resolution."
@@ -40886,7 +41015,6 @@ msgid "A 2D line."
msgstr "一条 2D 线。"
#: doc/classes/Line2D.xml
-#, fuzzy
msgid ""
"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"
@@ -40896,9 +41024,10 @@ msgid ""
"[member ProjectSettings.rendering/limits/buffers/"
"canvas_polygon_index_buffer_size_kb]."
msgstr ""
-"在 2D 空间中通过几个点的线。\n"
-"[b]注意:[/b]默认情况下,Godot一次最多只能绘制 4,096 个多边形点。要增加这个限"
-"制,请打开项目设置,增加 [member ProjectSettings.rendering/limits/buffers/"
+"在 2D 空间中通过几个点的线。支持宽度和颜色沿着线段长度变化,支持纹理及若干端"
+"点/交点类型。\n"
+"[b]注意:[/b]默认情况下,Godot 一次最多只能绘制 4,096 个多边形点。要增加这个"
+"限制,请打开项目设置,增加 [member ProjectSettings.rendering/limits/buffers/"
"canvas_polygon_buffer_size_kb] 和 [member ProjectSettings.rendering/limits/"
"buffers/canvas_polygon_index_buffer_size_kb]。"
@@ -40956,6 +41085,15 @@ msgid ""
"perform antialiasing. 2D batching is also still supported with those "
"antialiased lines."
msgstr ""
+"为 [code]true[/code] 时,会尝试对线段的边缘进行抗锯齿处理,方法是在边缘绘制一"
+"薄层 OpenGL 平滑线段。\n"
+"[b]注意:[/b]如果 [member antialiased] 为 [code]true[/code],那么 Line2D 就不"
+"会被分批加速。\n"
+"[b]注意:[/b]由于实现的原因,内置的抗锯齿无法在透明多边形上得到正确的效果,并"
+"且可能无法在某些平台上正常工作。作为替代方案,请安装[url=https://github.com/"
+"godot-extended-libraries/godot-antialiased-line2d]抗锯齿 Line2D[/url] 插件并"
+"创建 AntialiasedLine2D 节点。该节点的抗锯齿是使用带有自定义 mipmap 的纹理进行"
+"的。这些抗锯齿线段仍然支持 2D 分批。"
#: doc/classes/Line2D.xml
msgid ""
@@ -43174,7 +43312,7 @@ msgstr "设置用于绘制的网格,该网格必须使用2D顶点。"
#: doc/classes/MethodTweener.xml
msgid ""
"Interpolates an abstract value and supplies it to a method called over time."
-msgstr ""
+msgstr "对抽象值进行插值,并将其提供给一个持续调用的方法。"
#: doc/classes/MethodTweener.xml
msgid ""
@@ -43186,25 +43324,34 @@ msgid ""
"create [MethodTweener]. Any [MethodTweener] created manually will not "
"function correctly."
msgstr ""
+"[MethodTweener] 类似于 [CallbackTweener] 和 [PropertyTweener] 的组合,会将插"
+"值后的值作为调用方法时的参数。更多用法信息请参阅 [method SceneTreeTween."
+"tween_method]。\n"
+"[b]注意:[/b]创建 [MethodTweener] 的唯一正确方法是 [method SceneTreeTween."
+"tween_method]。任何手动创建的 [MethodTweener] 都无法正常工作。"
#: doc/classes/MethodTweener.xml
msgid ""
"Sets the time in seconds after which the [MethodTweener] will start "
"interpolating. By default there's no delay."
-msgstr ""
+msgstr "设置该 [MethodTweener] 开始插值的时间,单位为秒。默认无延迟。"
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
msgid ""
"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
"default easing is used from the [SceneTreeTween] that contains this Tweener."
msgstr ""
+"设置所使用的缓动类型 [enum Tween.EaseType]。如果没有设置,则使用包含这个 "
+"Tweener 的 [SceneTreeTween] 的默认缓动类型。"
-#: doc/classes/MethodTweener.xml
+#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
msgid ""
"Sets the type of used transition from [enum Tween.TransitionType]. If not "
"set, the default transition is used from the [SceneTreeTween] that contains "
"this Tweener."
msgstr ""
+"设置所使用的过渡类型 [enum Tween.TransitionType]。如果没有设置,则使用包含这"
+"个 Tweener 的 [SceneTreeTween] 的默认过渡类型。"
#: modules/mobile_vr/doc_classes/MobileVRInterface.xml
msgid "Generic mobile VR implementation."
@@ -43757,8 +43904,8 @@ msgid ""
"method or property for all RPC calls, making it unavailable. Default for all "
"methods."
msgstr ""
-"与[method Node.rpc_config]或[method Node.rset_config]一起使用,可以在所有RPC"
-"调用中禁用某个方法或属性,使其不可用。所有方法的默认值。"
+"与 [method Node.rpc_config] 或 [method Node.rset_config] 一起使用,可以在所"
+"有 RPC 调用中禁用某个方法或属性,使其不可用。所有方法的默认值。"
#: doc/classes/MultiplayerAPI.xml
msgid ""
@@ -43768,9 +43915,10 @@ msgid ""
"changes are accepted from all remote peers, no matter if they are node's "
"master or puppets."
msgstr ""
-"与[method Node.rpc_config]或[method Node.rset_config]一起使用,用于设置只在远"
-"程端调用某个方法或改变某个属性,而不是在本地。类似于[code]remote[/code]关键"
-"字。所有远程对等体的调用和属性改变都被接受,不管它们是节点的主控还是傀儡。"
+"与 [method Node.rpc_config] 或 [method Node.rset_config] 一起使用,用于设置只"
+"在远程端调用某个方法或改变某个属性,而不是在本地。类似于 [code]remote[/code] "
+"关键字。所有远程对等体的调用和属性改变都被接受,不管它们是节点的主控还是傀"
+"儡。"
#: doc/classes/MultiplayerAPI.xml
msgid ""
@@ -43782,7 +43930,7 @@ msgid ""
msgstr ""
"与 [method Node.rpc_config] 或 [method Node.rset_config] 一起用于设置要调用的"
"方法或仅在此节点的网络主机上更改的属性。类似于 [code]master[/code] 关键字。仅"
-"接受节点网络傀儡的方法调用或属性更改,请参阅[method Node."
+"接受节点网络傀儡的方法调用或属性更改,请参阅 [method Node."
"set_network_master]。"
#: doc/classes/MultiplayerAPI.xml
@@ -43795,7 +43943,7 @@ msgid ""
msgstr ""
"与 [method Node.rpc_config] 或 [method Node.rset_config] 一起使用,以设置仅在"
"此节点的傀儡上调用的方法或改变的属性。类似于 [code]puppet[/code] 关键字。只接"
-"受来自节点的网络主站的调用或属性更改,见[method Node.set_network_master]。"
+"受来自节点的网络主站的调用或属性更改,见 [method Node.set_network_master]。"
#: doc/classes/MultiplayerAPI.xml
msgid ""
@@ -44097,6 +44245,15 @@ msgid "Creates the agent."
msgstr "创建代理。"
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+#, fuzzy
+msgid ""
+"Returns the navigation map [RID] the requested [code]agent[/code] is "
+"currently assigned to."
+msgstr ""
+"返回键为 [code]name[/code] 的 [Animation] 动画,未找到时为 [code]null[/"
+"code]。"
+
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Returns [code]true[/code] if the map got changed the previous frame."
msgstr "如果地图在上一帧发生了改变,则返回 [code]true[/code]。"
@@ -44167,6 +44324,12 @@ msgid "Create a new map."
msgstr "创建一张新地图。"
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation agents [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Returns the map cell size."
msgstr "返回地图的单元格大小。"
@@ -44193,6 +44356,12 @@ msgid "Returns the navigation path to reach the destination from the origin."
msgstr "返回从原点到终点的导航路径。"
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns all navigation regions [RID]s that are currently assigned to the "
+"requested navigation [code]map[/code]."
+msgstr ""
+
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Returns [code]true[/code] if the map is active."
msgstr "如果地图处于活动状态,则返回 [code]true[/code]。"
@@ -44214,6 +44383,12 @@ msgid "Creates a new region."
msgstr "创建一个新的地区。"
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
+msgid ""
+"Returns the navigation map [RID] the requested [code]region[/code] is "
+"currently assigned to."
+msgstr ""
+
+#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Sets the map for the region."
msgstr "设置该地区的地图。"
@@ -44764,18 +44939,60 @@ msgid "Represents the size of the [enum SourceGeometryMode] enum."
msgstr "表示 [enum SourceGeometryMode] 枚举的大小。"
#: doc/classes/NavigationMeshGenerator.xml
-msgid "This class is responsible for creating and clearing navigation meshes."
+#, fuzzy
+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."
-msgstr "烘焙导航网格。可以用于导航系统中的寻路。"
+"This class is responsible for creating and clearing 3D navigation meshes "
+"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The "
+"[NavigationMeshGenerator] has very limited to no use for 2D as the "
+"navigation mesh baking process expects 3D node types and 3D source geometry "
+"to parse.\n"
+"The entire navigation mesh baking is best done in a separate thread as the "
+"voxelization, collision tests and mesh optimization steps involved are very "
+"performance and time hungry operations.\n"
+"Navigation mesh baking happens in multiple steps and the result depends on "
+"3D source geometry and properties of the [NavigationMesh] resource. In the "
+"first step, starting from a root node and depending on [NavigationMesh] "
+"properties all valid 3D source geometry nodes are collected from the "
+"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D "
+"geometry data and a combined 3D mesh is build. Due to the many different "
+"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or "
+"various [CollisionObject]s, some operations to collect geometry data can "
+"trigger [VisualServer] and [PhysicsServer] synchronizations. Server "
+"synchronization can have a negative effect on baking time or framerate as it "
+"often involves [Mutex] locking for thread security. Many parsable objects "
+"and the continuous synchronization with other threaded Servers can increase "
+"the baking time significantly. On the other hand only a few but very large "
+"and complex objects will take some time to prepare for the Servers which can "
+"noticeably stall the next frame render. As a general rule the total amount "
+"of parsable objects and their individual size and complexity should be "
+"balanced to avoid framerate issues or very long baking times. The combined "
+"mesh is then passed to the Recast Navigation Object to test the source "
+"geometry for walkable terrain suitable to [NavigationMesh] agent properties "
+"by creating a voxel world around the meshes bounding area.\n"
+"The finalized navigation mesh is then returned and stored inside the "
+"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes."
+msgstr ""
+
+#: doc/classes/NavigationMeshGenerator.xml
+msgid ""
+"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child "
+"nodes under the provided [code]root_node[/code] or a specific group of nodes "
+"for potential source geometry. The parse behavior can be controlled with the "
+"[member NavigationMesh.geometry/parsed_geometry_type] and [member "
+"NavigationMesh.geometry/source_geometry_mode] properties on the "
+"[NavigationMesh] resource."
+msgstr ""
#: doc/classes/NavigationMeshGenerator.xml
-msgid "Clears the navigation mesh."
-msgstr "清除导航网格。"
+#, fuzzy
+msgid ""
+"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
+"resource."
+msgstr "移除名为 [code]name[/code] 的主题图标覆盖项。"
#: doc/classes/NavigationMeshInstance.xml
msgid "An instance of a [NavigationMesh]."
@@ -44791,14 +45008,23 @@ msgstr ""
"[Navigation] 节点什么可以导航、什么不可以。应该是 [Navigation] 节点的子节点。"
#: doc/classes/NavigationMeshInstance.xml
+#, fuzzy
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."
-msgstr ""
+"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 ""
+"烘焙该 [NavigationMesh]。如果 [code]on_thread[/code] 为 [code]true[/code](默"
+"认),就会在单独的线程中进行烘焙。单开线程烘焙很有用,因为导航烘焙操作的消耗"
+"并不低。烘焙完成后会自动设置新的 [NavigationMesh]。请注意,如果几何体是从网格"
+"解析而来的,那么单开线程烘焙可能会非常慢,因为对网格的异步访问涉及到大量同步"
+"操作。"
#: doc/classes/NavigationMeshInstance.xml
msgid ""
@@ -44807,6 +45033,9 @@ msgid ""
"identify the [NavigationMeshInstance] closest to a point on the merged "
"navigation map."
msgstr ""
+"返回这个区域在 [NavigationServer] 上的 [RID]。可以和 [method "
+"NavigationServer.map_get_closest_point_owner] 组合使用,获取合并后的导航图中"
+"与某个点最接近的 [NavigationMeshInstance]。"
#: doc/classes/NavigationMeshInstance.xml
msgid "Determines if the [NavigationMeshInstance] is enabled or disabled."
@@ -44846,6 +45075,11 @@ msgid ""
msgstr "返回该障碍物的导航系统所使用的 [Navigation] 节点。"
#: doc/classes/NavigationObstacle.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [NavigationServer]."
+msgstr "返回区域的第n个形状的[RID]。"
+
+#: 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."
@@ -44888,6 +45122,11 @@ msgid ""
msgstr "返回该障碍物的导航系统所使用的 [Navigation2D] 节点。"
#: doc/classes/NavigationObstacle2D.xml
+#, fuzzy
+msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]."
+msgstr "返回区域的第n个形状的[RID]。"
+
+#: 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."
@@ -45028,6 +45267,9 @@ msgid ""
"identify the [NavigationPolygonInstance] closest to a point on the merged "
"navigation map."
msgstr ""
+"返回这个区域在 [Navigation2DServer] 上的 [RID]。可以和 [method "
+"Navigation2DServer.map_get_closest_point_owner] 组合使用,获取合并后的导航图"
+"中与某个点最接近的 [NavigationPolygonInstance]。"
#: doc/classes/NavigationServer.xml
msgid "Server interface for low-level 3D navigation access."
@@ -46055,7 +46297,6 @@ msgstr ""
"是“孤儿”)。"
#: doc/classes/Node.xml
-#, fuzzy
msgid ""
"Adds a child node. Nodes can have any number of children, but every child "
"must have a unique name. Child nodes are automatically deleted when the "
@@ -46095,7 +46336,7 @@ msgstr ""
"[/codeblock]\n"
"[b]注意:[/b]如果想要将子节点持久化进 [PackedScene],除了调用 [method "
"add_child] 之外你还必须设置 [member owner]。通常在[url=$DOCS_URL/tutorials/"
-"misc/running_code_in_the_editor.html]工具脚本[/url]和[url=$DOCS_URL/"
+"plugins/running_code_in_the_editor.html]工具脚本[/url]和[url=$DOCS_URL/"
"tutorials/plugins/editor/index.html]编辑器插件[/url]中会用到。如果调用了 "
"[method add_child] 但没有设置 [member owner],那么新建的这个 [Node] 在场景树"
"中不可见,但在 2D/3D 视图中可见。"
@@ -46154,6 +46395,10 @@ msgid ""
"get_tree().create_tween().bind_node(self)\n"
"[/codeblock]"
msgstr ""
+"新建 [SceneTreeTween] 并将其绑定到这个节点。与如下操作等价:\n"
+"[codeblock]\n"
+"get_tree().create_tween().bind_node(self)\n"
+"[/codeblock]"
#: doc/classes/Node.xml
msgid ""
@@ -46497,9 +46742,10 @@ msgstr ""
"如果本地系统是此节点的主系统(用于多人游戏),则返回 [code]true[/code]。"
#: doc/classes/Node.xml
+#, fuzzy
msgid ""
"Returns [code]true[/code] if the physics interpolated flag is set for this "
-"Node (see [method set_physics_interpolated]).\n"
+"Node (see [member physics_interpolation_mode]).\n"
"[b]Note:[/b] Interpolation will only be active is both the flag is set "
"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
"be tested using [method is_physics_interpolated_and_enabled]."
@@ -46510,9 +46756,10 @@ msgstr ""
"启用插值。可以使用 [method is_physics_interpolated_and_enabled] 进行检查。"
#: doc/classes/Node.xml
+#, fuzzy
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."
@@ -46805,7 +47052,7 @@ msgstr ""
"可选择将所有附加参数作为参数发送给 RPC 调用的方法。调用请求将只被具有相同 "
"[NodePath] 的节点接收,包括完全相同的节点名称。行为取决于给定方法的 RPC 配"
"置,见 [method rpc_config]。方法在默认情况下不会暴露给 RPC。参阅 [method "
-"rset] 和[ method rset_config] 的属性。返回一个空的 [Variant]。\n"
+"rset] 和[method rset_config] 的属性。返回一个空的 [Variant]。\n"
"[b]注意:[/b]只有在你从 [SceneTree] 收到 [code]connected_to_server[/code] 信"
"号之后,你才能安全地在客户端使用 RPC。你还需要跟踪连接状态,可以通过 "
"[code]server_disconnected[/code] 等 [SceneTree] 信号或者检查 [code]SceneTree."
@@ -46860,9 +47107,9 @@ msgid ""
"rset_config]. See also [method rpc] for RPCs for methods, most information "
"applies to this method as well."
msgstr ""
-"在其他对等体上远程改变一个属性的值(和本地)。行为取决于给定属性的RPC配置,见"
-"[method rset_config]。关于方法的RPC,也请参阅[method rpc],大多数信息也适用于"
-"这个方法。"
+"在其他对等体上远程改变一个属性的值(和本地)。行为取决于给定属性的RPC配置,"
+"见 [method rset_config]。关于方法的RPC,也请参阅 [method rpc],大多数信息也适"
+"用于这个方法。"
#: doc/classes/Node.xml
msgid ""
@@ -46925,16 +47172,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 ""
-"启用或禁用该节点的物理插值,可以在开关全局物理插值的基础上进行微调。\n"
-"[b]注意:[/b]对 [Camera] 尤其有用,自定义插值有时会带来更好的效果。"
-
-#: 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."
@@ -47018,9 +47255,9 @@ msgid ""
"(usually by a [Control]). Enabled automatically if [method _unhandled_input] "
"is overridden. Any calls to this before [method _ready] will be ignored."
msgstr ""
-"启用未处理的输入处理。这对GUI控件来说是不需要的! 它使节点能够接收所有以前没有"
-"处理的输入(通常是由[Control]处理的)。如果[method _unhandled_input]被重载,"
-"则自动启用。在[method _ready]之前对它的任何调用都将被忽略。"
+"启用未处理的输入处理。这对 GUI 控件来说是不需要的!它使节点能够接收所有以前没"
+"有处理的输入(通常是由 [Control] 处理的)。如果 [method _unhandled_input] 被"
+"覆盖,则自动启用。在 [method _ready] 之前对它的任何调用都将被忽略。"
#: doc/classes/Node.xml
msgid ""
@@ -47088,7 +47325,6 @@ msgstr ""
"code]。"
#: doc/classes/Node.xml
-#, fuzzy
msgid ""
"The node owner. A node can have any other node as owner (as long as it is a "
"valid parent, grandparent, etc. ascending in the tree). When saving a node "
@@ -47109,7 +47345,7 @@ msgstr ""
"之保存。这样就可以创建复杂的 [SceneTree],能够进行实例化与次实例化。\n"
"[b]注意:[/b]如果想要将子节点持久化进 [PackedScene],除了调用 [method "
"add_child] 之外你还必须设置 [member owner]。通常在[url=$DOCS_URL/tutorials/"
-"misc/running_code_in_the_editor.html]工具脚本[/url]和[url=$DOCS_URL/"
+"plugins/running_code_in_the_editor.html]工具脚本[/url]和[url=$DOCS_URL/"
"tutorials/plugins/editor/index.html]编辑器插件[/url]中会用到。如果调用了 "
"[method add_child] 但没有设置 [member owner],那么新建的这个 [Node] 在场景树"
"中不可见,但在 2D/3D 视图中可见。"
@@ -47119,6 +47355,18 @@ msgid "Pause mode. How the node will behave if the [SceneTree] is paused."
msgstr "暂停模式。暂停 [SceneTree] 时该节点的行为。"
#: doc/classes/Node.xml
+#, fuzzy
+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 ""
+"启用或禁用该节点的物理插值,可以在开关全局物理插值的基础上进行微调。\n"
+"[b]注意:[/b]对 [Camera] 尤其有用,自定义插值有时会带来更好的效果。"
+
+#: doc/classes/Node.xml
msgid ""
"The node's priority in the execution order of the enabled processing "
"callbacks (i.e. [constant NOTIFICATION_PROCESS], [constant "
@@ -47138,6 +47386,10 @@ msgid ""
"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 ""
+"将这个节点的名称设置为其 [member owner] 中的唯一名称。这样就可以从该场景中的"
+"任意节点处使用 [code]%名称[/code] 来访问这个节点,无需使用完整路径。\n"
+"如果所有者相同的另一个节点已经将该名称声明为唯一,那么其他节点就无法再将此名"
+"称设置为唯一名称。"
#: doc/classes/Node.xml
msgid ""
@@ -47244,12 +47496,19 @@ msgid ""
"[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 ""
+"当拖拽操作开始时收到的通知。所有节点都会收到这个通知,不仅仅是被拖拽的那"
+"个。\n"
+"可以通过拖拽提供拖拽数据的 [Control] 触发(见 [method Control."
+"get_drag_data]),也可以通过使用 [method Control.force_drag] 触发。\n"
+"请使用 [method Viewport.gui_get_drag_data] 获取拖拽数据。"
#: doc/classes/Node.xml
msgid ""
"Notification received when a drag operation ends.\n"
"Use [method Viewport.gui_is_drag_successful] to check if the drag succeeded."
msgstr ""
+"当拖拽操作结束时收到的通知。\n"
+"请使用 [method Viewport.gui_is_drag_successful] 检查拖放是否成功。"
#: doc/classes/Node.xml
msgid "Notification received when the node's [NodePath] changed."
@@ -47305,6 +47564,27 @@ msgid "Continue to process regardless of the [SceneTree] pause state."
msgstr "不管 [SceneTree] 的暂停状态如何,继续 process。"
#: doc/classes/Node.xml
+#, fuzzy
+msgid ""
+"Inherits physics interpolation mode from the node's parent. For the root "
+"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
+msgstr ""
+"继承节点的父节点的暂停模式。对于根节点,它相当于[constant PAUSE_MODE_STOP]。"
+"默认值。"
+
+#: 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 "复制该节点的信号。"
@@ -47889,8 +48169,9 @@ msgid ""
"Returns the given property. Returns [code]null[/code] if the [code]property[/"
"code] does not exist."
msgstr ""
-"虚方法,可以被重载以定制 [method get] 的返回值。\n"
-"返回给定的属性。如果 [code]property[/code] 不存在,返回 [code]null[/code]。"
+"虚方法。可对其进行覆盖,定制 [method get] 的返回值。\n"
+"返回给定的属性。如果该 [code]property[/code] 不存在,则返回 [code]null[/"
+"code]。"
#: doc/classes/Object.xml
msgid ""
@@ -47903,12 +48184,13 @@ msgid ""
"[code]hint_string: String[/code], and [code]usage: int[/code] (see [enum "
"PropertyUsageFlags])."
msgstr ""
-"虚方法,可以被重载以定制 [method get_property_list] 的返回值。\n"
-"返回对象的属性列表为一个 [Array] 的字典。\n"
-"每个属性的 [Dictionary] 必须至少包含 [code]name: String[/code] 和 "
-"[code]type: int[/code](见[enum Variant.Type])条目。另外,它还可以包括 "
-"[code]hint: int[/code](见 [enum PropertyHint])、[code]hint_string: String[/"
-"code],以及 [code]usage: int[/code](见 [enum PropertyUsageFlags])。"
+"虚方法。可对其进行覆盖,定制 [method get_property_list] 的返回值。\n"
+"返回一个 [Array],表示该对象的属性列表,其中的元素为字典类型。\n"
+"每个属性的 [Dictionary] 必须至少包含名称 [code]name: String[/code] 和类型 "
+"[code]type: int[/code](见 [enum Variant.Type])条目。另外,它还可以包括提示 "
+"[code]hint: int[/code](见 [enum PropertyHint])、提示字符串 "
+"[code]hint_string: String[/code],以及用法 [code]usage: int[/code](见 [enum "
+"PropertyUsageFlags])。"
#: doc/classes/Object.xml
msgid ""
@@ -47945,8 +48227,8 @@ msgid ""
"Sets a property. Returns [code]true[/code] if the [code]property[/code] "
"exists."
msgstr ""
-"虚方法,可以被重载以定制 [method set] 的返回值。\n"
-"设置一个属性。如果 [code]property[/code] 存在,返回 [code]true[/code]。"
+"虚方法。可对其进行覆盖,定制 [method set] 的返回值。\n"
+"设置属性。如果该 [code]property[/code] 存在,则返回 [code]true[/code]。"
#: doc/classes/Object.xml
msgid ""
@@ -47956,8 +48238,8 @@ msgid ""
"Returns a [String] representing the object. If not overridden, defaults to "
"[code]\"[ClassName:RID]\"[/code]."
msgstr ""
-"虚方法,可以被重载以定制 [method to_string] 的返回值,从而在对象被转换为字符"
-"串的地方,例如用 [code]print(obj)[/code] 表示。\n"
+"虚方法。可对其进行覆盖,定制 [method to_string] 的返回值,从而在对象被转换为"
+"字符串的地方,例如用 [code]print(obj)[/code] 表示。\n"
"返回一个代表该对象的 [String] 字符串。如果没有被覆盖,默认为 "
"[code]\"[ClassName:RID]\"[/code]。"
@@ -48039,7 +48321,6 @@ msgstr ""
"set_message_translation]和[method tr]。"
#: doc/classes/Object.xml
-#, fuzzy
msgid ""
"Connects a [code]signal[/code] to a [code]method[/code] on a [code]target[/"
"code] object. Pass optional [code]binds[/code] to the call as an [Array] of "
@@ -48079,7 +48360,7 @@ msgstr ""
"ConnectFlags] 常量。\n"
"一个信号 [code]signal[/code] 与同一方法 [code]method[/code] 只能连接一次。除"
"非之前在连接信号时使用了 [constant CONNECT_REFERENCE_COUNTED],否则在进行重复"
-"连接时会抛出错误。为避免这种情况,首先使用 [method is_connected] 检查是否已有"
+"连接时会打印错误。为避免这种情况,首先使用 [method is_connected] 检查是否已有"
"连接。\n"
"如果 [code]target[/code] 在游戏生命周期中被销毁,连接将丢失。\n"
"例子:\n"
@@ -48102,7 +48383,6 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Object.xml
-#, fuzzy
msgid ""
"Disconnects a [code]signal[/code] from a [code]method[/code] on the given "
"[code]target[/code].\n"
@@ -48111,7 +48391,7 @@ msgid ""
"exists."
msgstr ""
"将 [code]信号[/code] 与给定 [code]目标[/code] 上的 [code]方法[/code] 断开。\n"
-"如果您尝试断开不存在的连接,该方法将引发错误。使用 [method is_connected] 确保"
+"如果您尝试断开不存在的连接,该方法将打印错误。使用 [method is_connected] 确保"
"连接存在。"
#: doc/classes/Object.xml
@@ -48969,8 +49249,9 @@ msgid "Returns the tooltip of the item at index [code]idx[/code]."
msgstr "返回索引 [code]idx[/code] 处项目的工具提示。"
#: doc/classes/OptionButton.xml
+#, fuzzy
msgid ""
-"Returns the ID of the selected item, or [code]0[/code] if no item is "
+"Returns the ID of the selected item, or [code]-1[/code] if no item is "
"selected."
msgstr "返回所选项目的ID,如果没有选择项目,则返回 [code]0[/code]。"
@@ -48990,9 +49271,11 @@ msgid "Removes the item at index [code]idx[/code]."
msgstr "移除索引[code]idx[/code]处的项目。"
#: doc/classes/OptionButton.xml
+#, fuzzy
msgid ""
"Selects an item by index and makes it the current item. This will work even "
-"if the item is disabled."
+"if the item is disabled.\n"
+"Passing [code]-1[/code] as the index deselects any currently selected item."
msgstr "按索引选择项并使其为当前选中项。即使该项是禁用的,这也将起作用。"
#: doc/classes/OptionButton.xml
@@ -49521,6 +49804,11 @@ msgid ""
"[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 ""
+"[Rect2] 的 [Array] 数组,元素是显示器裁切或刘海的包围矩形。它们是全面屏上被相"
+"机和传感器所占用的非功能性区域。如果该设备没有裁切则返回空数组。另请参阅 "
+"[method get_window_safe_area]。\n"
+"[b]注意:[/b]目前仅在 Android 上实现。其他平台即便存在显示器裁切或刘海,也会"
+"返回空数组。"
#: doc/classes/OS.xml
msgid "Returns the total amount of dynamic memory used (only works in debug)."
@@ -50190,7 +50478,6 @@ msgstr ""
"code]。"
#: doc/classes/OS.xml
-#, fuzzy
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"
@@ -50198,9 +50485,9 @@ msgid ""
"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and "
"Windows."
msgstr ""
-"杀死(终止)由给定的进程 ID([code]pid[/code])标识的进程,例如,在非阻塞模式"
-"下由 [method execute] 返回的进程。另请参阅 [method crash]。\n"
-"[b]注意:[/b]这个方法也可以用来杀死不是由游戏产生的进程。\n"
+"如果该子进程 ID([code]pid[/code])仍在运行则返回 [code]true[/code],如果已经"
+"终止则返回 [code]false[/code]。\n"
+"必须是由 [method execute] 生成的有效 ID。\n"
"[b]注意:[/b]这个方法在 Android、iOS、Linux、macOS 和 Windows 上实现。"
#: doc/classes/OS.xml
@@ -50317,6 +50604,8 @@ msgid ""
"[b]Note:[/b] If the user has disabled the recycle bin on their system, the "
"file will be permanently deleted instead."
msgstr ""
+"将文件或目录移动到系统的回收站。另请参阅 [method Directory.remove]。\n"
+"[b]注意:[/b]如果用户禁用了系统的回收站,那么这个文件就会被永久删除。"
#: doc/classes/OS.xml
msgid ""
@@ -55370,6 +55659,13 @@ msgid ""
"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps "
"to perform antialiasing."
msgstr ""
+"为 [code]true[/code] 时,会尝试对多边形的边缘进行抗锯齿处理,方法是在边缘绘制"
+"一薄层 OpenGL 平滑线段。\n"
+"[b]注意:[/b]由于实现的原因,内置的抗锯齿无法在透明多边形上得到正确的效果,并"
+"且可能无法在某些平台上正常工作。作为替代方案,请安装[url=https://github.com/"
+"godot-extended-libraries/godot-antialiased-line2d]抗锯齿 Line2D[/url] 插件并"
+"创建 AntialiasedPolygon2D 节点。该节点的抗锯齿是使用带有自定义 mipmap 的纹理"
+"进行的。"
#: doc/classes/Polygon2D.xml
msgid ""
@@ -55459,18 +55755,16 @@ msgstr ""
"如果数量少,则未定义的顶点将使用[code]color[/code]."
#: doc/classes/PoolByteArray.xml
-#, fuzzy
msgid "A pooled array of bytes."
-msgstr "[Array] 字节集合。"
+msgstr "字节池数组。"
#: doc/classes/PoolByteArray.xml
-#, fuzzy
msgid ""
"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."
msgstr ""
-"专门设计用于保存字节的 [Array]。针对内存使用进行了优化,不会造成内存碎片。\n"
+"专门设计用于保存字节的数组。针对内存使用进行了优化,不会造成内存碎片。\n"
"[b]注意:[/b]这种类型是按值传递而不是按引用传递。"
#: doc/classes/PoolByteArray.xml
@@ -55536,6 +55830,8 @@ msgid ""
"used together with [method resize] to create an array with a given size and "
"initialized elements."
msgstr ""
+"将数组中的所有元素都设为给定的值。通常与 [method resize] 一起使用,创建给定大"
+"小的数组并初始化元素。"
#: doc/classes/PoolByteArray.xml
msgid ""
@@ -55561,6 +55857,16 @@ msgstr ""
"但支持 UTF-8 编码的数据。如果不确定数据的来源,请使用此函数。对于用户输入,应"
"该始终首选此函数。"
+#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
+#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
+#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
+#: doc/classes/PoolVector3Array.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if the array contains the given value.\n"
+"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
+msgstr "如果对象包含给定的方法 [code]method[/code],则返回 [code]true[/code]。"
+
#: doc/classes/PoolByteArray.xml
msgid ""
"Returns a hexadecimal representation of this array as a [String].\n"
@@ -55623,18 +55929,16 @@ msgstr ""
"负的索引都被认为是从数组的末端开始的。"
#: doc/classes/PoolColorArray.xml
-#, fuzzy
msgid "A pooled array of [Color]."
-msgstr "[Color]的[Array]的集合。"
+msgstr "[Color] 池数组。"
#: doc/classes/PoolColorArray.xml
-#, fuzzy
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."
msgstr ""
-"专门用于保存 [Color] 的 [Array]。对内存的使用进行了优化,不会使内存碎片化。\n"
+"专门用于保存 [Color] 的数组。对内存的使用进行了优化,不会使内存碎片化。\n"
"[b]注意:[/b]这种类型是通过值传递的,而不是引用。"
#: doc/classes/PoolColorArray.xml
@@ -55667,12 +55971,10 @@ msgid "Changes the [Color] at the given index."
msgstr "更改给定索引处的[Color]。"
#: doc/classes/PoolIntArray.xml
-#, fuzzy
msgid "A pooled array of integers ([int])."
-msgstr "整数[int]的[Array]的集合。"
+msgstr "整数([int])池数组。"
#: doc/classes/PoolIntArray.xml
-#, fuzzy
msgid ""
"An array specifically designed to hold integer values ([int]). Optimized for "
"memory usage, does not fragment the memory.\n"
@@ -55683,7 +55985,7 @@ msgid ""
"around. In comparison, [int] uses signed 64-bit integers which can hold much "
"larger values."
msgstr ""
-"专门用于保存整数值([int])的 [Array]。对内存的使用进行了优化,不会使内存碎片"
+"专门用于保存整数值([int])的数组。对内存的使用进行了优化,不会使内存碎片"
"化。\n"
"[b]注意:[/b]这种类型是通过值传递的,而不是引用。\n"
"[b]注意:[/b]这个类型仅限于有符号的 32 位整数,这意味着它只能在 [code]"
@@ -55714,12 +56016,10 @@ msgid "Changes the int at the given index."
msgstr "更改给定索引处的 int。"
#: doc/classes/PoolRealArray.xml
-#, fuzzy
msgid "A pooled array of reals ([float])."
-msgstr "实数 [float] 的[Array]集合。"
+msgstr "实数([float])池数组。"
#: doc/classes/PoolRealArray.xml
-#, fuzzy
msgid ""
"An array specifically designed to hold floating-point values. Optimized for "
"memory usage, does not fragment the memory.\n"
@@ -55732,8 +56032,7 @@ msgid ""
"store [float]s will use roughly 6 times more memory compared to a "
"[PoolRealArray]."
msgstr ""
-"专门设计用于保存浮点值的 [Array] 。针对内存使用进行了优化,不会造成内存碎"
-"片。\n"
+"专门设计用于保存浮点值的数组。针对内存使用进行了优化,不会造成内存碎片。\n"
"[b]注意:[/b]这种类型是按值传递而不是按引用传递。\n"
"[b]注意:[/b]与 64 位原始 [float] 不同,存储在 [PoolRealArray] 中的数字是 32 "
"位浮点数。这意味着与原始 [float] 相比,存储在 [PoolRealArray] 中的值具有较低"
@@ -55756,18 +56055,16 @@ msgid "Changes the float at the given index."
msgstr "更改给定索引处的浮点数。"
#: doc/classes/PoolStringArray.xml
-#, fuzzy
msgid "A pooled array of [String]."
-msgstr "[String] 的 [Array] 集合。"
+msgstr "[String] 池数组。"
#: doc/classes/PoolStringArray.xml
-#, fuzzy
msgid ""
"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."
msgstr ""
-"[Array] 专门设计用于保存 [String]。针对内存使用进行了优化,不会造成内存碎"
+"专门设计用于保存 [String] 的数组。针对内存使用进行了优化,不会造成内存碎"
"片。\n"
"[b]注意:[/b]这种类型是按值传递,而不是引用传递。"
@@ -55798,18 +56095,16 @@ msgid "Changes the [String] at the given index."
msgstr "更改给定索引处的[String]。"
#: doc/classes/PoolVector2Array.xml
-#, fuzzy
msgid "A pooled array of [Vector2]."
-msgstr "[Vector2] 的 [Array] 集合。"
+msgstr "[Vector2] 池数组。"
#: doc/classes/PoolVector2Array.xml
-#, fuzzy
msgid ""
"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."
msgstr ""
-"专门用来保存[Vector2]的[Array]。对内存的使用进行了优化,不会使内存碎片化。\n"
+"专门用来保存 [Vector2] 的数组。对内存的使用进行了优化,不会使内存碎片化。\n"
"[b]注意:[/b]这种类型是通过值传递的,而不是引用。"
#: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml
@@ -55837,19 +56132,16 @@ msgid "Changes the [Vector2] at the given index."
msgstr "更改给定索引处的 [Vector2]。"
#: doc/classes/PoolVector3Array.xml
-#, fuzzy
msgid "A pooled array of [Vector3]."
-msgstr "[Vector3] 的 [Array] 集合。"
+msgstr "[Vector3] 池数组。"
#: doc/classes/PoolVector3Array.xml
-#, fuzzy
msgid ""
"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."
msgstr ""
-"专门设计来容纳[Vector3]的[Array]。对内存的使用进行了优化,不会使内存碎片"
-"化。\n"
+"专门设计来容纳 [Vector3] 的数组。对内存的使用进行了优化,不会使内存碎片化。\n"
"[b]注意:[/b]这种类型是通过值传递的,而不是引用。"
#: doc/classes/PoolVector3Array.xml
@@ -56551,6 +56843,11 @@ msgid "[Font] used for the menu items."
msgstr "用于菜单项的 [Font] 字体。"
#: doc/classes/PopupMenu.xml
+#, fuzzy
+msgid "[Font] used for the labeled separator."
+msgstr "用于标签[Label]文本的字体[Font]。"
+
+#: doc/classes/PopupMenu.xml
msgid "[Texture] icon for the checked checkbox items."
msgstr "复选菜单项被勾选时使用的 [Texture] 图标。"
@@ -57947,6 +58244,10 @@ msgid ""
"during [method Node._physics_process] (during a physics tick) rather than "
"[method Node._process] (during a frame)."
msgstr ""
+"为 [code]true[/code] 时,启用利于定位不正确更新的节点的警告,不正确的更新会导"
+"致不正确的插值和画面问题。\n"
+"对节点进行插值时,在 [method Node._physics_process](位于物理周期)而不是 "
+"[method Node._process](位于帧)中更新变换非常关键。"
#: doc/classes/ProjectSettings.xml
msgid "Maximum amount of functions per frame allowed when profiling."
@@ -60911,9 +61212,8 @@ msgid ""
msgstr "对象可以利用该信号,只在发生修改时才读取设置。"
#: doc/classes/PropertyTweener.xml
-#, fuzzy
msgid "Interpolates an [Object]'s property over time."
-msgstr "使节点的属性随时间平滑地变化。"
+msgstr "随时间对 [Object] 的属性进行插值。"
#: doc/classes/PropertyTweener.xml
msgid ""
@@ -60923,6 +61223,10 @@ msgid ""
"to create [PropertyTweener]. Any [PropertyTweener] created manually will not "
"function correctly."
msgstr ""
+"[PropertyTweener] 可用于对某个对象的某个属性进行插值。更多用法信息请参阅 "
+"[method SceneTreeTween.tween_property]。\n"
+"[b]注意:[/b]创建 [PropertyTweener] 的唯一正确方法是 [method SceneTreeTween."
+"tween_property]。任何手动创建的 [PropertyTweener] 都无法正常工作。"
#: doc/classes/PropertyTweener.xml
msgid ""
@@ -60934,6 +61238,12 @@ msgid ""
"as_relative() #the node will move by 100 pixels to the right\n"
"[/codeblock]"
msgstr ""
+"调用后,最终值会被作为相对值使用。示例:\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_property(self, \"position\", Vector2.RIGHT * 100, 1)."
+"as_relative() # 该节点会向右移动 100 个像素\n"
+"[/codeblock]"
#: doc/classes/PropertyTweener.xml
msgid ""
@@ -60945,6 +61255,12 @@ msgid ""
"(200, 100)\n"
"[/codeblock]"
msgstr ""
+"设置该 [PropertyTweener] 的自定义初始值。示例:\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_property(self, \"position\", Vector2(200, 100), 1)."
+"from(Vector2(100, 100) # 会将该节点从 (100, 100) 移动到 (200, 100)\n"
+"[/codeblock]"
#: doc/classes/PropertyTweener.xml
msgid ""
@@ -60959,30 +61275,24 @@ msgid ""
"from_current()\n"
"[/codeblock]"
msgstr ""
+"让该 [PropertyTweener] 使用当前属性值作为起点(即创建这个 [PropertyTweener] "
+"时的值)。与使用当前值调用 [method from] 等价。以下两种调用方法效果相同:\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]"
#: 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/PropertyTweener.xml
-msgid ""
-"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
-"default easing is used from the [Tween] that contains this Tweener."
-msgstr ""
-
-#: doc/classes/PropertyTweener.xml
-msgid ""
-"Sets the type of used transition from [enum Tween.TransitionType]. If not "
-"set, the default transition is used from the [Tween] that contains this "
-"Tweener."
-msgstr ""
+msgstr "设置该 [PropertyTweener] 开始插值的时间,单位为秒。默认无延迟。"
#: doc/classes/ProximityGroup.xml
-#, fuzzy
msgid "General-purpose 3D proximity detection node."
-msgstr "通用的靠近检测节点。"
+msgstr "通用的 3D 邻近检测节点。"
#: doc/classes/ProximityGroup.xml
msgid ""
@@ -61048,6 +61358,55 @@ msgid ""
"[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 ""
+"通用邻近检测节点。[ProximityGroup] 可用于[i]大致的[/i]距离检查,比使用 "
+"[method Vector3.distance_to] 或 [method Vector3.distance_squared_to] 进行精确"
+"检查要快。\n"
+"[member group_name] 相同的 [ProximityGroup] 节点如果相交,就会自动组合。你可"
+"以通过调用 [method broadcast] 来对所有相交的成员调用特定的方法,参数任意。\n"
+"[ProximityGroup] 是立方体形状的,包含一组 [Vector3] 坐标。这些坐标是自动调用 "
+"[member grid_radius] 计算的。要让 [ProximityGroup] 找到其对等体(并进行自动组"
+"合),你需要将其 [member group_name] 设为非空的 [String]。当这个对象的形状与"
+"另一个 [ProximityGroup] 对象的形状相交时,如果它们的 [member group_name] 一"
+"致,就会被组合在一起,直到不再相交。\n"
+"因为 [ProximityGroup] 不依赖于物理引擎,你不需要为其添加任何其他子节点(不同"
+"于 [PhysicsBody])。\n"
+"[ProximityGroup] 实际使用的是 [SceneTree] 的分组,会在内部调用 [method Node."
+"add_to_group]。[SceneTree] 分组名称是通过将 [member group_name] 及其坐标组合"
+"而来的,其中的坐标则是根据你事先定义的 [member grid_radius] 计算而来的。\n"
+"[b]示例:[/b]名为 [code]\"PlanetEarth\"[/code] 的 [ProximityGroup] 节点位于 "
+"[code]Vector3(6, 6, 6)[/code],其 [member group_name] 为 [code]\"planets\"[/"
+"code],[member grid_radius] 为 [code]Vector3(1, 2, 3)[/code],那么就会创建下"
+"列 [SceneTree] 分组名:\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"
+"如果有另一个名叫 [code]\"PlanetMars\"[/code] 的 [ProximityGroup],分组名为 "
+"[code]\"planets\"[/code],包含 [code]Vector3(5, 4, 7)[/code] 坐标,那么正常就"
+"会创建一个名叫 [code]\"planets|5|4|7\"[/code] 的 [SceneTree] 分组。然而,因为"
+"这个分组名已存在,这个 [ProximityGroup] 对象就会[i]加入[/i]这个现有的分组。"
+"[code]\"PlanetEarth\"[/code] 已经存在于这个分组中。只要这两个节点都不改变其变"
+"换、不停止相交(或者退出场景树),那么它们就会被组合在一起。相交时,任何 "
+"[method broadcast] 都会影响到[i]这两个[/i] [ProximityGroup] 节点。\n"
+"使用 [ProximityGroup] 时有 3 个需要记住的缺陷:\n"
+"- 网格半径越大,坐标数量越多,创建的 [SceneTree] 分组也越多。如果创建了太多的"
+"分组,就会影响性能。\n"
+"- 如果通过任何手段改变了 [ProximityGroup] 节点的变换(或者从场景树中移除),"
+"就需要重新计算分组,也会影响性能。\n"
+"- 如果你的 [member grid_radius] 比 [code]Vector3(1, 1, 1)[/code] 小,就会被舍"
+"入到 [code]Vector3(1, 1, 1)[/code]。因此,较小的网格半径可能会导致意外的分"
+"组。\n"
+"[/codeblock]\n"
+"[b]注意:[/b]Godot 4.0 会移除 [ProximityGroup],使用更高效、快速的 "
+"[VisibilityNotifier] 功能。对于大多数情况,[method Vector3.distance_to] 和 "
+"[method Vector3.distance_squared_to] 都足够快了,尤其是在使用 [Timer] 节点减"
+"少调用次数时。"
#: doc/classes/ProximityGroup.xml
msgid ""
@@ -61055,11 +61414,14 @@ msgid ""
"If the [member dispatch_mode] is set to [constant MODE_PROXY] (the default), "
"all calls are delegated to their respective parent [Node]."
msgstr ""
+"对所有相交的 [ProximityGroup] 使用给定的参数调用给定的方法。\n"
+"如果 [member dispatch_mode] 为 [constant MODE_PROXY](默认值),这些调用会被"
+"代理到它们各自的父级 [Node] 上。"
#: doc/classes/ProximityGroup.xml
msgid ""
"Specifies which node gets contacted on a call of method [method broadcast]."
-msgstr ""
+msgstr "指定调用 [method broadcast] 方法时联系到的节点。"
#: doc/classes/ProximityGroup.xml
msgid ""
@@ -61069,6 +61431,9 @@ msgid ""
"proximity checks at the cost of performance, since more groups will be "
"created."
msgstr ""
+"空间的大小,使用 3D 单位。同时还会设置坐标的数量,用于计算两个 "
+"[ProximityGroup] 节点是否相交。较小的 [member grid_radius] 会牺牲性能实现更精"
+"确的临近检测,因为会创建更多的分组。"
#: doc/classes/ProximityGroup.xml
msgid ""
@@ -61081,6 +61446,12 @@ msgid ""
"significantly larger [member grid_radius] than their actual radius, position "
"them close enough and they'll be automatically grouped."
msgstr ""
+"指定共用的分组名称,其它 [ProximityGroup] 节点可以借此得知相交时是否应该与这"
+"个节点自动组合。\n"
+"例如,假设你有一个名为 [code]\"地球\"[/code] 的 [ProximityGroup] 节点,另一个"
+"名叫 [code]\"火星\"[/code],这两个节点的 [member group_name] 都叫 [code]\"星"
+"球\"[/code]。如果为这两个星球设置比它们实际半径更大的 [member grid_radius],"
+"那么只要将它们放得足够近,就会自动组合到一起。"
#: doc/classes/ProximityGroup.xml
msgid ""
@@ -61092,16 +61463,24 @@ msgid ""
"[b]Note:[/b] This signal is [i]not[/i] emitted by default, as the default "
"[member dispatch_mode] is [constant MODE_PROXY]."
msgstr ""
+"当用户调用 [method broadcast] 方法且 [member dispatch_mode] 为 [constant "
+"MODE_SIGNAL] 时触发。\n"
+"给定的方法和参数会传递给连接到这个信号的监听者,无论是这个对象的信号,还是与"
+"这个节点组合的 [ProximityGroup] 节点的信号。\n"
+"[b]注意:[/b]这个信号默认[i]不会[/i]触发,因为 [member dispatch_mode] 默认为 "
+"[constant MODE_PROXY]。"
#: doc/classes/ProximityGroup.xml
msgid "This [ProximityGroup]'s parent will be target of [method broadcast]."
-msgstr ""
+msgstr "这个 [ProximityGroup] 的父级会成为 [method broadcast] 的目标。"
#: doc/classes/ProximityGroup.xml
msgid ""
"This [ProximityGroup] will emit the [signal broadcast] [i]signal[/i] when "
"calling the [method broadcast] [i]method[/i]."
msgstr ""
+"这个 [ProximityGroup] 会在调用 [method broadcast] [i]方法[/i]时发出 [signal "
+"broadcast] [i]信号[/i]。"
#: doc/classes/QuadMesh.xml
msgid "Class representing a square mesh."
@@ -63424,7 +63803,6 @@ msgid "Adds raw non-BBCode-parsed text to the tag stack."
msgstr "将非 BBCode 解析的原始文本添加到标签栈中。"
#: doc/classes/RichTextLabel.xml
-#, fuzzy
msgid ""
"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 "
@@ -63436,12 +63814,13 @@ msgid ""
"[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 ""
-"解析 [code]bbcode[/code] 并根据需要将标签添加到标签堆栈中。返回解析结果,成功"
-"则返回 [constant OK]。\n"
+"解析 [code]bbcode[/code] 并根据需要将标签添加到标签堆栈中。\n"
"[b]注意:[/b]使用此方法,您无法关闭在之前的 [method append_bbcode] 调用中打开"
"的标签。这样做是为了提高性能,特别是在更新大型 RichTextLabel 时,因为每次重建"
"整个 BBCode 会更慢。如果您绝对需要在将来的方法调用中关闭标签,请附加 [member "
-"bbcode_text] 而不是使用 [method append_bbcode]。"
+"bbcode_text] 而不是使用 [method append_bbcode]。\n"
+"[b]注意:[/b]这个方法内部是不可能失败的,返回错误码是为了向后兼容,始终为 "
+"[constant OK]。"
#: doc/classes/RichTextLabel.xml
msgid "Clears the tag stack and sets [member bbcode_text] to an empty string."
@@ -63483,14 +63862,13 @@ msgid "Adds a newline tag to the tag stack."
msgstr "在标签堆中添加一个换行标签。"
#: doc/classes/RichTextLabel.xml
-#, fuzzy
msgid ""
"The assignment version of [method append_bbcode]. Clears the tag stack and "
"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 ""
-"等待该 [Semaphore],如果其值为零,则阻塞至非零。\n"
+"[method append_bbcode] 的赋值版本。会清除标签栈并插入新内容。\n"
"[b]注意:[/b]这个方法内部是不可能失败的,返回错误码是为了向后兼容,始终为 "
"[constant OK]。"
@@ -64400,18 +64778,18 @@ msgid ""
"The center of mass is always located at the node's origin without taking "
"into account the [CollisionShape2D] centroid offsets."
msgstr ""
-"该节点实现了模拟的2D物理。你不能直接控制一个RigidBody2D。而是,你对它施加力"
+"该节点实现了模拟的 2D 物理。你不能直接控制 RigidBody2D。而是,你对它施加力"
"(重力、冲力等),物理模拟会根据它的质量、摩擦力和其他物理属性来计算出运动结"
"果。\n"
-"RigidBody2D有4种行为[member mode]。刚性、静态、角色和运动。\n"
-"[b]注意:[/b]你不应该每一帧或经常改变RigidBody2D的[code]position[/code]或"
-"[code]linear_velocity[/code]。如果需要直接影响物体的状态,请使用[method "
+"RigidBody2D 有 4 种行为 [member mode]。刚性、静态、角色和运动。\n"
+"[b]注意:[/b]你不应该每一帧或经常改变 RigidBody2D 的 [code]position[/code] "
+"或 [code]linear_velocity[/code]。如果需要直接影响物体的状态,请使用 [method "
"_integrate_forces],它允许你直接访问物理状态。\n"
"要记住,物理物体在自己管理变换,它会覆盖你的变换设置。所以任何直接或间接的变"
"换(包括节点或其父级的缩放)将只在编辑器中可见,并在运行时立即重置。\n"
-"如果你需要重载默认的物理行为或者在运行时添加变换,你可以写一个自定义的合力。"
-"参阅[member custom_integrator]。\n"
-"质量中心总是位于节点的原点,而不考虑[CollisionShape2D]中心点的偏移。"
+"如果你需要覆盖默认的物理行为或者在运行时添加变换,你可以写一个自定义的合力。"
+"参阅 [member custom_integrator]。\n"
+"质量中心总是位于节点的原点,而不考虑 [CollisionShape2D] 中心点的偏移。"
#: doc/classes/RigidBody2D.xml
msgid "2D Physics Platformer Demo"
@@ -65637,7 +66015,7 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid "Creates and returns a new [SceneTreeTween]."
-msgstr ""
+msgstr "创建并返回一个新的 [SceneTreeTween]。"
#: doc/classes/SceneTree.xml
msgid ""
@@ -65669,6 +66047,8 @@ msgid ""
"Returns an array of currently existing [SceneTreeTween]s in the [SceneTree] "
"(both running and paused)."
msgstr ""
+"返回当前在该 [SceneTree] 中存在的 [SceneTreeTween] 的数组(包含正在执行的和已"
+"暂停的)。"
#: doc/classes/SceneTree.xml
msgid "Returns the sender's peer ID for the most recently received RPC call."
@@ -66113,7 +66493,7 @@ msgstr "当计时器到 0 时发出。"
msgid ""
"Lightweight object used for general-purpose animation via script, using "
"[Tweener]s."
-msgstr ""
+msgstr "通过脚本进行通用动画的轻量级对象,使用 [Tweener]。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66188,6 +66568,64 @@ msgid ""
"prevent a [SceneTreeTween] from autostarting, you can call [method stop] "
"immediately after it was created."
msgstr ""
+"[SceneTreeTween] 是由场景树管理的补间动画。与 [Tween] 相对,不需要实例化节"
+"点。\n"
+"[SceneTreeTween] 比 [AnimationPlayer] 更轻量,非常适合简单的动画,以及不需要"
+"编辑器可视化操作的通用任务。可以即发即弃,无需再编写额外的代码。例如,你可以"
+"循环使用带延迟的 [CallbackTweener],让某些对象不断地进行射击。\n"
+"可以使用 [method SceneTree.create_tween] 或 [method Node.create_tween] 来创"
+"建 [SceneTreeTween]。手动创建的 [SceneTreeTween](即使用 [code]Tween.new()[/"
+"code])是无效的,不能用于对值进行补间,但你可以用 [method interpolate_value] "
+"来手动插值。\n"
+"[SceneTreeTween] 动画是由 [Tweener] 序列构成的,默认串行执行。向该 "
+"[SceneTreeTween] 追加 [Tweener] 即可创建序列。使用 [Tweener] 来做动画就叫做补"
+"间(Tweening)。示例补间序列是类似这样的:\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"
+"这个序列会让 [code]$Sprite[/code] 变红,然后缩小,最后调用 [method Node."
+"queue_free] 来移除精灵。更多用法信息请参阅 [method tween_property]、[method "
+"tween_interval]、[method tween_callback]、[method tween_method] 方法。\n"
+"使用 [code]tween_*[/code] 方法创建 [Tweener] 后,可以使用链式方法调用来调整"
+"该 [Tweener] 的属性。例如,如果你想要在上面的例子中设置不同的过渡类型,那么你"
+"可以:\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"
+"[SceneTreeTween] 的大部分方法都可以用这种方法进行链式调用。在这个示例中,我们"
+"对该 [SceneTreeTween] 进行了绑定,并设置了默认的过渡:\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"
+"[SceneTreeTween] 还有一种有意思的用法,可以对任意一组对象进行动画:\n"
+"[codeblock]\n"
+"var tween = create_tween()\n"
+"for sprite in get_children():\n"
+" tween.tween_property(sprite, \"position\", Vector2(), 1)\n"
+"[/codeblock]\n"
+"上面的示例中,该节点的所有子节点都会依次被移动到 (0, 0)。\n"
+"一些 [Tweener] 会用到过渡和缓动。前者接受 [enum Tween.TransitionType] 常量,"
+"指的是如何处理该动画的时间(示例见 [url=https://easings.net/]easings.net[/"
+"url])。第二个接受的是 [enum Tween.EaseType] 常量,控制 [code]trans_type[/"
+"code] 应用到插值中的位置(开头、结尾、头尾均有)。如果你不知道该选用哪种过渡"
+"和缓动,可以使用 [constant Tween.EASE_IN_OUT] 配合尝试不同的 [enum Tween."
+"TransitionType],然后选用看上去最好的那种。\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"tween_cheatsheet.png]补间缓动与过渡类型速查表[/url]\n"
+"[b]注意:[/b]所有 [SceneTreeTween] 都默认会自动启动。如果要阻止某个 "
+"[SceneTreeTween] 自动启动,你可以在创建后立即调用 [method stop]。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66201,6 +66639,12 @@ msgid ""
"For a shorter way to create and bind a [SceneTreeTween], you can use [method "
"Node.create_tween]."
msgstr ""
+"将这个 [SceneTreeTween] 绑定到给定的 [code]node[/code] 上。[SceneTreeTween] "
+"是由 [SceneTree] 直接处理的,所以不依赖被动画的节点运行。将该 "
+"[SceneTreeTween] 绑定到某个 [Node] 后,该对象不在树中时该 [SceneTreeTween] 就"
+"会暂停动画,绑定对象被释放时该 [SceneTreeTween] 会被自动销毁。另外,"
+"[constant TWEEN_PAUSE_BOUND] 会让暂停行为依赖于绑定的节点。\n"
+"使用 [method Node.create_tween] 来创建并绑定 [SceneTreeTween] 更简单。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66213,6 +66657,14 @@ msgid ""
"tween.chain().tween_property(...) # Will run after two above are finished.\n"
"[/codeblock]"
msgstr ""
+"用于在使用 [code]true[/code] 调用 [method set_parallel] 后,将两个 [Tweener] "
+"串联。\n"
+"[codeblock]\n"
+"var tween = create_tween().set_parallel(true)\n"
+"tween.tween_property(...)\n"
+"tween.tween_property(...) # 会和上一条并行执行。\n"
+"tween.chain().tween_property(...) # 会在前两条完成后执行。\n"
+"[/codeblock]"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66225,6 +66677,13 @@ msgid ""
"[b]Note:[/b] The [SceneTreeTween] will become invalid after finished, but "
"you can call [method stop] after the step, to keep it and reset."
msgstr ""
+"使用给定的增量秒数 [code]delta[/code] 处理该 [SceneTreeTween]。最常见的用法是"
+"在该 [SceneTreeTween] 暂停时对其进行手动控制。也可用于立即停止该 "
+"[SceneTreeTween] 的动画,使用比完整长度更大的 [code]delta[/code] 即可。\n"
+"如果该 [SceneTreeTween] 仍然有未完成的 [Tweener],则返回 [code]true[/"
+"code]。\n"
+"[b]注意:[/b]该 [SceneTreeTween] 在完成后会失效,但你可以在 step 后调用 "
+"[method stop] 将其保留并重置。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66235,6 +66694,11 @@ msgid ""
"after the [SceneTreeTween] has finished animating will be slightly greater "
"than the actual [SceneTreeTween] duration."
msgstr ""
+"返回该 [SceneTreeTween] 已进行动画的总时长(即自开始以来经过的时间,不计算暂"
+"停等时间),单位为秒。时长会受到 [method set_speed_scale] 影响,[method "
+"stop] 会将其重置为 [code]0[/code]。\n"
+"[b]注意:[/b]由于时长是由帧的增量时间累计而来的,该 [SceneTreeTween] 完成动画"
+"后所返回的时长会比 [SceneTreeTween] 的实际时长略大。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66255,12 +66719,23 @@ msgid ""
"will always return the final value, regardless of [code]elapsed_time[/code] "
"provided."
msgstr ""
+"不想使用 [SceneTreeTween] 进行动画时,可以使用这个方法进行手动插值。与 "
+"[method @GDScript.lerp] 类似,但支持自定义过渡和缓动。\n"
+"[code]initial_value[/code] 为插值的起始值。\n"
+"[code]delta_value[/code] 为插值的变化值,即等于 [code]final_value - "
+"initial_value[/code]。\n"
+"[code]elapsed_time[/code] 为插值开始后所经过的秒数,用于控制插值的位置。例"
+"如,等于 [code]duration[/code] 的一半时,插值后的值位于初始值和最终值的一半。"
+"这个值也可以比 [code]duration[/code] 大或者比 0 小,此时会进行外插。\n"
+"[code]duration[/code] 为插值的总时长。\n"
+"[b]注意:[/b]如果 [code]duration[/code] 等于 [code]0[/code],那么无论提供的 "
+"[code]elapsed_time[/code] 为多少,该方法返回的始终是最终值。"
#: doc/classes/SceneTreeTween.xml
msgid ""
"Returns whether the [SceneTreeTween] is currently running, i.e. it wasn't "
"paused and it's not finished."
-msgstr ""
+msgstr "返回该 [SceneTreeTween] 目前是否正在执行,即未暂停且未完成。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66272,10 +66747,15 @@ msgid ""
"[SceneTreeTween] can't have [Tweener]s appended, because it can't animate "
"them. You can however still use [method interpolate_value]."
msgstr ""
+"返回该 [SceneTreeTween] 是否有效。有效的 [SceneTreeTween] 是由场景树包含的 "
+"[SceneTreeTween](即 [method SceneTree.get_processed_tweens] 返回的数组中包含"
+"这个 [SceneTreeTween])。[SceneTreeTween] 失效的情况有:补间完成、被销毁、使"
+"用 [code]Tween.new()[/code] 创建。无效的 [SceneTreeTween] 不能追加 "
+"[Tweener],因为无法进行动画。不过 [method interpolate_value] 还是可以使用的。"
#: doc/classes/SceneTreeTween.xml
msgid "Aborts all tweening operations and invalidates the [SceneTreeTween]."
-msgstr ""
+msgstr "终止所有补间操作并将该 [SceneTreeTween] 置为无效。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66290,21 +66770,32 @@ msgid ""
"You can make the [SceneTreeTween] parallel by default by using [method "
"set_parallel]."
msgstr ""
+"让下一个 [Tweener] 与上一个并行执行。示例:\n"
+"[codeblock]\n"
+"var tween = create_tween()\n"
+"tween.tween_property(...)\n"
+"tween.parallel().tween_property(...)\n"
+"tween.parallel().tween_property(...)\n"
+"[/codeblock]\n"
+"该示例中的所有 [Tweener] 都会同时执行。\n"
+"你可以通过使用 [method set_parallel] 让该 [SceneTreeTween] 默认并行。"
#: doc/classes/SceneTreeTween.xml
msgid ""
"Pauses the tweening. The animation can be resumed by using [method play]."
-msgstr ""
+msgstr "暂停补间。可以使用 [method play] 恢复动画。"
#: doc/classes/SceneTreeTween.xml
msgid "Resumes a paused or stopped [SceneTreeTween]."
-msgstr ""
+msgstr "恢复暂停或停止的 [SceneTreeTween]。"
#: doc/classes/SceneTreeTween.xml
msgid ""
"Sets the default ease type for [PropertyTweener]s and [MethodTweener]s "
"animated by this [SceneTreeTween]."
msgstr ""
+"设置由这个 [SceneTreeTween] 进行动画的 [PropertyTweener] 和 [MethodTweener] "
+"的默认缓动类型。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66321,12 +66812,22 @@ msgid ""
"[SceneTreeTween]'s lifetime depends on some node, always use [method "
"bind_node]."
msgstr ""
+"这只该补间序列的重复次数,即 [code]set_loops(2)[/code] 会让动画执行两次。\n"
+"调用这个方法时如果不带参数,那么该 [SceneTreeTween] 会无限执行,直到被 "
+"[method kill] 销毁、绑定节点被释放、或者所有进行动画的对象都被释放(无法再进"
+"行任何动画)。\n"
+"[b]警告:[/b]使用无限循环时请一定要加入一些时长/延迟。0 时长的循环动画(例如"
+"单个不带延迟的 [CallbackTweener] 或者节点无效的 [PropertyTweener])和无限 "
+"[code]while[/code] 循环是一样的,会导致游戏冻结。如果 [SceneTreeTween] 的生命"
+"期依赖于某个节点,请一定使用 [method bind_node]。"
#: 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 ""
+"如果 [code]parallel[/code] 为 [code]true[/code],那么在这个方法之后追加的 "
+"[Tweener] 将默认同时执行,而不是顺序执行。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66334,6 +66835,9 @@ msgid ""
"paused. Check [enum TweenPauseMode] for options.\n"
"Default value is [constant TWEEN_PAUSE_BOUND]."
msgstr ""
+"决定该 [SceneTreeTween] 在 [SceneTree] 暂停时的行为。可选项请查看 [enum "
+"TweenPauseMode]。\n"
+"默认值为 [constant TWEEN_PAUSE_BOUND]。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66342,23 +66846,30 @@ msgid ""
"_physics_process].\n"
"Default value is [constant Tween.TWEEN_PROCESS_IDLE]."
msgstr ""
+"决定该 [SceneTreeTween] 应当在空闲帧(见 [method Node._process])还是物理帧"
+"(见 [method Node._physics_process])执行。\n"
+"默认值为 [constant Tween.TWEEN_PROCESS_IDLE]。"
#: doc/classes/SceneTreeTween.xml
msgid ""
"Scales the speed of tweening. This affects all [Tweener]s and their delays."
-msgstr ""
+msgstr "补间的速度缩放。影响所有 [Tweener] 及其延迟。"
#: doc/classes/SceneTreeTween.xml
msgid ""
"Sets the default transition type for [PropertyTweener]s and [MethodTweener]s "
"animated by this [SceneTreeTween]."
msgstr ""
+"设置由这个 [SceneTreeTween] 进行动画的 [PropertyTweener] 和 [MethodTweener] "
+"的默认过渡类型。"
#: 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 ""
+"停止补间,并将该 [SceneTreeTween] 重置为初始状态。不会移除已追加的 "
+"[Tweener]。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66377,6 +66888,19 @@ msgid ""
"tween.tween_callback($Sprite, \"set_modulate\", [Color.blue]).set_delay(2)\n"
"[/codeblock]"
msgstr ""
+"创建并追加一个 [CallbackTweener]。这个方法可用于调用任意对象的任意方法。请使"
+"用 [code]binds[/code] 绑定额外的调用参数。\n"
+"示例:总是每隔 1 秒射击一次的对象。\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween().set_loops()\n"
+"tween.tween_callback(self, \"shoot\").set_delay(1)\n"
+"[/codeblock]\n"
+"示例:将精灵变红然后变蓝,带有 2 秒延迟。\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]"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66403,6 +66927,25 @@ msgid ""
"tween.tween_interval(2)\n"
"[/codeblock]"
msgstr ""
+"创建并追加一个 [IntervalTweener]。这个方法可用于在补间动画中创建延迟,可以替"
+"代在其他 [Tweener] 中使用延迟,或无动画的情况(此时 [SceneTreeTween] 充当计时"
+"器的角色)。[code]time[/code] 为间隔时间,单位为秒。\n"
+"示例:创建代码执行的间隔。\n"
+"[codeblock]\n"
+"# ... 一些代码\n"
+"yield(create_tween().tween_interval(2), \"finished\")\n"
+"# ... 更多代码\n"
+"[/codeblock]\n"
+"示例:创建每隔几秒就来回移动并跳跃的对象。\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]"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66432,6 +66975,28 @@ msgid ""
" $Label.text = \"Counting \" + str(value)\n"
"[/codeblock]"
msgstr ""
+"创建并追加一个 [MethodTweener]。这个方法与 [method tween_callback] 和 "
+"[method tween_property] 的组合类似,会使用补间后的值作为参数去持续调用某个方"
+"法。该值是从 [code]from[/code] 到 [code]to[/code] 进行补间的,时长为 "
+"[code]duration[/code] 秒。请使用 [code]binds[/code] 绑定额外的调用参数。你可"
+"以使用 [method MethodTweener.set_ease] 和 [method MethodTweener.set_trans] 来"
+"调整该值的缓动和过渡,可以使用 [method MethodTweener.set_delay] 来延迟补"
+"间。\n"
+"示例:让 3D 对象面向另一个点。\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]) # look_at() 方法的第二个参数接受的是上向量。\n"
+"[/codeblock]\n"
+"示例:在一段延迟后,使用中间方法来设置 [Label] 的文本。\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]"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66464,6 +67029,29 @@ msgid ""
"as_relative().from_current().set_trans(Tween.TRANS_EXPO)\n"
"[/codeblock]"
msgstr ""
+"创建并追加一个 [PropertyTweener]。这个方法会将 [code]object[/code] 对象的 "
+"[code]property[/code] 属性在初始值和最终值 [code]final_val[/code] 之间进行补"
+"间,持续时间为 [code]duration[/code] 秒。初始值默认为该 [PropertyTweener] 启"
+"动时的值。例如:\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"
+"会将该精灵移动到 (100, 200) 然后再移动到 (200, 300)。如果你使用了 [method "
+"PropertyTweener.from] 或 [method PropertyTweener.from_current],那么起始位置"
+"就会被给定的值所覆盖。更多调整项请参阅 [PropertyTweener] 中的其他方法。\n"
+"[b]注意:[/b]鼠标悬停在检查器中的属性上即可查看正确的属性名称。你还可以用 "
+"[code]\"属性:组件\"[/code] 的形式提供属性中的组件(例如 [code]position:x[/"
+"code]),这样就只会修改这个特定的组件。\n"
+"示例:使用不同的过渡类型从同一位置开始移动两次。\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]"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66475,6 +67063,11 @@ msgid ""
"frame. Calling [method stop] inside the signal callback will preserve the "
"[SceneTreeTween]."
msgstr ""
+"在该 [SceneTreeTween] 完成所有补间时触发。该 [SceneTreeTween] 被设为无限循环"
+"时不会触发(见 [method set_loops])。\n"
+"[b]注意:[/b]触发这个信号后,该 [SceneTreeTween] 会被移除(置为无效),但不是"
+"立即发生的,而是在下一个处理帧中发生。在该信号的回调中调用 [method stop] 会保"
+"留该 [SceneTreeTween]。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66482,6 +67075,8 @@ msgid ""
"loop index. This signal is not emitted after final loop, use [signal "
"finished] instead for this case."
msgstr ""
+"完成一次循环时触发(见 [method set_loops]),会提供该循环的索引号。这个信号不"
+"会在最后一次循环后触发,这种情况请使用 [signal finished] 代替。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66489,6 +67084,8 @@ msgid ""
"step index. One step is either a single [Tweener] or a group of [Tweener]s "
"running parallelly."
msgstr ""
+"完成该 [SceneTreeTween] 的一步完成后触发,会提供这一步的索引号。一步指的是单"
+"个 [Tweener] 或一组并行执行的 [Tweener]。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -66496,17 +67093,18 @@ msgid ""
"process (see [member Node.pause_mode]). Otherwise it's the same as [constant "
"TWEEN_PAUSE_STOP]."
msgstr ""
+"如果该 [SceneTreeTween] 绑定了节点,会在该节点能够处理时进行处理(见 [member "
+"Node.pause_mode])。否则与 [constant TWEEN_PAUSE_STOP] 相同。"
#: doc/classes/SceneTreeTween.xml
msgid "If [SceneTree] is paused, the [SceneTreeTween] will also pause."
-msgstr ""
+msgstr "如果 [SceneTree] 暂停了,则该 [SceneTreeTween] 也会暂停。"
#: doc/classes/SceneTreeTween.xml
-#, fuzzy
msgid ""
"The [SceneTreeTween] will process regardless of whether [SceneTree] is "
"paused."
-msgstr "不管 [SceneTree] 的暂停状态如何,继续 process。"
+msgstr "无论 [SceneTree] 是否暂停,该 [SceneTreeTween] 都会进行处理。"
#: doc/classes/Script.xml
msgid "A class stored as a resource."
@@ -67077,17 +67675,20 @@ msgstr ""
#: doc/classes/Shape2D.xml
msgid ""
-"Returns a list of the points where this shape touches another. If there are "
-"no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape touches another.\n"
+"If there are no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
"This method needs the transformation matrix for this shape "
"([code]local_xform[/code]), the shape to check collisions with "
"([code]with_shape[/code]), and the transformation matrix of that shape "
"([code]shape_xform[/code])."
msgstr ""
-"返回这个形状与另一个形状相接触的点的列表。如果没有碰撞,则列表为空。\n"
-"这个方法需要这个形状的变换矩阵([code]local_xform[/code]),要检查碰撞的形状"
-"([code]with_shape[/code]),以及那个形状的变换矩阵([code]shape_xform[/"
-"code])。"
#: doc/classes/Shape2D.xml
msgid ""
@@ -67107,9 +67708,18 @@ msgstr ""
"的运动([code]shape_motion[/code])。"
#: doc/classes/Shape2D.xml
+#, fuzzy
msgid ""
-"Returns a list of the points where this shape would touch another, if a "
-"given movement was applied. If there are no collisions the list is empty.\n"
+"Returns a list of contact point pairs where this shape would touch another, "
+"if a given movement was applied.\n"
+"If there would be no collisions, the returned list is empty. Otherwise, the "
+"returned list contains contact points arranged in pairs, with entries "
+"alternating between points on the boundary of this shape and points on the "
+"boundary of [code]with_shape[/code].\n"
+"A collision pair A, B can be used to calculate the collision normal with "
+"[code](B - A).normalized()[/code], and the collision depth with [code](B - "
+"A).length()[/code]. This information is typically used to separate shapes, "
+"particularly in collision solvers.\n"
"This method needs the transformation matrix for this shape "
"([code]local_xform[/code]), the movement to test on this shape "
"([code]local_motion[/code]), the shape to check collisions with "
@@ -72083,7 +72693,6 @@ msgstr ""
"[code]size_right[/code] 和 [code]size_bottom[/code] 像素。"
#: doc/classes/StyleBoxFlat.xml
-#, fuzzy
msgid ""
"Antialiasing draws a small ring around the edges, which fades to "
"transparency. As a result, edges look much smoother. This is only noticeable "
@@ -72094,7 +72703,7 @@ msgid ""
"glitches."
msgstr ""
"抗锯齿会在边缘周围绘制一个渐变到透明的小环。因此边缘看起来会更加平滑。这仅在"
-"使用圆角时才明显。\n"
+"使用圆角或 [member skew] 时才明显。\n"
"[b]注意:[/b]使用 45 度倒角([member corner_detail] = 1)时,建议将 [member "
"anti_aliasing] 设为 [code]false[/code],这样可以保证画面锐利、避免一些显示问"
"题。"
@@ -72188,6 +72797,12 @@ msgid ""
"user may try to click an area of the StyleBox that cannot actually receive "
"clicks."
msgstr ""
+"将该样式盒扩展到该控件矩形的底边。可以与 [member border_width_bottom] 组合,"
+"在该控件矩形之外绘制边框。\n"
+"[b]注意:[/b]与 [member StyleBox.content_margin_bottom] 不同,[member "
+"expand_margin_bottom] [i]并不会[/i]影响 [Control] 的可点击区域。错误使用时会"
+"对可用性造成负面影响,因为用户可能会点击该 StyleBox 上实际无法接受点击的区"
+"域。"
#: doc/classes/StyleBoxFlat.xml
msgid ""
@@ -72200,6 +72815,11 @@ msgid ""
"user may try to click an area of the StyleBox that cannot actually receive "
"clicks."
msgstr ""
+"将该样式盒扩展到该控件矩形的左边。可以与 [member border_width_left] 组合,在"
+"该控件矩形之外绘制边框。\n"
+"[b]注意:[/b]与 [member StyleBox.content_margin_left] 不同,[member "
+"expand_margin_left] [i]并不会[/i]影响 [Control] 的可点击区域。错误使用时会对"
+"可用性造成负面影响,因为用户可能会点击该 StyleBox 上实际无法接受点击的区域。"
#: doc/classes/StyleBoxFlat.xml
msgid ""
@@ -72212,6 +72832,11 @@ msgid ""
"user may try to click an area of the StyleBox that cannot actually receive "
"clicks."
msgstr ""
+"将该样式盒扩展到该控件矩形的右边。可以与 [member border_width_right] 组合,在"
+"该控件矩形之外绘制边框。\n"
+"[b]注意:[/b]与 [member StyleBox.content_margin_right] 不同,[member "
+"expand_margin_right] [i]并不会[/i]影响 [Control] 的可点击区域。错误使用时会对"
+"可用性造成负面影响,因为用户可能会点击该 StyleBox 上实际无法接受点击的区域。"
#: doc/classes/StyleBoxFlat.xml
msgid ""
@@ -72223,6 +72848,11 @@ msgid ""
"[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 ""
+"将该样式盒扩展到该控件矩形的顶边。可以与 [member border_width_top] 组合,在该"
+"控件矩形之外绘制边框。\n"
+"[b]注意:[/b]与 [member StyleBox.content_margin_top] 不同,[member "
+"expand_margin_top] [i]并不会[/i]影响 [Control] 的可点击区域。错误使用时会对可"
+"用性造成负面影响,因为用户可能会点击该 StyleBox 上实际无法接受点击的区域。"
#: doc/classes/StyleBoxFlat.xml
msgid ""
@@ -72254,6 +72884,13 @@ msgid ""
"increasing the expand margin does not increase the size of the clickable "
"area for [Control]s."
msgstr ""
+"如果任何轴被设为了非零值,[member skew] 就会将该 StyleBox 进行横向和/或纵向变"
+"形。可用于实现“未来风”的 UI。正值会让该 StyleBox 朝右(X 轴)上(Y 轴)偏斜,"
+"负值会让该 StyleBox 朝左(X 轴)下(Y 轴)偏斜。\n"
+"[b]注意:[/b]为了让文本不触碰到该 StyleBox 的边缘,请考虑增大该 [StyleBox] 的"
+"内容边距(见 [member StyleBox.content_margin_bottom])。增大内容边距比增大扩"
+"展边距(见 [member expand_margin_bottom])更好,因为增大扩展边距并不会增大 "
+"[Control] 的可点击区域。"
#: doc/classes/StyleBoxLine.xml
msgid "[StyleBox] that displays a single line."
@@ -76181,7 +76818,6 @@ msgid ""
msgstr "将给定的 Unix 时间戳转换为 ISO 8601 日期字符串(YYYY-MM-DD)。"
#: doc/classes/Time.xml
-#, fuzzy
msgid ""
"Converts the given ISO 8601 date and time string (YYYY-MM-DDTHH:MM:SS) to a "
"dictionary of keys: [code]year[/code], [code]month[/code], [code]day[/code], "
@@ -76196,7 +76832,8 @@ msgstr ""
"为:[code]year[/code]、[code]month[/code]、[code]day[/code]、[code]weekday[/"
"code]、[code]hour[/code]、[code]minute[/code]、[code]second[/code]。\n"
"[code]weekday[/code] 为假时,不包含 [code]weekday[/code] 记录(计算花费相对较"
-"大)。"
+"大)。\n"
+"[b]注意:[/b]时间字符串中的小数会被静默忽略。"
#: doc/classes/Time.xml
msgid ""
@@ -76367,7 +77004,6 @@ msgstr ""
"时区与给定的日期时间字典相同。"
#: doc/classes/Time.xml
-#, fuzzy
msgid ""
"Converts the given ISO 8601 date and/or time string to a Unix timestamp. The "
"string can contain a date only, a time only, or both.\n"
@@ -76380,10 +77016,10 @@ msgstr ""
"将给定的 ISO 8601 日期和/或时间字符串转换为 Unix 时间戳。字符串中可以只包含日"
"期、只包含时间,也可以两者都包含。\n"
"[b]注意:[/b]Unix 时间戳通常是 UTC 的。本方法不会做任何时区转换,所以时间戳的"
-"时区与给定的日期时间字符串相同。"
+"时区与给定的日期时间字符串相同。\n"
+"[b]注意:[/b]时间字符串中的小数会被静默忽略。"
#: doc/classes/Time.xml
-#, fuzzy
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 "
@@ -76392,7 +77028,9 @@ msgid ""
"returns the timestamp as a [float] for sub-second precision."
msgstr ""
"返回当前的 Unix 时间戳,以秒为单位,基于 UTC 系统时间。本方法由操作系统实现,"
-"返回的时间总是 UTC 的。"
+"返回的时间总是 UTC 的。\n"
+"[b]注意:[/b]与其他使用整数时间戳的方法不同,这个方法返回的是 [float] 类型的"
+"时间戳,可以表示比秒更高的精度。"
#: doc/classes/Time.xml
msgid "The month of January, represented numerically as [code]01[/code]."
@@ -76846,31 +77484,32 @@ msgid ""
msgstr "返回使用正交基(90 度)以及归一化的轴向量(缩放为 1 或 -1)的变换。"
#: doc/classes/Transform.xml
-#, fuzzy
msgid ""
"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 ""
-"使用矩阵乘法,将变换围绕给定的轴旋转给定的角度(单位为弧度)。轴必须是归一化"
-"的向量。"
+"返回该变换的副本,使用矩阵乘法将其围绕给定的轴 [code]axis[/code] 旋转给定的角"
+"度 [code]angle[/code](单位为弧度)。轴 [code]axis[/code] 必须是归一化的向"
+"量。"
#: doc/classes/Transform.xml
-#, fuzzy
msgid ""
"Returns a copy of the transform with its basis and origin scaled by the "
"given [code]scale[/code] factor, using matrix multiplication."
-msgstr "使用矩阵乘法,通过给定的缩放系数,对变换的基和原点进行缩放。"
+msgstr ""
+"返回该变换的副本,使用矩阵乘法,通过给定的缩放系数 [code]scale[/code],对它的"
+"基和原点进行缩放。"
#: doc/classes/Transform.xml doc/classes/Transform2D.xml
-#, fuzzy
msgid ""
"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 ""
-"相对于变换的基向量,将变换按给定的偏移量进行平移。\n"
+"返回该变换的副本,将其相对于该变换的基向量按给定的偏移量 [code]offset[/code] "
+"进行平移。\n"
"与 [method rotated] 和 [method scaled] 不同,它不使用矩阵乘法。"
#: doc/classes/Transform.xml
@@ -76992,18 +77631,20 @@ msgid "Returns the scale."
msgstr "返回缩放。"
#: doc/classes/Transform2D.xml
-#, fuzzy
msgid ""
"Returns a copy of the transform rotated by the given [code]angle[/code] (in "
"radians), using matrix multiplication."
-msgstr "使用矩阵乘法,将变换旋转给定的角度,即弧度。"
+msgstr ""
+"返回该变换的副本,使用矩阵乘法将其旋转给定的角度 [code]angle[/code](单位为弧"
+"度)。"
#: doc/classes/Transform2D.xml
-#, fuzzy
msgid ""
"Returns a copy of the transform scaled by the given [code]scale[/code] "
"factor, using matrix multiplication."
-msgstr "使用矩阵乘法,用给定的缩放系数来缩放变换。"
+msgstr ""
+"返回该变换的副本,使用矩阵乘法将其用给定的缩放系数 [code]scale[/code] 进行缩"
+"放。"
#: doc/classes/Transform2D.xml
msgid ""
@@ -77279,7 +77920,6 @@ msgstr ""
"要获得返回的放置部分相对项,请使用[method get_item_at_position]。"
#: doc/classes/Tree.xml
-#, fuzzy
msgid ""
"Returns the currently edited item. Can be used with [signal item_edited] to "
"get the item that was modified.\n"
@@ -77291,13 +77931,13 @@ msgid ""
" print($Tree.get_edited()) # This item just got edited (e.g. checked).\n"
"[/codeblock]"
msgstr ""
-"返回当前被编辑的项。可以和[signal item_edited]一起使用,获得被修改的项。\n"
+"返回当前被编辑的项。可以和 [signal item_edited] 一起使用,获得被修改的项。\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"
+" print($Tree.get_edited()) # 这个项目刚刚被编辑(例如勾选)。\n"
"[/codeblock]"
#: doc/classes/Tree.xml
@@ -78191,7 +78831,6 @@ msgid "Smoothly animates a node's properties over time."
msgstr "使节点的属性随时间平滑地变化。"
#: doc/classes/Tween.xml
-#, fuzzy
msgid ""
"Tweens are useful for animations requiring a numerical property to be "
"interpolated over a range of values. The name [i]tween[/i] comes from [i]in-"
@@ -78258,7 +78897,9 @@ msgstr ""
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
"tween_cheatsheet.png]Tween 缓动与过渡类型速查表[/url]\n"
"[b]注意:[/b]如果无法完成所请求的操作,Tween 的方法会返回 [code]false[/"
-"code]。"
+"code]。\n"
+"[b]注意:[/b]如果想要使用另一种形式的不需要使用节点的补间动画,请参阅 "
+"[SceneTreeTween]。"
#: doc/classes/Tween.xml
msgid ""
@@ -78599,7 +79240,7 @@ msgstr "[constant EASE_IN] and [constant EASE_OUT]的组合。两端的插值最
#: doc/classes/Tweener.xml
msgid "Abstract class for all Tweeners used by [SceneTreeTween]."
-msgstr ""
+msgstr "[SceneTreeTween] 所使用的所有 Tweener(补间器)的抽象类。"
#: doc/classes/Tweener.xml
msgid ""
@@ -78608,11 +79249,12 @@ msgid ""
"can't be created manually, you need to use a dedicated method from "
"[SceneTreeTween]."
msgstr ""
+"Tweener 是执行特定动画任务的对象,例如对属性进行插值、在给定的时刻调用某个方"
+"法。[Tweener] 无法手动创建,你需要使用 [SceneTreeTween] 中的专用方法。"
#: doc/classes/Tweener.xml
-#, fuzzy
msgid "Emitted when the [Tweener] has just finished its job."
-msgstr "当节点进入树时触发。"
+msgstr "当该 [Tweener] 刚刚完成其任务时触发。"
#: doc/classes/UDPServer.xml
msgid "Helper class to implement a UDP server."
@@ -79693,15 +80335,14 @@ msgstr ""
"vector2_angle_to.png]返回角度的说明。[/url]"
#: doc/classes/Vector2.xml
-#, fuzzy
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/stable/img/"
"vector2_angle_to_point.png]Illustration of the returned angle.[/url]"
msgstr ""
-"返回连接两点的直线与X轴的夹角,单位为弧度。\n"
-"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"返回连接两点的直线与 X 轴的夹角,单位为弧度。\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/stable/img/"
"vector2_angle_to_point.png]返回角度的图示。[/url]"
#: doc/classes/Vector2.xml
@@ -79897,11 +80538,12 @@ msgstr ""
"量。"
#: doc/classes/Vector2.xml
-#, fuzzy
msgid ""
"Returns the vector rotated by [code]angle[/code] (in radians). See also "
"[method @GDScript.deg2rad]."
-msgstr "返回旋转了[code]phi[/code]弧度的向量。参阅[method @GDScript.deg2rad]。"
+msgstr ""
+"返回旋转了 [code]angle[/code] 的向量(单位为弧度)。另请参阅 [method "
+"@GDScript.deg2rad]。"
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
@@ -80004,7 +80646,6 @@ msgid "Vector used for 3D math."
msgstr "用于 3D 数学的向量。"
#: doc/classes/Vector3.xml
-#, fuzzy
msgid ""
"3-element structure that can be used to represent positions in 3D space or "
"any other triplet of numeric values.\n"
@@ -80012,7 +80653,7 @@ msgid ""
"code] if it's equal to [code]Vector3(0, 0, 0)[/code]. Otherwise, a Vector3 "
"will always evaluate to [code]true[/code]."
msgstr ""
-"可用于表示 3D 空间中的位置或任何其他数值对的 3 元素结构。\n"
+"3 元素结构,可用于表示 3D 空间中的位置或任何其他数值三元组。\n"
"[b]注意:[/b]在布尔上下文中,如果 Vector3 等于 [code]Vector3(0, 0, 0)[/"
"code],将评估为 [code]false[/code]。否则, Vector3 将始终评估为 [code]true[/"
"code]。"
@@ -80110,11 +80751,12 @@ msgid "Returns this vector reflected from a plane defined by the given normal."
msgstr "返回从给定法线定义的平面上反射的向量。"
#: doc/classes/Vector3.xml
-#, fuzzy
msgid ""
"Rotates this vector around a given axis by [code]angle[/code] (in radians). "
"The axis must be a normalized vector."
-msgstr "将此向量绕给定的轴旋转 [code]phi[/code] 弧度。该轴必须是归一化的向量。"
+msgstr ""
+"将此向量绕给定的轴旋转 [code]angle[/code](单位为弧度)。该轴必须是归一化的向"
+"量。"
#: doc/classes/Vector3.xml
msgid ""
@@ -80849,6 +81491,9 @@ msgid ""
"Alternative to [constant Node.NOTIFICATION_DRAG_BEGIN] and [constant Node."
"NOTIFICATION_DRAG_END] when you prefer polling the value."
msgstr ""
+"如果该视区目前正在执行拖拽操作,则返回 [code]true[/code]。\n"
+"如果你更倾向于对其进行轮询,那么就可以作为 [constant Node."
+"NOTIFICATION_DRAG_BEGIN] 和 [constant Node.NOTIFICATION_DRAG_END] 的替代品。"
#: doc/classes/Viewport.xml
msgid ""
@@ -86071,6 +86716,26 @@ msgid ""
" $TextureRect.texture = proxy_texture\n"
"[/codeblock]"
msgstr ""
+"在两个纹理之间创建更新链,与 [ViewportTexture] 的原理类似。基础纹理为 "
+"[Viewport] 的纹理时,视区每新渲染一帧,代理纹理就会自动收到更新。\n"
+"例如,此处的代码会利用 VisualServer API 将一张通用的 [ImageTexture] 链接到 "
+"[Viewport] 的纹理输出上:\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]"
#: doc/classes/VisualServer.xml
msgid ""
@@ -87193,16 +87858,17 @@ 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
-#, fuzzy
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 ""
-"Reinhardt tonemapper运算器。通过这个公式对渲染像素的颜色进行变化。"
-"[code]color = color / (1 + color)[/code]."
+"使用 Reinhard 色调映射器。对渲染后的像素颜色进行调整,使用的是这个公式:"
+"[code]color = color / (1 + color)[/code]。可以避免对高光的截断,但最终的图像"
+"可能看上去有些寡淡。"
#: doc/classes/VisualServer.xml
msgid ""
@@ -87210,6 +87876,8 @@ msgid ""
"resulting image that usually looks more vivid than [constant "
"ENV_TONE_MAPPER_REINHARD]."
msgstr ""
+"使用电影级色调映射器。可以避免对高光的截断,最终的图像一般比 [constant "
+"ENV_TONE_MAPPER_REINHARD] 看上去更鲜艳。"
#: doc/classes/VisualServer.xml
msgid ""
@@ -87221,6 +87889,12 @@ msgid ""
"[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 ""
+"使用旧有的 Godot 版本的学院色彩编码系统(Academy Color Encoding System)色调"
+"映射器。与 [constant ENV_TONE_MAPPER_ACES_FITTED] 不同,这个版本的 ACES 对较"
+"亮的光照的处理从物理角度看并不精确。ACES 的输出在对比度方面通常比 [constant "
+"ENV_TONE_MAPPER_REINHARD] 和 [constant ENV_TONE_MAPPER_FILMIC] 更高。\n"
+"[b]注意:[/b]Godot 4.0 中会移除这个色调映射运算子,使用更精确的 [constant "
+"ENV_TONE_MAPPER_ACES_FITTED]。"
#: doc/classes/VisualServer.xml
msgid ""
@@ -87230,6 +87904,10 @@ msgid ""
"has a more contrasted output compared to [constant ENV_TONE_MAPPER_REINHARD] "
"and [constant ENV_TONE_MAPPER_FILMIC]."
msgstr ""
+"使用学院色彩编码系统(Academy Color Encoding System)色调映射器。与其他选项相"
+"比,ACES 的消耗略高,但对于较亮的光照的处理更真实,越亮饱和度越低。ACES 的输"
+"出在对比度方面通常比 [constant ENV_TONE_MAPPER_REINHARD] 和 [constant "
+"ENV_TONE_MAPPER_FILMIC] 更高。"
#: doc/classes/VisualServer.xml
msgid "Lowest quality of screen space ambient occlusion."