diff options
Diffstat (limited to 'doc/translations/zh_CN.po')
-rw-r--r-- | doc/translations/zh_CN.po | 863 |
1 files changed, 572 insertions, 291 deletions
diff --git a/doc/translations/zh_CN.po b/doc/translations/zh_CN.po index a69559f289..cf0267429a 100644 --- a/doc/translations/zh_CN.po +++ b/doc/translations/zh_CN.po @@ -63,7 +63,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-09-08 07:39+0000\n" +"PO-Revision-Date: 2022-09-26 05:24+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" @@ -72,7 +72,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.14.1-dev\n" +"X-Generator: Weblate 4.14.1\n" #: doc/tools/make_rst.py msgid "Description" @@ -828,7 +828,6 @@ msgstr "" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml -#, fuzzy msgid "" "Returns an interpolation or extrapolation factor considering the range " "specified in [code]from[/code] and [code]to[/code], and the interpolated " @@ -855,7 +854,8 @@ msgstr "" "后的值用 [code]weight[/code] 指定。如果 [code]weight[/code] 在 [code]from[/" "code] 和 [code]to[/code] 之间(包含),那么返回的值在 [code]0.0[/code] 和 " "[code]1.0[/code] 之间。如果 [code]weight[/code] 在该范围之外,则返回的是外推" -"因子(返回值小于 [code]0.0[/code] 或大于 [code]1.0[/code])。\n" +"因子(返回值小于 [code]0.0[/code] 或大于 [code]1.0[/code])。如果不希望这样," +"请对 [method inverse_lerp] 的结果使用 [method clamp]。\n" "[codeblock]\n" "# 下面的 `lerp()` 调用时的插值比例是 0.75。\n" "var middle = lerp(20, 30, 0.75)\n" @@ -926,7 +926,6 @@ msgstr "" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml -#, fuzzy msgid "" "Linearly interpolates between two values by the factor defined in " "[code]weight[/code]. To perform interpolation, [code]weight[/code] should be " @@ -950,7 +949,8 @@ msgid "" msgstr "" "在两个值之间按照 [code]weight[/code] 定义的因数进行线性插值。进行插值时," "[code]weight[/code] 应该在 [code]0.0[/code] 和 [code]1.0[/code] 之间(包" -"含)。然而,在此区间外的值也是允许的,可用于执行[i]外推[/i]。\n" +"含)。然而,在此区间外的值也是允许的,可用于执行[i]外推[/i]。如果不希望这样," +"请对 [method lerp] 的结果使用 [method clamp]。\n" "如果 [code]from[/code] 和 [code]to[/code] 参数类型是 [int] 或 [float],返回值" "都是 [float]。\n" "如果两者都是相同的向量类型([Vector2]、[Vector3]或[Color]),返回值将是相同的" @@ -961,7 +961,8 @@ msgstr "" "lerp(Vector2(1, 5), Vector2(3, 2), 0.5) # 返回 Vector2(2, 3.5)\n" "[/codeblock]\n" "另请参阅本操作的逆运算 [method inverse_lerp]。要执行缓动的 [method lerp] 插" -"值,请将其与 [method ease] 或 [method smoothstep] 组合。" +"值,请将其与 [method ease] 或 [method smoothstep] 组合。另请参阅 [method " +"range_lerp],可以将一系列连续的值映射到另一个上。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" @@ -1629,6 +1630,15 @@ msgid "" "For complex use cases where you need multiple ranges, consider using [Curve] " "or [Gradient] instead." msgstr "" +"将范围 [code][istart, istop][/code] 中的值 [code]value[/code] 映射到 [code]" +"[ostart, ostop][/code] 中。另请参阅 [method lerp] 和 [method inverse_lerp]。" +"如果 [code]value[/code] 在 [code][istart, istop][/code] 之外,则结果也会在 " +"[code][ostart, ostop][/code] 之外。如果不希望这样,请对 [method range_lerp] " +"的结果使用 [method clamp]。\n" +"[codeblock]\n" +"range_lerp(75, 0, 100, -1, 1) # 返回 0.5\n" +"[/codeblock]\n" +"如果是更复杂的情况,要用到多个范围,请考虑使用 [Curve] 或 [Gradient] 代替。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" @@ -3713,19 +3723,19 @@ msgstr "游戏手柄 SDL 杂项按钮。" #: doc/classes/@GlobalScope.xml msgid "Gamepad SDL paddle 1 button." -msgstr "游戏手柄 SDL 拨片1按钮。" +msgstr "游戏手柄 SDL 拨片 1 按钮。" #: doc/classes/@GlobalScope.xml msgid "Gamepad SDL paddle 2 button." -msgstr "游戏手柄 SDL 拨片2按钮。" +msgstr "游戏手柄 SDL 拨片 2 按钮。" #: doc/classes/@GlobalScope.xml msgid "Gamepad SDL paddle 3 button." -msgstr "游戏手柄 SDL 拨片3按钮。" +msgstr "游戏手柄 SDL 拨片 3 按钮。" #: doc/classes/@GlobalScope.xml msgid "Gamepad SDL paddle 4 button." -msgstr "游戏手柄 SDL 拨片4按钮。" +msgstr "游戏手柄 SDL 拨片 4 按钮。" #: doc/classes/@GlobalScope.xml msgid "Gamepad SDL touchpad button." @@ -3741,7 +3751,7 @@ msgstr "游戏手柄左扳机键。" #: doc/classes/@GlobalScope.xml msgid "Gamepad left stick click." -msgstr "游戏手柄左键点击。" +msgstr "游戏手柄左摇杆点击。" #: doc/classes/@GlobalScope.xml msgid "Gamepad right Shoulder button." @@ -3753,7 +3763,7 @@ msgstr "游戏手柄的右扳机键。" #: doc/classes/@GlobalScope.xml msgid "Gamepad right stick click." -msgstr "游戏手柄右键单击。" +msgstr "游戏手柄右摇杆点击。" #: doc/classes/@GlobalScope.xml msgid "Gamepad left stick horizontal axis." @@ -4182,8 +4192,8 @@ msgid "" "above the max or below the min values. Example: [code]\"-360,360,1," "or_greater,or_lesser\"[/code]." msgstr "" -"通过提示串[code]\"min,max\"[/code] 或[code]\"min,max,step\"[/code]来提示一个" -"整数或浮点数属性应当落在指定范围内。提示串可以选择性地包含 " +"通过提示串 [code]\"min,max\"[/code] 或 [code]\"min,max,step\"[/code] 来提示一" +"个整数或浮点数属性应当落在指定范围内。提示串可以选择性地包含 " "[code]\"or_greater\"[/code] 与/或 [code]\"or_lesser\"[/code] 来允许手动输入的" "值超过或低于最大最小值。例如:[code]\"-360,360,1,or_greater,or_lesser\"[/" "code]。" @@ -4239,8 +4249,8 @@ msgid "" "easing." msgstr "" "提示一个浮点数属性应当通过指数缓动函数来编辑。此处的提示串可以包含 " -"[code]\"attenuation\"[/code] 来翻转曲线的水平方向,并且/或者也可以通过" -"[code]\"inout\"[/code]来控制是否缓入缓出。" +"[code]\"attenuation\"[/code] 来翻转曲线的水平方向,并且/或者也可以通过 " +"[code]\"inout\"[/code] 来控制是否缓入缓出。" #: doc/classes/@GlobalScope.xml msgid "Deprecated hint, unused." @@ -4335,8 +4345,8 @@ msgid "" "Editing it will show a popup menu of valid resource types to instantiate." msgstr "" "提示一个属性是一个 [Resource] 派生类的实例,可以通过提示字符串指定(例如 " -"[code]\"Texture\"[/code])。编辑该属性时会显示一个列举了可用的待实例化的资源" -"类型的弹出菜单。" +"[code]\"Texture\"[/code])。编辑该属性时会显示一个弹出菜单,列举了可用的待实" +"例化的资源类型。" #: doc/classes/@GlobalScope.xml msgid "" @@ -6013,18 +6023,23 @@ msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "override the text caption for this node." msgstr "" +"继承 [AnimationRootNode] 时,实现这个虚方法可以覆盖这个节点的标题文本。" #: doc/classes/AnimationNode.xml msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "return a child node by its [code]name[/code]." msgstr "" +"继承 [AnimationRootNode] 时,实现这个虚方法可以根据名称 [code]name[/code] 来" +"返回对应的子节点。" #: doc/classes/AnimationNode.xml msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "return all children nodes in order as a [code]name: node[/code] dictionary." msgstr "" +"继承 [AnimationRootNode] 时,实现这个虚方法可以用 [code]名称:节点[/code] 字典" +"的形式按顺序返回所有子节点。" #: doc/classes/AnimationNode.xml msgid "" @@ -6045,41 +6060,40 @@ msgstr "" "中重复使用。" #: doc/classes/AnimationNode.xml -#, fuzzy msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "return the default value of parameter \"[code]name[/code]\". Parameters are " "custom local memory used for your nodes, given a resource can be reused in " "multiple trees." msgstr "" -"获取一个参数的默认值。参数是用于节点的自定义本地内存,给定资源可以在多个树中" -"重用。" +"继承 [AnimationRootNode] 时,实现这个虚方法可以返回参数“[code]name[/code]”的" +"默认值。参数是节点的自定义本地存储,资源可以在多个树中重用。" #: doc/classes/AnimationNode.xml -#, fuzzy msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "return a list of the properties on this node. Parameters are custom local " "memory used for your nodes, given a resource can be reused in multiple " "trees. Format is similar to [method Object.get_property_list]." msgstr "" -"获取参数的属性信息。参数是你的节点使用的自定义本地内存,给定的资源可以在多个" -"树中重复使用。格式类似于[method Object.get_property_list]。" +"继承 [AnimationRootNode] 时,实现这个虚方法可以返回这个节点的属性列表。参数是" +"节点的自定义本地存储,资源可以在多个树中重用。格式与 [method Object." +"get_property_list] 类似。" #: doc/classes/AnimationNode.xml -#, fuzzy msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "return whether the blend tree editor should display filter editing on this " "node." -msgstr "返回 [code]true[/code],是否希望混合树编辑器在此节点上显示过滤器编辑。" +msgstr "" +"继承 [AnimationRootNode] 时,实现这个虚方法可以返回混合树编辑器是否应该在这个" +"节点上显示过滤器编辑。" #: doc/classes/AnimationNode.xml msgid "Returns whether the given path is filtered." msgstr "返回是否对给定的路径进行过滤。" #: doc/classes/AnimationNode.xml -#, fuzzy msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "run some code when this node is processed. The [code]time[/code] parameter " @@ -6091,12 +6105,13 @@ msgid "" "This function should return the time left for the current animation to " "finish (if unsure, pass the value from the main blend being called)." msgstr "" -"用户定义的回调,会在处理自定义节点时调用。时间参数 [code]time[/code] 是一个相" -"对的增量,除非 [code]seek[/code] 是 [code]true[/code],此时它是绝对的时间。\n" -"请在这里调用 [method blend_input]、[method blend_node] 或 [method " +"继承 [AnimationRootNode] 时,实现这个虚方法可以在这个节点进行处理时执行代码。" +"参数 [code]time[/code] 是相对增量,除非 [code]seek[/code] 为 [code]true[/" +"code],此时为绝对时间。\n" +"请在此处调用 [method blend_input]、[method blend_node] 或 [method " "blend_animation] 函数。你也可以使用 [method get_parameter] 和 [method " -"set_parameter] 来修改本地内存。\n" -"这个函数应该返回当前动画完成的剩余时间(如果不确定,请传递被调用的主混合" +"set_parameter] 来修改本地存储。\n" +"这个函数应当返回当前动画还需多少时间完成(不确定的话,请传递调用主混合的" "值)。" #: doc/classes/AnimationNode.xml @@ -6822,7 +6837,6 @@ msgid "" msgstr "按照最短路径从当前状态过渡到另一个状态。" #: doc/classes/AnimationNodeStateMachineTransition.xml -#, fuzzy msgid "" "Turn on auto advance when this condition is set. The provided name will " "become a boolean parameter on the [AnimationTree] that can be controlled " @@ -6837,9 +6851,9 @@ msgid "" msgstr "" "这个条件为真时,将开启自动前进。提供的名称将成为 [AnimationTree] 上的布尔参" "数,可以通过代码控制,请参阅 [url=$DOCS_URL/tutorials/animation/" -"animation_tree.html#controlling-from-code][/url]。例如,如果 [member " -"AnimationTree.tree_root] 是一个 [AnimationNodeStateMachine],[member " -"advance_condition] 被设置为 [code]\"idle\"[/code]:\n" +"animation_tree.html#controlling-from-code]使用 AnimationTree[/url]。例如,如" +"果 [member AnimationTree.tree_root] 是一个 [AnimationNodeStateMachine]," +"[member advance_condition] 被设置为 [code]\"idle\"[/code]:\n" "[codeblock]\n" "$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and " "(linear_velocity.x == 0)\n" @@ -7047,13 +7061,12 @@ msgid "" msgstr "返回 [code]animation[/code] 的名称,如果没有找到,则返回一个空字符串。" #: doc/classes/AnimationPlayer.xml -#, fuzzy msgid "" "Returns the [Animation] with the key [code]name[/code]. If the animation " "does not exist, [code]null[/code] is returned and an error is logged." msgstr "" -"返回键为 [code]name[/code] 的 [Animation] 动画,未找到时为 [code]null[/" -"code]。" +"返回键为 [code]name[/code] 的 [Animation] 动画。如果该动画不存在,将返回 " +"[code]null[/code] 并在日志中记录错误。" #: doc/classes/AnimationPlayer.xml msgid "Returns the list of stored animation names." @@ -7890,10 +7903,13 @@ msgstr "用于检测和物理及音频影响的 3D 区域。" msgid "" "3D area that detects [CollisionObject] nodes overlapping, entering, or " "exiting. Can also alter or override local physics parameters (gravity, " -"damping) and route audio to custom audio buses." +"damping) and route audio to a custom audio bus.\n" +"To give the area its shape, add a [CollisionShape] or a [CollisionPolygon] " +"node as a [i]direct[/i] child (or add multiple such nodes as direct " +"children) of the area.\n" +"[b]Warning:[/b] See [ConcavePolygonShape] (also called \"trimesh\") for a " +"warning about possibly unexpected behavior when using that shape for an area." msgstr "" -"检测 [CollisionObject] 节点重叠、进入或退出的 3D 区域。还可以改变或覆盖局部物" -"理参数(重力、阻尼),并将音频路由到自定义音频总线。" #: doc/classes/Area.xml doc/classes/QuadMesh.xml doc/classes/Viewport.xml #: doc/classes/ViewportTexture.xml @@ -8210,10 +8226,13 @@ msgstr "用于检测、物理和音频影响的 2D 区域。" msgid "" "2D area that detects [CollisionObject2D] nodes overlapping, entering, or " "exiting. Can also alter or override local physics parameters (gravity, " -"damping) and route audio to a custom audio bus." +"damping) and route audio to a custom audio bus.\n" +"To give the area its shape, add a [CollisionShape2D] or a " +"[CollisionPolygon2D] node as a [i]direct[/i] child (or add multiple such " +"nodes as direct children) of the area.\n" +"[b]Warning:[/b] See [ConcavePolygonShape2D] for a warning about possibly " +"unexpected behavior when using that shape for an area." msgstr "" -"检测 [CollisionObject2D] 节点重叠、进入或退出的2D区域。还可以改变或覆盖局部物" -"理参数(重力、阻尼),并将音频路由到一个自定义的音频总线。" #: doc/classes/Area2D.xml msgid "Using Area2D" @@ -8968,8 +8987,8 @@ msgid "" "size is smaller, elements are cleared, if bigger, new elements are " "[code]null[/code]." msgstr "" -"调整数组至包含不同数量的元素。如果数组变小则清除多余元素,变大则新元素为 " -"[code]null[/code]。" +"调整数组的大小,让包含的元素数量发生变化。如果数组变小则清除多余元素,变大则" +"新元素为 [code]null[/code]。" #: doc/classes/Array.xml doc/classes/PoolByteArray.xml #: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml @@ -9142,6 +9161,7 @@ msgstr "" "加曲面之前调用。" #: doc/classes/ArrayMesh.xml +#, fuzzy msgid "" "Creates a new surface.\n" "Surfaces are created to be rendered using a [code]primitive[/code], which " @@ -9156,7 +9176,15 @@ msgid "" "mode\" where the vertex and other arrays become the sources of data and the " "index array defines the vertex order. All sub-arrays must have the same " "length as the vertex array or be empty, except for [constant ARRAY_INDEX] if " -"it is used." +"it is used.\n" +"[code]compress_flags[/code] is a bitfield made of [enum Mesh.ArrayFormat] " +"values. It defaults to [constant Mesh.ARRAY_COMPRESS_DEFAULT].\n" +"[b]Note:[/b] The default [code]compress_flags[/code] enable [constant Mesh." +"ARRAY_COMPRESS_COLOR], which makes vertex colors stored as 8-bit unsigned " +"integers. This will clamp overbright vertex colors to [code]Color(1, 1, 1, 1)" +"[/code] and reduce their precision. To store HDR vertex colors, remove the " +"vertex color compression flag by passing [code]Mesh.ARRAY_COMPRESS_DEFAULT ^ " +"Mesh.ARRAY_COMPRESS_COLOR[/code] as the value of [code]compress_flags[/code]." msgstr "" "创建一个新的面。\n" "创建面是为了使用 [code]primitive[/code] 进行渲染,可以是 [enum Mesh." @@ -11000,7 +11028,6 @@ msgid "Captures audio from an audio bus in real-time." msgstr "从音频总线上实时捕捉音频。" #: doc/classes/AudioEffectCapture.xml -#, fuzzy msgid "" "AudioEffectCapture is an AudioEffect which copies all audio frames from the " "attached audio effect bus into its internal ring buffer.\n" @@ -11018,8 +11045,12 @@ msgstr "" "AudioEffectCapture 是一种 AudioEffect,可将所附音频效果总线的所有音频帧复制到" "其内部的环形缓冲器中。\n" "应用程序代码应使用 [method get_buffer] 从该环形缓冲器中消耗这些音频帧,并根据" -"需要进行处理,例如从麦克风捕获数据、实现应用程序定义的效果或通过网络传输音" -"频。从麦克风捕获音频数据时,样本的格式为立体声 32 位浮点数 PCM。" +"需要进行处理,例如从 [AudioStreamMicrophone] 捕获数据、实现应用程序定义的效果" +"或通过网络传输音频。从麦克风捕获音频数据时,样本的格式为立体声 32 位浮点数 " +"PCM。\n" +"[b]注意:[/b][member ProjectSettings.audio/enable_audio_input] 必须为 " +"[code]true[/code] 音频输入才能正常工作。另请参阅该设置项的描述,了解权限和操" +"作系统隐私设置相关的说明。" #: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml #: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml @@ -11963,6 +11994,10 @@ msgid "" "description for caveats related to permissions and operating system privacy " "settings." msgstr "" +"返回系统中检测到的所有音频输入设备的名称。\n" +"[b]注意:[/b][member ProjectSettings.audio/enable_audio_input] 必须为 " +"[code]true[/code] 音频输入才能正常工作。另请参阅该设置项的描述,了解权限和操" +"作系统隐私设置相关的说明。" #: doc/classes/AudioServer.xml msgid "Generates an [AudioBusLayout] using the available buses and effects." @@ -12138,7 +12173,6 @@ msgid "Number of available audio buses." msgstr "可用音频总线的数量。" #: doc/classes/AudioServer.xml -#, fuzzy msgid "" "Name of the current device for audio input (see [method " "capture_get_device_list]). On systems with multiple audio inputs (such as " @@ -12151,10 +12185,13 @@ msgid "" "description for caveats related to permissions and operating system privacy " "settings." msgstr "" -"当前音频输出设备的名称(见 [method get_device_list])。在具有多个音频输出的系" -"统中(例如模拟、USB、HDMI 音频),可用于选择音频输出设备。为 " +"当前音频输出设备的名称(见 [method capture_get_device_list])。在具有多个音频" +"输出的系统中(例如模拟、USB、HDMI 音频),可用于选择音频输出设备。为 " "[code]\"Default\"[/code] 时会从系统默认的音频输出播放音频。如果设置了无效的设" -"备名称,该值会被恢复为 [code]\"Default\"[/code]。" +"备名称,该值会被恢复为 [code]\"Default\"[/code]。\n" +"[b]注意:[/b][member ProjectSettings.audio/enable_audio_input] 必须为 " +"[code]true[/code] 音频输入才能正常工作。另请参阅该设置项的描述,了解权限和操" +"作系统隐私设置相关的说明。" #: doc/classes/AudioServer.xml msgid "" @@ -12340,7 +12377,7 @@ msgstr "" #: doc/classes/AudioStreamMicrophone.xml msgid "Plays real-time audio input data." -msgstr "" +msgstr "播放实时音频输入数据。" #: doc/classes/AudioStreamMicrophone.xml msgid "" @@ -12352,6 +12389,11 @@ msgid "" "description for caveats related to permissions and operating system privacy " "settings." msgstr "" +"在 [AudioStreamPlayer] 节点中直接使用时,[AudioStreamMicrophone] 会实时播放麦" +"克风的输入。可以与 [AudioEffectCapture] 配合使用,对数据进行处理或保存。\n" +"[b]注意:[/b][member ProjectSettings.audio/enable_audio_input] 必须为 " +"[code]true[/code] 音频输入才能正常工作。另请参阅该设置项的描述,了解权限和操" +"作系统隐私设置相关的说明。" #: modules/minimp3/doc_classes/AudioStreamMP3.xml msgid "MP3 audio stream driver." @@ -12504,7 +12546,6 @@ msgid "Plays positional sound in 2D space." msgstr "在 2D 空间中播放与位置相关的声音。" #: doc/classes/AudioStreamPlayer2D.xml -#, fuzzy msgid "" "Plays audio that dampens with distance from a given position.\n" "By default, audio is heard from the screen center. This can be changed by " @@ -12516,7 +12557,9 @@ msgid "" "[member volume_db] to a very low value like [code]-100[/code] (which isn't " "audible to human hearing)." msgstr "" -"播放音频,随着与屏幕中心的距离而减弱。\n" +"播放音频,随着与给定位置的距离而减弱。\n" +"默认情况下,音频是从屏幕中心收听的。要修改这个位置,可以在场景中添加一个 " +"[Listener2D] 节点,并通过调用 [method Listener2D.make_current] 将其启用。\n" "另请参阅 [AudioStreamPlayer] 来播放非位置性的声音。\n" "[b]注意:[/b]隐藏 [AudioStreamPlayer2D] 节点并不能禁用其音频输出。要暂时禁用 " "[AudioStreamPlayer2D] 的音频输出,请将 [member volume_db] 设置为非常低的值," @@ -14564,7 +14607,6 @@ msgid "" msgstr "启用或禁用 [member cull_mask] 中给定的 [code]layer[/code]。" #: doc/classes/Camera.xml -#, fuzzy msgid "" "Sets the camera projection to frustum mode (see [constant " "PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/" @@ -14573,7 +14615,8 @@ msgid "" msgstr "" "通过指定大小 [code]size[/code] 、偏移量 [code]offset[/code] 以及以世界空间为" "单位的 [code]z_near[/code] 和 [code]z_far[/code] 裁剪平面,将相机投影设置为视" -"锥模式(请参阅 [constant PROJECTION_FRUSTUM])。" +"锥模式(请参阅 [constant PROJECTION_FRUSTUM])。另请参阅 [member " +"frustum_offset]。" #: doc/classes/Camera.xml msgid "" @@ -14698,7 +14741,6 @@ msgstr "" "- 在 21:9 视窗中约117.06 度" #: doc/classes/Camera.xml -#, fuzzy msgid "" "The camera's frustum offset. This can be changed from the default to create " "\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-" @@ -14706,8 +14748,10 @@ msgid "" "[b]Note:[/b] Only effective if [member projection] is [constant " "PROJECTION_FRUSTUM]." msgstr "" -"相机的机身偏移。可以更改默认值,以创建 \"倾斜frustum \"效果,如[url=https://" -"zdoom.org/wiki/Y-shearing]Y-shearing[/url]。" +"相机的机身偏移。可以更改默认值,以创建“倾斜平截头体”效果,如 [url=https://" +"zdoom.org/wiki/Y-shearing]Y-shearing[/url]。\n" +"[b]注意:[/b]仅在 [member projection] 为 [constant PROJECTION_FRUSTUM] 时有" +"效。" #: doc/classes/Camera.xml msgid "The horizontal (X) offset of the camera viewport." @@ -14742,6 +14786,8 @@ msgid "" "depending on [member keep_aspect]. Only applicable in orthogonal and frustum " "modes." msgstr "" +"该相机的大小,单位为米,描述的是完整的宽度或者高度,取决于 [member " +"keep_aspect]。仅适用于正交和平截头体模式。" #: doc/classes/Camera.xml msgid "The vertical (Y) offset of the camera viewport." @@ -15320,7 +15366,6 @@ msgid "Base class of anything 2D." msgstr "任何 2D 对象的基类。" #: doc/classes/CanvasItem.xml -#, fuzzy msgid "" "Base class of anything 2D. Canvas items are laid out in a tree; children " "inherit and extend their parent's transform. [CanvasItem] is extended by " @@ -15350,13 +15395,13 @@ msgstr "" "任何 2D 对象的基类。画布项目(Canvas Item)以树状排列;子节点继承并扩展其父节" "点的变换。[CanvasItem] 由 [Control] 扩展为任何 GUI 相关的东西,由 [Node2D] 扩" "展为任何 2D 引擎相关的东西。\n" -"任何 [CanvasItem] 都可以绘图。要绘图就必须调用 [method update],然后就会在空" -"闲时接收到 [constant NOTIFICATION_DRAW] 来请求重绘。因此画布项目不需要每一帧" -"都重绘,大大提升了性能。提供了几个用于在 [CanvasItem] 上绘图的函数(请参阅 " -"[code]draw_*[/code] 函数)。但是,它们只能在 [method Object._notification]、" -"信号或虚函数 [method _draw] 内部使用。\n" -"画布项目是按树状顺序绘制的。默认情况下,子项目在其父项目的顶部,因此根" -"[CanvasItem]将被画在所有项目的后面。这种行为可以在每个项目的基础上进行更" +"任何 [CanvasItem] 都可以绘图。绘图时,引擎会调用 [method update],然后就会在" +"空闲时接收到 [constant NOTIFICATION_DRAW] 来请求重绘。因此画布项目不需要每一" +"帧都重绘,大大提升了性能。提供了几个用于在 [CanvasItem] 上绘图的函数(请参阅 " +"[code]draw_*[/code] 函数)。不过它们都只能在 [method _draw] 及其对应的 " +"[method Object._notification] 或 [signal draw] 内部使用。\n" +"画布项目是按树状顺序绘制的。默认情况下,子项目在其父项目的顶部,因此根 " +"[CanvasItem] 将被画在所有项目的后面。这种行为可以在每个项目的基础上进行更" "改。\n" "[CanvasItem] 也可以被隐藏,这也将隐藏其子项目。它提供了许多方法来改变参数,如" "调制(对它自己和它的子项目)和自调制(只对它自己),以及它的混合模式。\n" @@ -15375,18 +15420,15 @@ msgid "Custom drawing in 2D" msgstr "2D 中的自定义绘图" #: doc/classes/CanvasItem.xml -#, fuzzy msgid "" "Called when [CanvasItem] has been requested to redraw (when [method update] " "is called, either manually or by the engine).\n" "Corresponds to the [constant NOTIFICATION_DRAW] notification in [method " "Object._notification]." msgstr "" -"当节点进入 [SceneTree] 时调用(例如实例化时,场景改变时,或者在脚本中调用 " -"[method add_child] 后)。如果节点有子节点,则首先调用它的 [method " -"_enter_tree] 回调函数,然后再调用子节点的回调函数。\n" -"对应于 [method Object._notification] 中的 [constant NOTIFICATION_ENTER_TREE] " -"通知。" +"当 [CanvasItem] 被请求重绘时调用(手动调用或者引擎调用 [method update] " +"时)。\n" +"对应于 [method Object._notification] 中的 [constant NOTIFICATION_DRAW] 通知。" #: doc/classes/CanvasItem.xml msgid "" @@ -15690,9 +15732,10 @@ msgid "" "[/codeblock]\n" "See also [method Font.draw]." msgstr "" -"使用指定的[code]font[/code]在[code]position[/code]绘制[code]text[/code](左下" -"角作为字体的基线)。该文本的颜色将乘以[code]modulate[/code]。如果" -"[code]clip_w[/code]大于或等于0,文本超过了指定的宽度,将被裁剪。\n" +"使用指定的字体 [code]font[/code] 在 [code]position[/code] 位置绘制 " +"[code]text[/code](位置为字体基线的左下角)。该文本的颜色将乘以 " +"[code]modulate[/code]。如果 [code]clip_w[/code] 大于等于 0,文本超过了指定的" +"宽度时会被裁剪。\n" "[b]使用项目默认字体的例子:[/b]\n" "[codeblock]\n" "# 如果在不断重绘的脚本中使用此方法,\n" @@ -15701,7 +15744,7 @@ msgstr "" "var default_font = Control.new().get_font(\"font\")\n" "draw_string(default_font, Vector2(64, 64), \"Hello world\")\n" "[/codeblock]\n" -"参阅[method Font.draw]。" +"另请参阅 [method Font.draw]。" #: doc/classes/CanvasItem.xml msgid "Draws a styled rectangle." @@ -15817,7 +15860,6 @@ msgid "" msgstr "如果将全局变换通知传达给子级,则返回 [code]true[/code]。" #: doc/classes/CanvasItem.xml -#, fuzzy msgid "" "Returns [code]true[/code] if the node is present in the [SceneTree], its " "[member visible] property is [code]true[/code] and all its antecedents are " @@ -15826,7 +15868,7 @@ msgid "" msgstr "" "如果该节点位于 [SceneTree] 中,并且其 [member visible] 属性为 [code]true[/" "code],并且其所有上层节点也均可见,则返回 [code]true[/code]。如果任何上层节点" -"被隐藏,则该节点在场景树中将不可见。" +"被隐藏,则该节点在场景树中将不可见,因此也不会进行绘制(见 [method _draw])。" #: doc/classes/CanvasItem.xml msgid "Assigns [code]screen_point[/code] as this node's new local transform." @@ -15886,6 +15928,9 @@ msgid "" "This only occurs [b]once[/b] per frame, even if this method has been called " "multiple times." msgstr "" +"将该 [CanvasItem] 加入重绘队列。空闲时,如果 [CanvasItem] 可见,则会发送 " +"[constant NOTIFICATION_DRAW] 并调用 [method _draw]。即便多次调用这个方法,每" +"帧也都只会发生[b]一次[/b]绘制。" #: doc/classes/CanvasItem.xml msgid "" @@ -15932,11 +15977,11 @@ msgid "" "visible is to call one of the multiple [code]popup*()[/code] functions " "instead." msgstr "" -"如果为 [code]true[/code],这个[CanvasItem]被绘制。只有当它的所有父节点也可见" -"时,该节点才是可见的(换句话说,[method is_visible_in_tree]必须返回 " +"如果为 [code]true[/code],这个 [CanvasItem] 被绘制。只有当它的所有父节点也可" +"见时,该节点才是可见的(换句话说,[method is_visible_in_tree] 必须返回 " "[code]true[/code])。\n" -"[b]注意:[/b]对于继承了[Popup]的控件,使其可见的正确方法是调用多个" -"[code]popup*()[/code]函数之一。" +"[b]注意:[/b]对于继承了 [Popup] 的控件,使其可见的正确方法是调用多个 " +"[code]popup*()[/code] 函数之一。" #: doc/classes/CanvasItem.xml msgid "" @@ -15946,6 +15991,9 @@ msgid "" "[b]Note:[/b] Deferred connections do not allow drawing through the " "[code]draw_*[/code] methods." msgstr "" +"当该 [CanvasItem] 必须重绘时发出,发生在相关的 [constant NOTIFICATION_DRAW] " +"通知[i]之后[/i],调用 [method _draw] [i]之前[/i]。\n" +"[b]注意:[/b]延迟连接无法使用 [code]draw_*[/code] 方法进行绘制。" #: doc/classes/CanvasItem.xml msgid "Emitted when becoming hidden." @@ -16014,21 +16062,20 @@ msgstr "" "set_notify_local_transform] 启用时,才会收到这个通知。" #: doc/classes/CanvasItem.xml -#, fuzzy msgid "The [CanvasItem] is requested to draw (see [method _draw])." -msgstr "要求绘制[CanvasItem]。" +msgstr "要求绘制该 [CanvasItem](见 [method _draw])。" #: doc/classes/CanvasItem.xml msgid "The [CanvasItem]'s visibility has changed." -msgstr "[CanvasItem]的可见性已更改。" +msgstr "该 [CanvasItem] 的可见性已更改。" #: doc/classes/CanvasItem.xml msgid "The [CanvasItem] has entered the canvas." -msgstr "[CanvasItem]已进入画布。" +msgstr "该 [CanvasItem] 已进入画布。" #: doc/classes/CanvasItem.xml msgid "The [CanvasItem] has exited the canvas." -msgstr "[CanvasItem]已退出画布。" +msgstr "该 [CanvasItem] 已退出画布。" #: doc/classes/CanvasItemMaterial.xml msgid "A material for [CanvasItem]s." @@ -16173,6 +16220,9 @@ msgid "" "Together with [member follow_viewport_scale] it can be used for a pseudo 3D " "effect." msgstr "" +"启用时,该 [CanvasLayer] 会使用视区的变换,所以它会随相机移动,而不是保持在屏" +"幕上的某个固定位置。\n" +"与 [member follow_viewport_scale] 配合可以实现伪 3D 效果。" #: doc/classes/CanvasLayer.xml msgid "" @@ -16802,25 +16852,25 @@ msgstr "返回所有可用类的名称。" msgid "" "Returns the names of all the classes that directly or indirectly inherit " "from [code]class[/code]." -msgstr "返回直接或间接继承自[code]class[/code]的所有类的名称。" +msgstr "返回所有直接或间接继承自 [code]class[/code] 的类的名称。" #: doc/classes/ClassDB.xml msgid "Returns the parent class of [code]class[/code]." -msgstr "返回 [code]class[/code]的父类。" +msgstr "返回 [code]class[/code] 的父类。" #: doc/classes/ClassDB.xml msgid "Creates an instance of [code]class[/code]." -msgstr "创建[code]class[/code]的实例。" +msgstr "创建 [code]class[/code] 的实例。" #: doc/classes/ClassDB.xml msgid "Returns whether this [code]class[/code] is enabled or not." -msgstr "返回是否启用此[code]class[/code]。" +msgstr "返回这个 [code]class[/code] 是否已启用。" #: doc/classes/ClassDB.xml msgid "" "Returns whether [code]inherits[/code] is an ancestor of [code]class[/code] " "or not." -msgstr "返回 [code]inherits[/code]是否是[code]class[/code]的祖先。" +msgstr "返回 [code]inherits[/code] 是否为 [code]class[/code] 的祖先。" #: doc/classes/ClippedCamera.xml msgid "A [Camera] that includes collision." @@ -16860,7 +16910,7 @@ msgid "" "[b]Note:[/b] Bit indices range from 0-19." msgstr "" "如果指定的位索引打开,则返回 [code]true[/code]。\n" -"[b]注意:[/b]位索引的范围是0-19。" +"[b]注意:[/b]位索引的范围是 0-19。" #: doc/classes/ClippedCamera.xml msgid "Removes a collision exception with the specified node." @@ -16875,8 +16925,8 @@ msgid "" "Sets the specified bit index to the [code]value[/code].\n" "[b]Note:[/b] Bit indices range from 0-19." msgstr "" -"将指定的位索引设置为[code]value[/code]。\n" -"[b]注意:[/b]位索引的范围是0-19。" +"将指定的位索引设置为 [code]value[/code]。\n" +"[b]注意:[/b]位索引的范围是 0-19。" #: doc/classes/ClippedCamera.xml msgid "If [code]true[/code], the camera stops on contact with [Area]s." @@ -16905,7 +16955,7 @@ msgstr "相机的碰撞距离。相机与碰撞物体的距离不能超过这个 #: doc/classes/ClippedCamera.xml msgid "The camera's process callback. See [enum ProcessMode]." -msgstr "相机的过程回调。请参阅 [enum ProcessMode]。" +msgstr "相机的处理回调。见 [enum ProcessMode]。" #: doc/classes/CollisionObject.xml msgid "Base node for collision objects." @@ -16949,14 +16999,14 @@ msgid "" "Returns whether or not the specified [code]bit[/code] of the [member " "collision_layer] is set." msgstr "" -"返回是否设置了碰撞层 [member collision_layer] 的指定位[code]bit[/code]。" +"返回是否设置了碰撞层 [member collision_layer] 的指定位 [code]bit[/code]。" #: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml msgid "" "Returns whether or not the specified [code]bit[/code] of the [member " "collision_mask] is set." msgstr "" -"返回是否设置了碰撞掩码 [member collision_mask] 的指定位[code]bit[/code]。" +"返回是否设置了碰撞掩码 [member collision_mask] 的指定位 [code]bit[/code]。" #: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml #: doc/classes/Navigation2D.xml @@ -16969,7 +17019,7 @@ msgid "" "ids in other methods that take [code]owner_id[/code] as an argument." msgstr "" "返回一个 [code]owner_id[/code] 标识符的 [Array]。你可以在其他使用 " -"[code]owner_id[/code] 作为参数的方法中使用这些id。" +"[code]owner_id[/code] 作为参数的方法中使用这些 ID。" #: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml msgid "If [code]true[/code], the shape owner and its shapes are disabled." @@ -16980,32 +17030,34 @@ msgid "Removes the given shape owner." msgstr "移除给定形状的所有者。" #: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +#, fuzzy msgid "" "If [code]value[/code] is [code]true[/code], sets the specified [code]bit[/" -"code] in the the [member collision_layer].\n" +"code] in the [member collision_layer].\n" "If [code]value[/code] is [code]false[/code], clears the specified [code]bit[/" -"code] in the the [member collision_layer]." +"code] in the [member collision_layer]." msgstr "" -"如果[code]value[/code]为 [code]true[/code],则设置[member collision_layer]中" -"指定的[code]bit[/code]位。\n" -"如果[code]value[/code]为 [code]false[/code],清除[member collision_layer]中指" -"定的 [code]bit[/code]位。" +"如果 [code]value[/code] 为 [code]true[/code],则设置 [member " +"collision_layer] 中指定的 [code]bit[/code] 位。\n" +"如果 [code]value[/code] 为 [code]false[/code],清除 [member collision_layer] " +"中指定的 [code]bit[/code] 位。" #: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +#, fuzzy msgid "" "If [code]value[/code] is [code]true[/code], sets the specified [code]bit[/" -"code] in the the [member collision_mask].\n" +"code] in the [member collision_mask].\n" "If [code]value[/code] is [code]false[/code], clears the specified [code]bit[/" -"code] in the the [member collision_mask]." +"code] in the [member collision_mask]." msgstr "" -"如果[code]value[/code]为 [code]true[/code],则设置[member collision_mask]中指" -"定的[code]bit[/code]位。\n" -"如果[code]value[/code]为 [code]false[/code],清除[member collision_mask]中指" -"定的 [code]bit[/code]位。" +"如果 [code]value[/code] 为 [code]true[/code],则设置 [member collision_mask] " +"中指定的 [code]bit[/code] 位。\n" +"如果 [code]value[/code] 为 [code]false[/code],清除 [member collision_mask] " +"中指定的 [code]bit[/code] 位。" #: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml msgid "Returns the [code]owner_id[/code] of the given shape." -msgstr "返回指定形状的[code]owner_id[/code]。" +msgstr "返回指定形状的 [code]owner_id[/code]。" #: doc/classes/CollisionObject.xml msgid "Adds a [Shape] to the shape owner." @@ -17375,13 +17427,15 @@ msgid "Node that represents collision shape data in 3D space." msgstr "表示 3D 空间中的碰撞形状数据的节点。" #: doc/classes/CollisionShape.xml +#, fuzzy msgid "" -"Editor facility for creating and editing collision shapes in 3D space. You " -"can use this node to represent all sorts of collision shapes, for example, " -"add this to an [Area] to give it a detection shape, or add it to a " -"[PhysicsBody] to create a solid object. [b]IMPORTANT[/b]: this is an Editor-" -"only helper to create shapes, use [method CollisionObject." -"shape_owner_get_shape] to get the actual shape." +"Editor facility for creating and editing collision shapes in 3D space. Set " +"the [member shape] property to configure the shape. [b]IMPORTANT[/b]: this " +"is an Editor-only helper to create shapes, use [method CollisionObject." +"shape_owner_get_shape] to get the actual shape.\n" +"You can use this node to represent all sorts of collision shapes, for " +"example, add this to an [Area] to give it a detection shape, or add it to a " +"[PhysicsBody] to create a solid object." msgstr "" "用于在 3D 空间中创建和编辑碰撞形状的编辑工具。您可以使用此节点表示各种碰撞形" "状,例如,将其添加到 [Area] 以使其具有检测形状,或将其添加到物理体 " @@ -17421,13 +17475,15 @@ msgid "Node that represents collision shape data in 2D space." msgstr "表示2D空间中的碰撞形状数据的节点。" #: doc/classes/CollisionShape2D.xml +#, fuzzy msgid "" -"Editor facility for creating and editing collision shapes in 2D space. You " -"can use this node to represent all sorts of collision shapes, for example, " -"add this to an [Area2D] to give it a detection shape, or add it to a " -"[PhysicsBody2D] to create a solid object. [b]IMPORTANT[/b]: this is an " -"Editor-only helper to create shapes, use [method CollisionObject2D." -"shape_owner_get_shape] to get the actual shape." +"Editor facility for creating and editing collision shapes in 2D space. Set " +"the [member shape] property to configure the shape. [b]IMPORTANT[/b]: this " +"is an Editor-only helper to create shapes, use [method CollisionObject2D." +"shape_owner_get_shape] to get the actual shape.\n" +"You can use this node to represent all sorts of collision shapes, for " +"example, add this to an [Area2D] to give it a detection shape, or add it to " +"a [PhysicsBody2D] to create a solid object." msgstr "" "编辑器功能,用于在2D空间中创建和编辑碰撞形状。您可以使用此节点表示各种碰撞形" "状,例如,将其添加到 [Area2D] 以提供检测形状,或将其添加到 [PhysicsBody2D] 以" @@ -18761,13 +18817,16 @@ msgid "" "area. This shape is created by feeding a list of triangles.\n" "[b]Note:[/b] When used for collision, [ConcavePolygonShape] is intended to " "work with static [PhysicsBody] nodes like [StaticBody] and will not work " -"with [KinematicBody] or [RigidBody] with a mode other than Static." +"with [KinematicBody] or [RigidBody] with a mode other than Static.\n" +"[b]Warning:[/b] Using this shape for an [Area] (via a [CollisionShape] node, " +"created e.g. by using the [i]Create Trimesh Collision Sibling[/i] option in " +"the [i]Mesh[/i] menu that appears when selecting a [MeshInstance] node) may " +"give unexpected results: when using Godot Physics, the area will only detect " +"collisions with the triangle faces in the [ConcavePolygonShape] (and not " +"with any \"inside\" of the shape, for example), and when using Bullet " +"Physics the area will not detect any collisions with the concave shape at " +"all (this is a known bug)." msgstr "" -"凹多边形形状资源,可设置为[PhysicsBody]或区域。这个形状是通过提供一个三角形列" -"表来创建的。\n" -"[b]注意:[/b]用于碰撞时,[ConcavePolygonShape] 旨在与静态 [PhysicsBody] 节点" -"一起使用,如 [StaticBody],并且不适用于具有非静态模式的 [KinematicBody] 或 " -"[RigidBody]。" #: doc/classes/ConcavePolygonShape.xml msgid "Returns the faces (an array of triangles)." @@ -18782,6 +18841,7 @@ msgid "Concave polygon 2D shape resource for physics." msgstr "凹面多边形2D形状资源用于物理。" #: doc/classes/ConcavePolygonShape2D.xml +#, fuzzy msgid "" "Concave polygon 2D shape resource for physics. It is made out of segments " "and is optimal for complex polygonal concave collisions. However, it is not " @@ -18792,7 +18852,11 @@ msgid "" "The main difference between a [ConvexPolygonShape2D] and a " "[ConcavePolygonShape2D] is that a concave polygon assumes it is concave and " "uses a more complex method of collision detection, and a convex one forces " -"itself to be convex in order to speed up collision detection." +"itself to be convex in order to speed up collision detection.\n" +"[b]Warning:[/b] Using this shape for an [Area2D] (via a [CollisionShape2D] " +"node) may give unexpected results: the area will only detect collisions with " +"the segments in the [ConcavePolygonShape2D] (and not with any \"inside\" of " +"the shape, for example)." msgstr "" "凹面多边形2D形状资源用于物理。它是由线段组成的,是复杂的多边形凹面碰撞的最佳" "选择。但是,建议不要将其用于[RigidBody2D]节点。建议使用凸分解模式(实体)或多" @@ -19876,6 +19940,9 @@ msgid "" "[b]Note[/b]: Using this method together with [method Object.call_deferred] " "makes it more reliable, especially when called inside [method Node._ready]." msgstr "" +"从别的控件上窃取焦点,成为聚焦的控件(见 [member focus_mode])。\n" +"[b]注意:[/b]这个方法与 [method Object.call_deferred] 配合使用更加可靠,尤其" +"是在 [method Node._ready] 中使用时。" #: doc/classes/Control.xml msgid "" @@ -23316,7 +23383,6 @@ msgid "A mathematic curve." msgstr "数学曲线。" #: doc/classes/Curve.xml -#, fuzzy msgid "" "A curve that can be saved and re-used for other objects. By default, it " "ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions " @@ -23325,7 +23391,8 @@ msgid "" "[Curve2D] and [Curve3D]." msgstr "" "可以保存并重新用于其他对象的曲线。默认情况下,它在 Y 轴上的范围在 [code]0[/" -"code] 到 [code]1[/code] 之间,并且位置点相对于 [code]0.5[/code] Y 位置。" +"code] 到 [code]1[/code] 之间,并且位置点相对于 [code]0.5[/code] Y 位置。\n" +"另请参阅为颜色插值设计的 [Gradient]。另请参阅 [Curve2D] 和 [Curve3D]。" #: doc/classes/Curve.xml msgid "" @@ -23487,7 +23554,6 @@ msgstr "" "它保留了沿曲线的预计算点的缓存,以加快进一步的计算。" #: doc/classes/Curve2D.xml doc/classes/Curve3D.xml -#, fuzzy msgid "" "Adds a point with the specified [code]position[/code] relative to the " "curve's own position, with control points [code]in[/code] and [code]out[/" @@ -23499,13 +23565,12 @@ msgid "" "exceed the number of existing points in the line. See [method " "get_point_count]." msgstr "" -"在曲线的 [code]position[/code] 上添加一个点,相对于该 [Curve2D] 的位置,以及" -"控制点 [code]in[/code] 和 [code]out[/code]。\n" -"如果给定了 [code]at_position[/code],这个点会被插入到点号 [code]at_position[/" -"code] 之前,并将这个点(以及之后的每一个点)移到被插入点之后。如果 " -"[code]at_position[/code] 没有给定,或者是非法值([code]at_position <0[/code] " -"或 [code]at_position >= [method get_point_count][/code]),该点将被追加在点列" -"表的最后。" +"在指定的位置 [code]position[/code] 上添加一个点,相对于该曲线自身的位置,控制" +"点为 [code]in[/code] 和 [code]out[/code]。新的点会被加入到点的列表末尾。\n" +"如果给定了索引 [code]index[/code],这个新点会被插入到 [code]index[/code] 所对" +"应的现存点之前。从 [code]index[/code] 往后的所有现存点都会在列表中往后移一" +"位。该索引必须大于等于 [code]0[/code],不能够超出线段上现存点的数量。见 " +"[method get_point_count]。" #: doc/classes/Curve2D.xml doc/classes/Curve3D.xml msgid "" @@ -30211,6 +30276,10 @@ msgid "" "line feed characters ([code]\\n[/code], LF) represent a new line (Unix " "convention)." msgstr "" +"以 [String] 形式返回整个文件。文本会按照 UTF-8 编码解析。\n" +"如果 [code]skip_cr[/code] 为 [code]true[/code],解析 UTF-8 时会忽略回车符" +"([code]\\r[/code],CR),只使用换行符([code]\\n[/code],LF)表示新一行的开" +"始(Unix 规范)。" #: doc/classes/File.xml msgid "Returns next [code]len[/code] bytes of the file as a [PoolByteArray]." @@ -30992,7 +31061,6 @@ msgstr "" "另请参阅 [method CanvasItem.draw_string]。" #: doc/classes/Font.xml -#, fuzzy msgid "" "Draw character [code]char[/code] into a canvas item using the font at a " "given position, with [code]modulate[/code] color, and optionally kerning if " @@ -31007,7 +31075,9 @@ msgstr "" "[code]modulate[/code],并且会根据宽度做裁剪,如果传入了 [code]next[/code] 还" "会利用到字偶距。[code]position[/code] 指定的是基线,而不是顶部。要从顶部绘" "制,必须在 Y 轴上加上[i]字体的升部大小[/i]。该函数返回的是字符所使用的宽度," -"因此用来逐字符绘制字符串非常方便。" +"因此用来逐字符绘制字符串非常方便。\n" +"如果 [code]outline[/code] 为 [code]true[/code],则绘制的是该字符的轮廓而不是" +"该字符本身。" #: doc/classes/Font.xml msgid "Returns the font ascent (number of pixels above the baseline)." @@ -31068,7 +31138,7 @@ msgstr "返回字体的减少量(低于基线的像素数)。" #: doc/classes/Font.xml msgid "Returns the total font height (ascent plus descent) in pixels." -msgstr "返回总体字体的高度(增加和减少),单位是像素。" +msgstr "返回字体的总高度(升部加降部),单位为像素。" #: doc/classes/Font.xml msgid "" @@ -32955,7 +33025,6 @@ msgid "" msgstr "颜色插值器资源,可用于在用户定义的颜色点之间生成颜色。" #: doc/classes/Gradient.xml -#, fuzzy msgid "" "Given a set of colors, this resource will interpolate them in order. This " "means that if you have color 1, color 2 and color 3, the gradient will " @@ -32969,7 +33038,8 @@ msgstr "" "给定一组颜色,这个资源将依次两两插值。这意味着,如果你有颜色 1、颜色 2和颜色 " "3,渐变将从颜色 1 插值到颜色2、从颜色 2 插值到颜色 3。渐变最初有两种颜色(黑" "色和白色),一种(黑色)位于渐变较低的偏移量 0 处,另一种(白色)位于渐变较高" -"的偏移量 1 处。" +"的偏移量 1 处。\n" +"另请参阅 [Curve],支持更多复杂的缓动函数,但不支持颜色。" #: doc/classes/Gradient.xml msgid "" @@ -34629,7 +34699,6 @@ msgid "Low-level hyper-text transfer protocol client." msgstr "低级别的超文本传输协议客户端。" #: doc/classes/HTTPClient.xml -#, fuzzy msgid "" "Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used " "to make HTTP requests to download web content, upload files and other data " @@ -34664,8 +34733,8 @@ msgid "" "managed certificates with a short validity period." msgstr "" "超文本传输协议客户端,有时称为“用户代理”。用于发出 HTTP 请求,以下载网络内" -"容、上传文件和其他数据,或与各种服务进行通信,以及其他情况。[b]更高级的替代方" -"案请参阅 [HTTPRequest] 节点[/b] 。\n" +"容、上传文件和其他数据,或与各种服务进行通信,以及其他情况。\n" +"更高级的替代方案请参阅 [HTTPRequest] 节点。\n" "[b]注意:[/b]这个客户端只需要连接主机一次就可以发送多个请求,参阅 [method " "connect_to_host]。因此,获取 URL 的方法通常只获取主机后面的部分,而不是完整" "的 URL,因为客户端已经连接到了一个主机。参阅 [method request]以获得完整的例" @@ -37710,7 +37779,6 @@ msgid "Stops the vibration of the joypad." msgstr "停止游戏手柄的振动。" #: doc/classes/Input.xml -#, fuzzy msgid "" "Vibrate handheld devices.\n" "[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n" @@ -37721,10 +37789,12 @@ msgid "" "[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not " "support this method." msgstr "" -"振动 Android 和 iOS 设备。\n" +"振动手持设备。\n" +"[b]注意:[/b]这个方法在 Android、iOS 及 HTML5 上实现。\n" "[b]注意:[/b]Android 需要导出设置中的 [code]VIBRATE[/code] 权限。iOS 不支持持" "续时间。\n" -"[b]注意:[/b]在 iOS 平台上,iOS 13 及之后的版本才支持指定持续时间。" +"[b]注意:[/b]在 iOS 平台上,iOS 13 及之后的版本才支持指定持续时间。\n" +"[b]注意:[/b]Safari 和 Firefox 的 Android 版本等部分浏览器不支持这个方法。" #: doc/classes/Input.xml msgid "" @@ -38166,7 +38236,7 @@ msgid "" "Input event type for gamepad joysticks and other motions. For buttons, see " "[code]InputEventJoypadButton[/code]." msgstr "" -"用于游戏板操纵杆和其他动作的输入事件类型。对于按钮,见" +"用于游戏板操纵杆和其他动作的输入事件类型。对于按钮,见 " "[code]InputEventJoypadButton[/code]。" #: doc/classes/InputEventJoypadMotion.xml @@ -38197,7 +38267,7 @@ msgstr "键盘事件的输入事件类型。" msgid "" "Stores key presses on the keyboard. Supports key presses, key releases and " "[member echo] events." -msgstr "存储键盘上的按键。支持按键、按键释放和[member echo]回显事件。" +msgstr "存储键盘上的按键。支持按键、按键释放和 [member echo] 回显事件。" #: doc/classes/InputEventKey.xml msgid "" @@ -38791,6 +38861,11 @@ msgid "" "[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object." "call_deferred] if calling from a thread." msgstr "" +"调用这个方法会实际载入节点。创建的节点会被放置在场景树中该 " +"[InstancePlaceholder] 的[i]上方[/i]。出于方便的考虑,还会返回该 [Node] 的引" +"用。\n" +"[b]注意:[/b][method create_instance] 不是线程安全的。从线程中调用时请使用 " +"[method Object.call_deferred]。" #: doc/classes/InstancePlaceholder.xml msgid "" @@ -38810,6 +38885,10 @@ msgid "" "order[/code] key is an [Array] of [String] property names specifying the " "order in which properties will be applied (with index 0 being the first)." msgstr "" +"返回在调用 [method create_instance] 时会应用到节点上的属性列表。\n" +"如果 [code]with_order[/code] 为 [code]true[/code],会在字典中加入 [code]." +"order[/code] 字段(注意有个前缀的点)。这个 [code].order[/code] 字段是属性名" +"称 [String] 的 [Array],指定属性的应用顺序(索引为 0 的是第一个)。" #: doc/classes/InstancePlaceholder.xml msgid "" @@ -41756,33 +41835,35 @@ msgid "" "exceed the number of existing points in the line. See [method " "get_point_count]." msgstr "" +"在指定的位置 [code]position[/code] 添加一个点,相对于该线段自身的位置。新的点" +"会被加入到点的列表末尾。\n" +"如果给定了索引 [code]index[/code],这个新点会被插入到 [code]index[/code] 所对" +"应的现存点之前。从 [code]index[/code] 往后的所有现存点都会在列表中往后移一" +"位。该索引必须大于等于 [code]0[/code],不能够超出线段上现存点的数量。见 " +"[method get_point_count]。" #: doc/classes/Line2D.xml msgid "Removes all points from the line." msgstr "移除直线上的所有点。" #: doc/classes/Line2D.xml -#, fuzzy msgid "Returns the amount of points in the line." -msgstr "返回骨架中的骨骼数量。" +msgstr "返回线段中的点的数量。" #: doc/classes/Line2D.xml -#, fuzzy msgid "Returns the position of the point at index [code]index[/code]." -msgstr "返回索引 [code]point[/code] 处的点的位置。" +msgstr "返回索引 [code]index[/code] 处的点的位置。" #: doc/classes/Line2D.xml -#, fuzzy msgid "Removes the point at index [code]index[/code] from the line." -msgstr "将索引 [code]i[/code] 处的点从直线中移除。" +msgstr "将索引 [code]index[/code] 处的点从直线中移除。" #: doc/classes/Line2D.xml -#, fuzzy msgid "" "Overwrites the position of the point at index [code]index[/code] with the " "supplied [code]position[/code]." msgstr "" -"用提供的 [code]position[/code] 位置覆盖索引 [code]i[/code] 处点的位置。" +"用提供的 [code]position[/code] 位置覆盖索引 [code]index[/code] 处点的位置。" #: doc/classes/Line2D.xml msgid "" @@ -43336,9 +43417,13 @@ msgstr "曾经用于标记压缩(半精度浮点)法向数组的标志。" msgid "Flag used to mark a compressed (half float) tangent array." msgstr "曾经用于标记压缩(半精度浮点)切向数组的标志。" -#: doc/classes/Mesh.xml doc/classes/VisualServer.xml -msgid "Flag used to mark a compressed (half float) color array." -msgstr "曾用于标记压缩(半精度浮点)颜色数组的标志。" +#: doc/classes/Mesh.xml +msgid "" +"Flag used to mark a compressed (half float) color array.\n" +"[b]Note:[/b] If this flag is enabled, vertex colors will be stored as 8-bit " +"unsigned integers. This will clamp overbright colors to [code]Color(1, 1, 1, " +"1)[/code] and reduce colors' precision." +msgstr "" #: doc/classes/Mesh.xml doc/classes/VisualServer.xml msgid "Flag used to mark a compressed (half float) UV coordinates array." @@ -43377,12 +43462,16 @@ msgid "" msgstr "标志用于标记数组使用法线和切线向量的八面表示法,而不是笛卡尔式。" #: doc/classes/Mesh.xml +#, fuzzy msgid "" "Used to set flags [constant ARRAY_COMPRESS_VERTEX], [constant " "ARRAY_COMPRESS_NORMAL], [constant ARRAY_COMPRESS_TANGENT], [constant " "ARRAY_COMPRESS_COLOR], [constant ARRAY_COMPRESS_TEX_UV], [constant " "ARRAY_COMPRESS_TEX_UV2], [constant ARRAY_COMPRESS_WEIGHTS], and [constant " -"ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION] quickly." +"ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION] quickly.\n" +"[b]Note:[/b] Since this flag enables [constant ARRAY_COMPRESS_COLOR], vertex " +"colors will be stored as 8-bit unsigned integers. This will clamp overbright " +"colors to [code]Color(1, 1, 1, 1)[/code] and reduce colors' precision." msgstr "" "用于快速设置标志 [constant ARRAY_COMPRESS_VERTEX]、[constant " "ARRAY_COMPRESS_NORMAL]、[constant ARRAY_COMPRESS_TANGENT]、[constant " @@ -43678,7 +43767,6 @@ msgid "Node that instances meshes into a scenario." msgstr "网格实例与场景相结合的节点。" #: doc/classes/MeshInstance.xml -#, fuzzy msgid "" "MeshInstance is a node that takes a [Mesh] resource and adds it to the " "current scenario by creating an instance of it. This is the class most often " @@ -43687,10 +43775,10 @@ msgid "" "When a [Mesh] has to be instanced more than thousands of times at close " "proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead." msgstr "" -"MeshInstance 是一个节点,它获取 [Mesh] 资源并创建一个实例,将其添加到当前场景" -"中。这是最常被用来渲染 3D 几何体的类,这可以在很多地方使用 [Mesh] 实例,它允" -"许重复使用几何体并节省资源。当 [Mesh] 必须在很近的地方被实例化超过数千次时," -"可以考虑在 [MultiMeshInstance] 中使用 [MultiMesh] 来代替。" +"MeshInstance 节点可以携带 [Mesh] 资源,创建其实例并添加到当前场景中。这是渲" +"染 3D 几何体时最常用的类,这可以将单个 [Mesh] 在多处实例化。这样就能够重复使" +"用几何体并节省资源。当 [Mesh] 必须在很近的地方被实例化超过数千次时,可以考虑" +"在 [MultiMeshInstance] 中使用 [MultiMesh] 来代替。" #: doc/classes/MeshInstance.xml msgid "" @@ -44258,7 +44346,6 @@ msgstr "" "set_as_bulk_array] 也可以进行插值。" #: doc/classes/MultiMesh.xml -#, fuzzy msgid "" "Sets the color of a specific instance by [i]multiplying[/i] the mesh's " "existing vertex colors.\n" @@ -44268,10 +44355,11 @@ msgid "" "color doesn't look as expected, make sure the material's albedo color is set " "to pure white ([code]Color(1, 1, 1)[/code])." msgstr "" -"通过[i]乘以[/i]网格的现有顶点颜色来设置特定实例的颜色。\n" -"为了使颜色生效,请确保[MultiMesh]上的[member color_format]不是[code]null[/" -"code],并且[member SpatialMaterial.vertex_color_use_as_albedo]上的材质是" -"[code]true[/code]。" +"通过与该网格的现有顶点颜色做[i]乘法[/i]来设置指定实例的颜色。\n" +"要让颜色生效,请确保该 [MultiMesh] 的 [member color_format] 非 [code]null[/" +"code],并且材质的 [member SpatialMaterial.vertex_color_use_as_albedo] 为 " +"[code]true[/code]。如果颜色看上去不对,请确保材质的反照率颜色为纯白" +"([code]Color(1, 1, 1)[/code])。" #: doc/classes/MultiMesh.xml msgid "" @@ -45668,11 +45756,12 @@ msgid "" msgstr "抵达由 [method set_target_location] 设置的玩家定义目标时发出通知。" #: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml -#, fuzzy msgid "" "Notifies when the collision avoidance velocity is calculated after a call to " "[method set_velocity]. Only emitted when [member avoidance_enabled] is true." -msgstr "调用 [method set_velocity] 后,计算出防撞速度时发出通知。" +msgstr "" +"调用 [method set_velocity] 后,计算出防撞速度时发出通知。仅在 [member " +"avoidance_enabled] 为真时发出。" #: doc/classes/NavigationAgent2D.xml msgid "2D agent used in navigation for collision avoidance." @@ -46708,6 +46797,10 @@ msgid "" "NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method " "set_connection_status]." msgstr "" +"使用给定的 [code]peer_id[/code] 初始化该对等体(必须在 1 和 2147483647 之" +"间)。\n" +"只能在连接状态为 [constant NetworkedMultiplayerPeer.CONNECTION_CONNECTING] 时" +"调用。见 [method set_connection_status]。" #: doc/classes/NetworkedMultiplayerCustom.xml msgid "" @@ -46723,6 +46816,15 @@ msgid "" "CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer." "CONNECTION_CONNECTING]." msgstr "" +"设置连接的状态。见 [enum NetworkedMultiplayerPeer.ConnectionStatus]。\n" +"根据状态的不同,以及该对等体的唯一网络 ID 是否为 [code]1[/code],会触发 " +"[signal NetworkedMultiplayerPeer.connection_succeeded]、[signal " +"NetworkedMultiplayerPeer.connection_failed] 或 [signal " +"NetworkedMultiplayerPeer.server_disconnected] 信号。\n" +"从 [constant NetworkedMultiplayerPeer.CONNECTION_DISCONNECTED] 才能变到 " +"[constant NetworkedMultiplayerPeer.CONNECTION_CONNECTING],从 [constant " +"NetworkedMultiplayerPeer.CONNECTION_CONNECTING] 才能变到 [constant " +"NetworkedMultiplayerPeer.CONNECTION_CONNECTED]。" #: doc/classes/NetworkedMultiplayerCustom.xml msgid "Set the max packet size that this peer can handle." @@ -51713,7 +51815,6 @@ msgstr "" "[b]注意:[/b]返回 HTML5 和 UWP 上的空字符串,因为此方法尚未在这些平台上实施。" #: doc/classes/OS.xml -#, fuzzy msgid "" "Returns the current UNIX epoch timestamp in seconds.\n" "[b]Important:[/b] This is the system clock that the user can manually set. " @@ -51729,7 +51830,9 @@ msgstr "" "[b]重要:[/b]这是用户可以手动设置的系统时钟。[b]永远不要使用[/b]这种方法进行" "精确的时间计算,因为它的结果也会受到操作系统的自动调整。[b]始终使用[/b] " "[method get_ticks_usec] 或 [method get_ticks_msec] 进行精确时间计算,因为它们" -"保证是单调的(即永不减少)。" +"保证是单调的(即永不减少)。\n" +"[b]注意:[/b]如果要获取精度比秒更高的浮点数时间戳,请使用 [method Time." +"get_unix_time_from_system]。" #: doc/classes/OS.xml msgid "" @@ -58379,11 +58482,12 @@ msgstr "" "[b]注意:[/b]被移除项后的项的索引将被移位 1。" #: doc/classes/PopupMenu.xml -#, fuzzy msgid "" "Sets the currently focused item as the given [code]index[/code].\n" "Passing [code]-1[/code] as the index makes so that no item is focused." -msgstr "将当前聚焦项目设置为给定的索引 [code]index[/code]。" +msgstr "" +"将当前聚焦项目设置为给定的索引 [code]index[/code]。\n" +"将 [code]-1[/code] 作为索引传入不会聚焦任何项目。" #: doc/classes/PopupMenu.xml msgid "Hides the [PopupMenu] when the window loses focus." @@ -58641,7 +58745,6 @@ msgid "Class for displaying popups with a panel background." msgstr "用于显示带有面板背景的弹出窗口的类。" #: doc/classes/PopupPanel.xml -#, fuzzy msgid "" "Class for displaying popups with a panel background. In some cases it might " "be simpler to use than [Popup], since it provides a configurable background. " @@ -58651,7 +58754,9 @@ msgid "" msgstr "" "用于显示具有面板背景的弹出窗口的类。在某些情况下,它可能比 [Popup] 更容易使" "用,因为它提供了一个可配置的背景。如果你正在制作窗口,最好是查看 " -"[WindowDialog]。" +"[WindowDialog]。\n" +"任何添加为这个 [PopupPanel] 子项的 [Control] 都会被拉伸到与面板一样的大小" +"(与 [PanelContainer] 类似)。" #: doc/classes/PopupPanel.xml msgid "The background panel style of this [PopupPanel]." @@ -59611,6 +59716,11 @@ msgid "" "silence. On Windows 10 and later, make sure that apps are allowed to access " "the microphone in the OS' privacy settings." msgstr "" +"如果为 [code]true[/code],会允许麦克风输入。导出到 Android 和 iOS 时需要设置" +"合适的权限。\n" +"[b]注意:[/b]如果操作系统(根据该用户的隐私设置)阻止了对音频输入设备的访问," +"那么音频捕获只会返回静音。自 Windows 10 起,请确保在操作系统的隐私设置中允许" +"应用对麦克风的访问。" #: doc/classes/ProjectSettings.xml msgid "" @@ -62936,6 +63046,15 @@ msgid "" "[b]Note:[/b] This property is only read when the project starts. There is " "currently no way to change this setting at run-time." msgstr "" +"纹理开启各向异性时,所使用的各向异性过滤的最大级别。值越高,斜视角观察到的纹" +"理越锐利,但性能消耗也更大。取值只允许二的幂([code]2[/code]、[code]4[/" +"code]、[code]8[/code]、[code]16[/code]),例外是 [code]1[/code]。取 [code]1[/" +"code] 时会禁用各向异性过滤,即便纹理上是启用状态。\n" +"[b]注意:[/b]出于性能的原因,纹理[i]默认没有开启[/i]各向异性过滤。要让这个设" +"置起效,可以启用纹理的各向异性过滤:在“文件系统”面板里选中纹理,再到“导入”面" +"板中勾选[b]各向异性[/b]复选框,再点击[b]重新导入[/b]。不过,各向异性过滤在 " +"2D 中没什么用,所以请在有可见差别时才在 2D 纹理上启用。\n" +"[b]注意:[/b]这个属性只在项目启动时读取。目前没有在运行时修改的方法。" #: doc/classes/ProjectSettings.xml msgid "" @@ -67680,14 +67799,19 @@ msgstr "" "以避免混淆。有关 portal 模式的完整说明,请参阅 [CullInstance]。" #: doc/classes/RoomManager.xml +#, fuzzy msgid "" "Switches the portal culling system on and off.\n" "It is important to note that when portal culling is active, it is " -"responsible for [b]all[/b] the 3d culling. Some editor functionality may be " -"more difficult to use, so switching the active flag is intended to be used " -"to make sure your [Room] / [Portal] layout works within the editor.\n" +"responsible for [b]all[/b] the 3d culling. Some editor visual debugging " +"helpers may not be available when active, so switching the active flag is " +"intended to be used to ensure your [Room] / [Portal] layout works within the " +"editor.\n" "Switching to [code]active[/code] will have no effect when the [code]room " -"graph[/code] is unloaded (the rooms have not yet been converted)." +"graph[/code] is unloaded (the rooms have not yet been converted).\n" +"[b]Note:[/b] For efficiency, the portal system is designed to work with only " +"the core visual object types. In particular, only nodes derived from " +"[VisualInstance] are expected to show when the system is active." msgstr "" "打开和关闭入口剔除系统。\n" "需要注意的是,当入口剔除处于活动状态时,它负责[b]所有[/b] 3d 剔除。某些编辑器" @@ -68266,7 +68390,6 @@ msgstr "" "[method change_scene] 调用之后,你无法立即访问到它。" #: doc/classes/SceneTree.xml -#, fuzzy msgid "" "Changes the running scene to a new instance of the given [PackedScene].\n" "Returns [constant OK] on success or [constant ERR_CANT_CREATE] if the scene " @@ -68280,8 +68403,9 @@ msgstr "" "将正在运行的场景改变为给定的 [PackedScene] 的新实例。\n" "成功时返回 [constant OK],如果场景不能被实例化,则返回 [constant " "ERR_CANT_CREATE]。\n" -"[b]注意:[/b]场景改变有延迟,即新的场景节点是在下一个空闲帧中添加的。在 " -"[method change_scene_to] 调用之后,你无法立即访问到它。" +"[b]注意:[/b]场景改变有延迟,新的场景节点是在下一个空闲帧中添加的。在 " +"[method change_scene_to] 调用之后,你无法立即访问到它。\n" +"[b]注意:[/b]向该方法传入 [code]null[/code] 会卸载当前场景,不会加载新场景。" #: doc/classes/SceneTree.xml msgid "" @@ -68467,6 +68591,9 @@ msgid "" "Changing the value of [member debug_collisions_hint] while the project is " "running will not have the desired effect." msgstr "" +"如果为 [code]true[/code],从编辑器中运行游戏时会显示碰撞形状,方便调试。\n" +"[b]注意:[/b]这个属性不应在运行时更改。在运行项目时更改 [member " +"debug_collisions_hint] 的值不会有想要的效果。" #: doc/classes/SceneTree.xml msgid "" @@ -68476,6 +68603,9 @@ msgid "" "Changing the value of [member debug_navigation_hint] while the project is " "running will not have the desired effect." msgstr "" +"如果为 [code]true[/code],从编辑器中运行游戏时会显示导航多边形,方便调试。\n" +"[b]注意:[/b]这个属性不应在运行时更改。在运行项目时更改 [member " +"debug_navigation_hint] 的值不会有想要的效果。" #: doc/classes/SceneTree.xml msgid "The root of the edited scene." @@ -68798,6 +68928,7 @@ msgid "" msgstr "通过脚本进行通用动画的轻量级对象,使用 [Tweener]。" #: doc/classes/SceneTreeTween.xml +#, fuzzy msgid "" "[SceneTreeTween] is a tween managed by the scene tree. As opposed to " "[Tween], it does not require the instantiation of a node.\n" @@ -68856,6 +68987,18 @@ msgid "" "[/codeblock]\n" "In the example above, all children of a node are moved one after another to " "position (0, 0).\n" +"You should avoid using more than one [SceneTreeTween] per object's property. " +"If two or more tweens animate one property at the same time, the last one " +"created will take priority and assign the final value. If you want to " +"interrupt and restart an animation, consider assigning the [SceneTreeTween] " +"to a variable:\n" +"[codeblock]\n" +"var tween\n" +"func animate():\n" +" if tween:\n" +" tween.kill() # Abort the previous animation.\n" +" tween = create_tween()\n" +"[/codeblock]\n" "Some [Tweener]s use transitions and eases. The first accepts a [enum Tween." "TransitionType] constant, and refers to the way the timing of the animation " "is handled (see [url=https://easings.net/]easings.net[/url] for some " @@ -68868,7 +69011,10 @@ msgid "" "tween_cheatsheet.png]Tween easing and transition types cheatsheet[/url]\n" "[b]Note:[/b] All [SceneTreeTween]s will automatically start by default. To " "prevent a [SceneTreeTween] from autostarting, you can call [method stop] " -"immediately after it is created." +"immediately after it is created.\n" +"[b]Note:[/b] [SceneTreeTween]s are processing after all of nodes in the " +"current frame, i.e. after [method Node._process] or [method Node." +"_physics_process] (depending on [enum Tween.TweenProcessMode])." msgstr "" "[SceneTreeTween] 是由场景树管理的补间动画。与 [Tween] 相对,不需要实例化节" "点。\n" @@ -70068,6 +70214,9 @@ msgid "" "contact separation when this shape is involved.\n" "When set to [code]0.0[/code], the default value of [code]0.3[/code] is used." msgstr "" +"该形状的的自定义求解器偏差。定义了强制接触分离涉及到这个形状时,物体会做出多" +"大的反应。\n" +"设为 [code]0.0[/code] 时,会使用默认的 [code]0.3[/code]。" #: doc/classes/ShortCut.xml msgid "A shortcut for binding input." @@ -71240,7 +71389,6 @@ msgstr "" "纹理,那么这个值会与其 Alpha 通道相乘。" #: doc/classes/SpatialMaterial.xml -#, fuzzy msgid "" "If [code]true[/code], anisotropy is enabled. Anisotropy changes the shape of " "the specular blob and aligns it to tangent space. This is useful for brushed " @@ -71260,7 +71408,8 @@ msgstr "" "效果就会看上去有问题。\n" "[b]注意:[/b]材质的各向异性不应与纹理的各向异性过滤相混淆。纹理各向异性过滤的" "启用方法是,在“文件系统”面板中选中纹理,然后在“导入”面板中勾选[b]各向异性[/b]" -"复选框,然后点击[b]重新导入[/b]。" +"复选框,然后点击[b]重新导入[/b]。各向异性过滤级别可以通过 [member " +"ProjectSettings.rendering/quality/filters/anisotropic_filter_level] 调整。" #: doc/classes/SpatialMaterial.xml msgid "" @@ -72975,13 +73124,12 @@ msgstr "" "region_rect]。" #: doc/classes/Sprite3D.xml -#, fuzzy msgid "" "[Texture] object to draw. If [member GeometryInstance.material_override] is " "used, this will be overridden. The size information is still used." msgstr "" -"要绘制的 [Texture] 对象。如果 [member GeometryInstance.material_override] 被" -"使用,这将被覆盖。" +"要绘制的 [Texture] 对象。如果使用了 [member GeometryInstance." +"material_override],这将被覆盖。仍会使用其大小信息。" #: doc/classes/SpriteBase3D.xml msgid "2D sprite node in 3D environment." @@ -74571,7 +74719,6 @@ msgid "Returns the right side of the string from a given position." msgstr "返回该字符串指定位置右侧的内容。" #: doc/classes/String.xml -#, fuzzy msgid "" "Splits the string by a [code]delimiter[/code] string and returns an array of " "the substrings, starting from right.\n" @@ -74595,6 +74742,8 @@ msgstr "" "从右侧开始,通过 [code]delimiter[/code] 字符串拆分字符串并返回子字符串数" "组。\n" "返回数组中的拆分按与原始字符串相同的顺序从左到右排序。\n" +"如果 [code]allow_empty[/code] 为 [code]true[/code],并且该字符串中存在两个连" +"续的分隔符,就会将一个空字符串加入到子字符串数组的这个位置中。\n" "如果指定了 [code]maxsplit[/code],它定义了从右边到 [code]maxsplit[/code] 的分" "割数。默认值 0 表示所有项目都被拆分,因此给出与 [method split] 相同的结果。\n" "例子:\n" @@ -74664,7 +74813,6 @@ msgid "Returns a simplified canonical path." msgstr "返回简化的规范路径。" #: doc/classes/String.xml -#, fuzzy msgid "" "Splits the string by a [code]delimiter[/code] string and returns an array of " "the substrings. The [code]delimiter[/code] can be of any length.\n" @@ -74689,6 +74837,8 @@ msgid "" msgstr "" "通过 [code]delimiter[/code] 字符串拆分字符串并返回子字符串数组。" "[code]delimiter[/code] 可以是任意长度。\n" +"如果 [code]allow_empty[/code] 为 [code]true[/code],并且该字符串中存在两个连" +"续的分隔符,就会将一个空字符串加入到子字符串数组的这个位置中。\n" "如果指定了 [code]maxsplit[/code],它定义了从左边到 [code]maxsplit[/code] 的分" "割次数。默认值 [code]0[/code] 表示所有项目都被拆分。\n" "如果你只需要该数组中的某个元素,[method get_slice] 是一个效率更高的选项。\n" @@ -74703,7 +74853,6 @@ msgstr "" "如果您需要使用更复杂的规则拆分字符串,请改用 [RegEx] 类。" #: doc/classes/String.xml -#, fuzzy msgid "" "Splits the string in floats by using a delimiter string and returns an array " "of the substrings.\n" @@ -74715,7 +74864,9 @@ msgid "" msgstr "" "使用分隔符字符串将字符串拆分为浮点数,并返回子字符串数组。\n" "例如,如果被 [code]\",\"[/code] 分割,[code]\"1,2.5,3\"[/code] 将返回 [code]" -"[1,2.5,3][/code] 。" +"[1,2.5,3][/code] 。\n" +"如果 [code]allow_empty[/code] 为 [code]true[/code],并且该字符串中存在两个连" +"续的分隔符,就会将一个空字符串加入到子字符串数组的这个位置中。" #: doc/classes/String.xml msgid "" @@ -76132,9 +76283,8 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled." msgstr "如果启用鼠标右键选择,则返回 [code]true[/code]。" #: doc/classes/Tabs.xml -#, fuzzy msgid "Returns the button icon from the tab at index [code]tab_idx[/code]." -msgstr "返回索引 [code]tab_idx[/code] 处的选项卡的标题。" +msgstr "返回索引 [code]tab_idx[/code] 处的选项卡的按钮图标。" #: doc/classes/Tabs.xml msgid "Returns the number of hidden tabs offsetted to the left." @@ -76166,9 +76316,8 @@ msgid "" msgstr "如果为 [code]true[/code],启用鼠标右键选择选项卡。" #: doc/classes/Tabs.xml -#, fuzzy msgid "Sets the button icon from the tab at index [code]tab_idx[/code]." -msgstr "为索引 [code]tab_idx[/code] 处的选项卡设置图标。" +msgstr "为索引 [code]tab_idx[/code] 处的选项卡设置按钮图标。" #: doc/classes/Tabs.xml msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]." @@ -76217,11 +76366,10 @@ msgstr "" "通过鼠标拖动重新排列活动选项卡时发出。见 [member drag_to_rearrange_enabled]。" #: doc/classes/Tabs.xml -#, fuzzy msgid "" "Emitted when a tab's right button is pressed. See [method " "set_tab_button_icon]." -msgstr "按下自定义按钮时发出。见 [method add_button]。" +msgstr "选项卡的右侧按钮被按下时发出。见 [method set_tab_button_icon]。" #: doc/classes/Tabs.xml msgid "Emitted when a tab is clicked, even if it is the current tab." @@ -77813,46 +77961,53 @@ msgid "Clears all values on the theme." msgstr "清除主题上的所有值。" #: doc/classes/Theme.xml +#, fuzzy msgid "" -"Clears the [Color] at [code]name[/code] if the theme has [code]node_type[/" +"Clears the [Color] at [code]name[/code] if the theme has [code]theme_type[/" "code]." msgstr "" "如果主题包含 [code]node_type[/code],则清除名为 [code]name[/code] 的 [Color]" "颜色。" #: doc/classes/Theme.xml +#, fuzzy msgid "" -"Clears the constant at [code]name[/code] if the theme has [code]node_type[/" +"Clears the constant at [code]name[/code] if the theme has [code]theme_type[/" "code]." msgstr "" "如果主题包含 [code]node_type[/code],则清除名为 [code]name[/code] 的常量。" #: doc/classes/Theme.xml +#, fuzzy msgid "" -"Clears the [Font] at [code]name[/code] if the theme has [code]node_type[/" +"Clears the [Font] at [code]name[/code] if the theme has [code]theme_type[/" "code]." msgstr "" "如果主题包含 [code]node_type[/code],则清除名为 [code]name[/code] 的 [Font]字" "体。" #: doc/classes/Theme.xml +#, fuzzy msgid "" -"Clears the icon at [code]name[/code] if the theme has [code]node_type[/code]." +"Clears the icon at [code]name[/code] if the theme has [code]theme_type[/" +"code]." msgstr "" "如果主题包含 [code]node_type[/code],则清除名为 [code]name[/code] 的图标。" #: doc/classes/Theme.xml +#, fuzzy msgid "" -"Clears [StyleBox] at [code]name[/code] if the theme has [code]node_type[/" +"Clears [StyleBox] at [code]name[/code] if the theme has [code]theme_type[/" "code]." msgstr "" "如果主题包含 [code]node_type[/code],则清除名为 [code]name[/code] 的 " "[StyleBox]样式盒。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Clears the theme item of [code]data_type[/code] at [code]name[/code] if the " -"theme has [code]node_type[/code]." +"theme has [code]theme_type[/code]." msgstr "" "如果主题具有 [code]node_type[/code],则清除 [code]name[/code] 处的 " "[code]data_type[/code] 主题项。" @@ -77874,15 +78029,18 @@ msgid "Sets the theme's values to a copy of a given theme." msgstr "将主题的取值设置为指定主题的副本。" #: doc/classes/Theme.xml +#, fuzzy msgid "" -"Returns the [Color] at [code]name[/code] if the theme has [code]node_type[/" +"Returns the [Color] at [code]name[/code] if the theme has [code]theme_type[/" "code]." msgstr "如果主题有[code]node_type[/code],返回 [code]name[/code]处的[Color]。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns all the [Color]s as a [PoolStringArray] filled with each [Color]'s " -"name, for use in [method get_color], if the theme has [code]node_type[/code]." +"name, for use in [method get_color], if the theme has [code]theme_type[/" +"code]." msgstr "" "如果主题有[code]node_type[/code],将所有的[Color]作为[PoolStringArray]返回," "并填充每个[Color]的名称,用于[method get_color]使用。" @@ -77896,15 +78054,17 @@ msgstr "" "[method get_color] 和/或 [method get_color_list] 使用。" #: doc/classes/Theme.xml +#, fuzzy msgid "" -"Returns the constant at [code]name[/code] if the theme has [code]node_type[/" +"Returns the constant at [code]name[/code] if the theme has [code]theme_type[/" "code]." msgstr "如果主题有 [code]node_type[/code],返回 [code]name[/code] 处的常量。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns all the constants as a [PoolStringArray] filled with each constant's " -"name, for use in [method get_constant], if the theme has [code]node_type[/" +"name, for use in [method get_constant], if the theme has [code]theme_type[/" "code]." msgstr "" "如果主题有 [code]node_type[/code],将所有常量作为 [PoolStringArray] 返回,并" @@ -77920,8 +78080,9 @@ msgstr "" "get_constant]和/或[method get_constant_list]使用。" #: doc/classes/Theme.xml +#, fuzzy msgid "" -"Returns the [Font] at [code]name[/code] if the theme has [code]node_type[/" +"Returns the [Font] at [code]name[/code] if the theme has [code]theme_type[/" "code]. If such item does not exist and [member default_font] is set on the " "theme, the default font will be returned." msgstr "" @@ -77930,9 +78091,10 @@ msgstr "" "体。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns all the [Font]s as a [PoolStringArray] filled with each [Font]'s " -"name, for use in [method get_font], if the theme has [code]node_type[/code]." +"name, for use in [method get_font], if the theme has [code]theme_type[/code]." msgstr "" "如果主题有 [code]node_type[/code],将所有的 [Font] 作为 [PoolStringArray] 返" "回,并填入每个 [Font] 的名称,以供 [method get_font] 使用。" @@ -77946,16 +78108,18 @@ msgstr "" "get_font]和/或[method get_font_list]使用。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns the icon [Texture] at [code]name[/code] if the theme has " -"[code]node_type[/code]." +"[code]theme_type[/code]." msgstr "" "如果主题有[code]node_type[/code],返回 [code]name[/code]处的图标[Texture]。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns all the icons as a [PoolStringArray] filled with each [Texture]'s " -"name, for use in [method get_icon], if the theme has [code]node_type[/code]." +"name, for use in [method get_icon], if the theme has [code]theme_type[/code]." msgstr "" "如果主题有[code]node_type[/code],则返回所有的图标为一个[PoolStringArray],并" "填入每个[Texture]的名称,以供[method get_icon]使用。" @@ -77969,22 +78133,26 @@ msgstr "" "get_icon]和/或[method get_icon_list]使用。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns the [StyleBox] at [code]name[/code] if the theme has " -"[code]node_type[/code].\n" +"[code]theme_type[/code].\n" "Valid [code]name[/code]s may be found using [method get_stylebox_list]. " -"Valid [code]node_type[/code]s may be found using [method get_stylebox_types]." +"Valid [code]theme_type[/code]s may be found using [method " +"get_stylebox_types]." msgstr "" "如果主题有[code]node_type[/code],返回 [code]name[/code]处的[StyleBox]。\n" "可以使用[method get_stylebox_list]找到有效的[code]name[/code]。可以通过" "[method get_stylebox_types]来找到有效的[code]node_type[/code]。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns all the [StyleBox]s as a [PoolStringArray] filled with each " "[StyleBox]'s name, for use in [method get_stylebox], if the theme has " -"[code]node_type[/code].\n" -"Valid [code]node_type[/code]s may be found using [method get_stylebox_types]." +"[code]theme_type[/code].\n" +"Valid [code]theme_type[/code]s may be found using [method " +"get_stylebox_types]." msgstr "" "如果主题有[code]node_type[/code],则返回所有[StyleBox]的[PoolStringArray],并" "填入每个[StyleBox]的名称,以供[method get_stylebox]使用。\n" @@ -78000,11 +78168,12 @@ msgstr "" "[method get_stylebox]和/或[method get_stylebox_list]使用。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns the theme item of [code]data_type[/code] at [code]name[/code] if the " -"theme has [code]node_type[/code].\n" +"theme has [code]theme_type[/code].\n" "Valid [code]name[/code]s may be found using [method get_theme_item_list] or " -"a data type specific method. Valid [code]node_type[/code]s may be found " +"a data type specific method. Valid [code]theme_type[/code]s may be found " "using [method get_theme_item_types] or a data type specific method." msgstr "" "如果主题有 [code]node_type[/code],则以 [code]name[/code] 返回 " @@ -78014,11 +78183,12 @@ msgstr "" "法,找到有效的 [code]node_type[/code]。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns all the theme items of [code]data_type[/code] as a [PoolStringArray] " "filled with each theme items's name, for use in [method get_theme_item] or a " -"data type specific method, if the theme has [code]node_type[/code].\n" -"Valid [code]node_type[/code]s may be found using [method " +"data type specific method, if the theme has [code]theme_type[/code].\n" +"Valid [code]theme_type[/code]s may be found using [method " "get_theme_item_types] or a data type specific method." msgstr "" "返回所有[code]data_type[/code]的主题项目,以[PoolStringArray]的形式填入每个主" @@ -78038,10 +78208,11 @@ msgstr "" "或数据类型特定方法使用。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns all the theme types as a [PoolStringArray] filled with unique type " "names, for use in other [code]get_*[/code] functions of this theme.\n" -"[b]Note:[/b] [code]node_type[/code] has no effect and will be removed in " +"[b]Note:[/b] [code]theme_type[/code] has no effect and will be removed in " "future version." msgstr "" "将所有的主题类型作为一个[PoolStringArray]返回,其中填入了唯一的类型名称,以供" @@ -78062,20 +78233,24 @@ msgid "" msgstr "返回给定的基础类型 [code]base_type[/code] 的所有类型变种。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns [code]true[/code] if [Color] with [code]name[/code] is in " -"[code]node_type[/code].\n" -"Returns [code]false[/code] if the theme does not have [code]node_type[/code]." +"[code]theme_type[/code].\n" +"Returns [code]false[/code] if the theme does not have [code]theme_type[/" +"code]." msgstr "" "如果带有[code]name[/code]的[Color]在[code]node_type[/code]中,则返回 " "[code]true[/code]。\n" "如果主题没有[code]node_type[/code],则返回 [code]false[/code]。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns [code]true[/code] if constant with [code]name[/code] is in " -"[code]node_type[/code].\n" -"Returns [code]false[/code] if the theme does not have [code]node_type[/code]." +"[code]theme_type[/code].\n" +"Returns [code]false[/code] if the theme does not have [code]theme_type[/" +"code]." msgstr "" "如果带有[code]name[/code]的常量在[code]node_type[/code]中,则返回 " "[code]true[/code]。\n" @@ -78089,40 +78264,48 @@ msgstr "" "如果这个主题有一个有效的[member default_font]值,返回 [code]true[/code]。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns [code]true[/code] if [Font] with [code]name[/code] is in " -"[code]node_type[/code].\n" -"Returns [code]false[/code] if the theme does not have [code]node_type[/code]." +"[code]theme_type[/code].\n" +"Returns [code]false[/code] if the theme does not have [code]theme_type[/" +"code]." msgstr "" "如果带有[code]name[/code]的[Font]在[code]node_type[/code]中,则返回 " "[code]true[/code]。\n" "如果主题没有[code]node_type[/code],则返回 [code]false[/code]。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns [code]true[/code] if icon [Texture] with [code]name[/code] is in " -"[code]node_type[/code].\n" -"Returns [code]false[/code] if the theme does not have [code]node_type[/code]." +"[code]theme_type[/code].\n" +"Returns [code]false[/code] if the theme does not have [code]theme_type[/" +"code]." msgstr "" "如果带有[code]name[/code]的图标[Texture]在[code]node_type[/code]中,则返回 " "[code]true[/code]。\n" "如果主题没有[code]node_type[/code],则返回 [code]false[/code]。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns [code]true[/code] if [StyleBox] with [code]name[/code] is in " -"[code]node_type[/code].\n" -"Returns [code]false[/code] if the theme does not have [code]node_type[/code]." +"[code]theme_type[/code].\n" +"Returns [code]false[/code] if the theme does not have [code]theme_type[/" +"code]." msgstr "" "如果带有[code]name[/code]的[StyleBox]在[code]node_type[/code]中,返回 " "[code]true[/code]。\n" "如果主题没有[code]node_type[/code],则返回 [code]false[/code]。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Returns [code]true[/code] if a theme item of [code]data_type[/code] with " -"[code]name[/code] is in [code]node_type[/code].\n" -"Returns [code]false[/code] if the theme does not have [code]node_type[/code]." +"[code]name[/code] is in [code]theme_type[/code].\n" +"Returns [code]false[/code] if the theme does not have [code]theme_type[/" +"code]." msgstr "" "如果一个 [code]data_type[/code] 的主题项目与 [code]name[/code] 在 " "[code]node_type[/code] 中,则返回 [code]true[/code]。\n" @@ -78158,54 +78341,60 @@ msgstr "" "被消除。如果该类型为类型变种的基础类型,则那些变种会失去其基础类型。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Renames the [Color] at [code]old_name[/code] to [code]name[/code] if the " -"theme has [code]node_type[/code]. If [code]name[/code] is already taken, " +"theme has [code]theme_type[/code]. If [code]name[/code] is already taken, " "this method fails." msgstr "" "如果主题有 [code]node_type[/code],则将 [code]old_name[/code] 的 [Color] 重命" "名为 [code]name[/code]。如果 [code]name[/code] 已经被占用,则此方法将失败。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Renames the constant at [code]old_name[/code] to [code]name[/code] if the " -"theme has [code]node_type[/code]. If [code]name[/code] is already taken, " +"theme has [code]theme_type[/code]. If [code]name[/code] is already taken, " "this method fails." msgstr "" "如果主题有 [code]node_type[/code],则将 [code]old_name[/code] 的常量重命名为 " "[code]name[/code]。如果 [code]name[/code] 已经被占用,则此方法失败。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Renames the [Font] at [code]old_name[/code] to [code]name[/code] if the " -"theme has [code]node_type[/code]. If [code]name[/code] is already taken, " +"theme has [code]theme_type[/code]. If [code]name[/code] is already taken, " "this method fails." msgstr "" "如果主题有 [code]node_type[/code],则将 [code]old_name[/code] 的 [Font] 重命" "名为 [code]name[/code]。如果 [code]name[/code] 已经被占用,则此方法失败。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Renames the icon at [code]old_name[/code] to [code]name[/code] if the theme " -"has [code]node_type[/code]. If [code]name[/code] is already taken, this " +"has [code]theme_type[/code]. If [code]name[/code] is already taken, this " "method fails." msgstr "" "如果主题有 [code]node_type[/code],则将 [code]old_name[/code] 的图标重命名为 " "[code]name[/code]。如果 [code]name[/code] 已经被占用,则此方法失败。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Renames [StyleBox] at [code]old_name[/code] to [code]name[/code] if the " -"theme has [code]node_type[/code]. If [code]name[/code] is already taken, " +"theme has [code]theme_type[/code]. If [code]name[/code] is already taken, " "this method fails." msgstr "" "如果主题有 [code]node_type[/code],则将 [StyleBox] 在 [code]old_name[/code] " "重命名为 [code]name[/code]。如果 [code]name[/code] 已经被占用,此方法会失败。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Renames the theme item of [code]data_type[/code] at [code]old_name[/code] to " -"[code]name[/code] if the theme has [code]node_type[/code]. If [code]name[/" +"[code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/" "code] is already taken, this method fails." msgstr "" "如果主题具有 [code]node_type[/code],则将 [code]old_name[/code] 处的 " @@ -78213,62 +78402,68 @@ msgstr "" "code] 已经被占用,则此方法失败。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Sets the theme's [Color] to [code]color[/code] at [code]name[/code] in " -"[code]node_type[/code].\n" -"Creates [code]node_type[/code] if the theme does not have it." +"[code]theme_type[/code].\n" +"Creates [code]theme_type[/code] if the theme does not have it." msgstr "" "在 [code]node_type[/code] 中的 [code]name[/code] 处,设置主题的[Color]为" "[code]color[/code]。\n" "如果主题没有[code]node_type[/code],则创建该节点。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Sets the theme's constant to [code]constant[/code] at [code]name[/code] in " -"[code]node_type[/code].\n" -"Creates [code]node_type[/code] if the theme does not have it." +"[code]theme_type[/code].\n" +"Creates [code]theme_type[/code] if the theme does not have it." msgstr "" "在 [code]node_type[/code] 中的 [code]name[/code] 处,将主题的常量设置为" "[code]constant[/code]。\n" "如果主题没有,则创建[code]node_type[/code]。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Sets the theme's [Font] to [code]font[/code] at [code]name[/code] in " -"[code]node_type[/code].\n" -"Creates [code]node_type[/code] if the theme does not have it." +"[code]theme_type[/code].\n" +"Creates [code]theme_type[/code] if the theme does not have it." msgstr "" "在 [code]node_type[/code] 中的 [code]name[/code] 处将主题的 [Font] 设置为" "[code]font[/code]。\n" "如果主题没有[code]node_type[/code],则创建该节点。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Sets the theme's icon [Texture] to [code]texture[/code] at [code]name[/code] " -"in [code]node_type[/code].\n" -"Creates [code]node_type[/code] if the theme does not have it." +"in [code]theme_type[/code].\n" +"Creates [code]theme_type[/code] if the theme does not have it." msgstr "" "在 [code]node_type[/code] 中的 [code]name[/code] 处设置主题的图标[Texture]为" "[code]texture[/code]。\n" "如果主题没有[code]node_type[/code],则创建该节点。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Sets theme's [StyleBox] to [code]stylebox[/code] at [code]name[/code] in " -"[code]node_type[/code].\n" -"Creates [code]node_type[/code] if the theme does not have it." +"[code]theme_type[/code].\n" +"Creates [code]theme_type[/code] if the theme does not have it." msgstr "" "将主题的[StyleBox]设置为[code]stylebox[/code],在[code]node_type[/code]的" "[code]name[/code]处。\n" "如果主题没有[code]node_type[/code],则创建该节点。" #: doc/classes/Theme.xml +#, fuzzy msgid "" "Sets the theme item of [code]data_type[/code] to [code]value[/code] at " -"[code]name[/code] in [code]node_type[/code].\n" +"[code]name[/code] in [code]theme_type[/code].\n" "Does nothing if the [code]value[/code] type does not match [code]data_type[/" "code].\n" -"Creates [code]node_type[/code] if the theme does not have it." +"Creates [code]theme_type[/code] if the theme does not have it." msgstr "" "将[code]data_type[/code]的主题项目设置为[code]value[/code],在" "[code]node_type[/code]中的[code]name[/code]。\n" @@ -82166,7 +82361,7 @@ msgstr "使具有相同名称的后续动作合并为一个。" msgid "" "Universal Plug and Play (UPnP) functions for network device discovery, " "querying and port forwarding." -msgstr "" +msgstr "通用即插即用(UPnP)功能,用于网络设备的发现、查询及端口映射。" #: modules/upnp/doc_classes/UPNP.xml msgid "" @@ -82257,13 +82452,86 @@ msgid "" "Connectivity Foundation[/url] and Godot's implementation is based on the " "[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]." msgstr "" +"这个类可用于在本地网络中发现兼容的 [UPNPDevice] 并在这些设备上执行命令,如管" +"理端口映射(用于端口转发/NAT 穿透)和查询本地及远程网络 IP 地址。请注意,这个" +"类的方法都是同步的,会阻塞调用线程。\n" +"要转发指定端口(此处为 [code]7777[/code],请注意 [method discover] 和 " +"[method add_port_mapping] 都可能返回错误,应进行检查):\n" +"[codeblock]\n" +"var upnp = UPNP.new()\n" +"upnp.discover()\n" +"upnp.add_port_mapping(7777)\n" +"[/codeblock]\n" +"要关闭指定端口(例如结束使用后):\n" +"[codeblock]\n" +"upnp.delete_port_mapping(port)\n" +"[/codeblock]\n" +"[b]注意:[/b]UPnP 发现会阻塞当前线程。要在不阻塞主线程的前提下执行发现,请像" +"这样使用 [Thread]:\n" +"[codeblock]\n" +"# UPnP 端口映射建立完成时发出(无论成败)。\n" +"signal upnp_completed(error)\n" +"\n" +"# 请将其替换为你自己的服务器端口号,在 1024 和 65535 之间。\n" +"const SERVER_PORT = 3928\n" +"var thread = null\n" +"\n" +"func _upnp_setup(server_port):\n" +" # UPNP 查询比较耗时。\n" +" var upnp = UPNP.new()\n" +" var err = upnp.discover()\n" +"\n" +" if err != OK:\n" +" push_error(str(err))\n" +" emit_signal(\"upnp_completed\", err)\n" +" return\n" +"\n" +" if upnp.get_gateway() and upnp.get_gateway().is_valid_gateway():\n" +" upnp.add_port_mapping(server_port, server_port, ProjectSettings." +"get_setting(\"application/config/name\"), \"UDP\")\n" +" upnp.add_port_mapping(server_port, server_port, ProjectSettings." +"get_setting(\"application/config/name\"), \"TCP\")\n" +" emit_signal(\"upnp_completed\", OK)\n" +"\n" +"func _ready():\n" +" thread = Thread.new()\n" +" thread.start(self, \"_upnp_setup\", SERVER_PORT)\n" +"\n" +"func _exit_tree():\n" +" # 游戏退出但线程还在运行时,在此处等待线程完成。\n" +" thread.wait_to_finish()\n" +"[/codeblock]\n" +"[b]术语:[/b]UPnP 网络中,“网关”(gateway,或称“互联网网关设备”,internet " +"gateway device,简称 IGD)指的是在局域网中让计算机能够访问互联网(“广域网”," +"wide area network,WAN)的网络设备。这些网关经常也叫做“路由器”。\n" +"[b]陷阱:[/b]\n" +"- 前文解释过,这些调用都是阻塞的,不应该在主线程上执行,一次就能阻塞上很多" +"秒。用用线程吧!\n" +"- 网络是实打实的混乱。数据包可能会在传输过程中丢失或者被过滤掉,地址、空闲端" +"口、端口映射有可能发生变化,设备可以随时离开或者加入网络。请考虑周全,老老实" +"实地检查错误并进行处理,处理错误时请尽量友好:添加简洁的报错 UI、超时处理、重" +"试机制。\n" +"- 端口映射是随时会变的(也可以被删除),网关的远程/外部 IP 也可能发生改变。你" +"应该考虑定期重新查询外部 IP、尝试更新/刷新端口映射(例如每隔 5 分钟或者在发生" +"网络错误时执行)。\n" +"- 并不是所有的设备都支持 UPnP,有些用户还会禁用 UPnP 支持。你需要处理这种情况" +"(例如编写文档,要求用户手动进行端口映射,或者加入接力/镜像服务器、NAT 打洞、" +"STUN/TURN 等 NAT 穿透的备用方案)。\n" +"- 请考虑映射冲突时该怎么办。可能在同一个网络上同时有多个用户想要来玩你的游" +"戏,或者有其他应用程序用了一样的端口。请把端口号做成可配置的,最好能够自动选" +"择(失败时重试其他端口)。\n" +"[b]拓展阅读:[/b]如果你想了解更多关于 UPnP(尤其是 Internet Gateway Device" +"(IGD)和 Port Control Protocol(PCP)),可以首先查看[url=https://en." +"wikipedia.org/wiki/Universal_Plug_and_Play]维基百科[/url],技术规范可以在 " +"[url=https://openconnectivity.org/developer/specifications/upnp-resources/" +"upnp/]Open Connectivity 基金会[/url]找到,Godot 的实现基于的是 [url=https://" +"github.com/miniupnp/miniupnp]MiniUPnP 客户端[/url]。" #: modules/upnp/doc_classes/UPNP.xml msgid "Adds the given [UPNPDevice] to the list of discovered devices." msgstr "将给定的 [UPNPDevice] 添加到已发现设备的列表中。" #: modules/upnp/doc_classes/UPNP.xml -#, fuzzy msgid "" "Adds a mapping to forward the external [code]port[/code] (between 1 and " "65535, although recommended to use port 1024 or above) on the default " @@ -82297,25 +82565,33 @@ msgid "" "[code]86400[/code] seconds (24 hours).\n" "See [enum UPNPResult] for possible return values." msgstr "" -"添加一个映射,将默认网关上的外部[code]port[/code],介于1和65535之间,转发到本" -"地机器上的[code]internal_port[/code],用于指定协议[code]proto[/code],即" -"[code]TCP[/code]或[code]UDP[/code],默认为UDP。如果该网关设备上已经存在给定端" -"口和协议组合的端口映射,该方法将尝试覆盖它。如果不希望这样,你可以用[method " -"get_gateway]手动检索该网关,如果有的话,就调用[method add_port_mapping]。\n" -"如果[code]internal_port[/code]是[code]0[/code](默认值),外部和内部端口都使" -"用相同的端口号([code]port[/code]值)。\n" -"描述([code]desc[/code])显示在一些路由器的UI中,可以用来指出是哪个应用添加了" -"映射。可以通过指定[code]duration[/code](单位:秒)来限制映射的租用期限。然" -"而,有些路由器与其中的个别不兼容,所以要谨慎使用,并在出错时添加回退逻辑,如" -"果有疑问,可以在没有它们的情况下重试。\n" -"参阅[method get_gateway]。参阅[enum UPNPResult],了解可能的返回值。" +"添加映射,针对给定的协议 [code]proto[/code]([code]TCP[/code] 或 [code]UDP[/" +"code],默认为 UDP),将默认网关(见 [method get_gateway])上的外部端口 " +"[code]port[/code](在 1 到 65535 之间,不过推荐使用 1024 以上的端口)映射到本" +"机上的内部端口 [code]internal_port[/code]。如果该网关上已经存在给定的端口与协" +"议的组合,这个方法会尝试进行覆盖。如果不希望如此,你可以使用 [method " +"get_gateway] 手动获取网关,获取到后调用其 [method add_port_mapping] 方法。请" +"注意,使用 UPnP 转发公认端口(1024 以下)在有些设备上可能会失败。\n" +"如果端口的映射已存在,有些网关设备可能会对其进行更新,有些则会因为冲突而拒绝" +"这个命令,尤其当现有端口映射不是由 UPnP 创建的,或者指向的是别的网络地址(或" +"设备)的时候。\n" +"如果 [code]internal_port[/code] 为 [code]0[/code](默认),表示内外部端口相同" +"(使用 [code]port[/code] 的值)。\n" +"描述([code]desc[/code])会显示在一些路由器的管理界面上,可以用来识别添加映射" +"的程序。\n" +"映射的租赁时长 [code]duration[/code] 可以通过指定秒数来限定。默认的 [code]0[/" +"code] 表示没有时长,即永久租赁,有些设备只支持这种永久租赁。请注意,无论是否" +"永久都只是一种请求,网关仍然可以随时移除映射(通常发生在重启网关后外部 IP 地" +"址发生变化时,也有些型号会在映射不再活动,即若干分钟无流量时移除)。如果非 " +"[code]0[/code](永久),技术规格所允许的范围是 [code]120[/code](2 分钟)到 " +"[code]86400[/code] 秒(24 小时)。\n" +"可能的返回值见 [enum UPNPResult]。" #: modules/upnp/doc_classes/UPNP.xml msgid "Clears the list of discovered devices." msgstr "清除已发现设备的列表。" #: modules/upnp/doc_classes/UPNP.xml -#, fuzzy msgid "" "Deletes the port mapping for the given port and protocol combination on the " "default gateway (see [method get_gateway]) if one exists. [code]port[/code] " @@ -82325,10 +82601,11 @@ msgid "" "mappings not added via UPnP. See [enum UPNPResult] for possible return " "values." msgstr "" -"如果默认网关上存在给定的端口和协议组合的端口映射(见 [method get_gateway])," +"如果默认网关上(见 [method get_gateway])存在给定的端口和协议组合的端口映射," "则将其删除。[code]port[/code] 必须是 1 到 65535 之间的有效端口,[code]proto[/" -"code] 可以是 [code]TCP[/code] 或 [code]UDP[/code]。可能的返回值见 [enum " -"UPNPResult]。" +"code] 可以是 [code]TCP[/code] 或 [code]UDP[/code]。拒绝的原因可能是映射指向的" +"不是本机地址、使用的是公认端口(1024 以下)、或者映射不是由 UPnP 添加的。可能" +"的返回值见 [enum UPNPResult]。" #: modules/upnp/doc_classes/UPNP.xml msgid "" @@ -82550,10 +82827,9 @@ msgstr "未知错误。" #: modules/upnp/doc_classes/UPNPDevice.xml msgid "Universal Plug and Play (UPnP) device." -msgstr "" +msgstr "通用即插即用(UPnP)设备。" #: modules/upnp/doc_classes/UPNPDevice.xml -#, fuzzy msgid "" "Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and " "utility functions. Provides low-level access to UPNP control commands. " @@ -82561,9 +82837,9 @@ msgid "" "information of the device (like local and external IP address and status). " "Note that methods on this class are synchronous and block the calling thread." msgstr "" -"UPNP 设备。参阅 [UPNP] 了解 UPNP 发现和实用功能。提供对 UPNP 控制命令的低层访" -"问。允许管理端口映射(端口转发)和查询设备的网络信息,如本地和外部IP地址和状" -"态。请注意,这个类的方法是同步的,会阻塞调用线程。" +"通用即插即用(UPnP)设备。UPnP 发现及工具函数见 [UPNP]。提供对 UPNP 控制命令" +"的低层访问。允许管理端口映射(端口转发)和查询设备的网络信息(如本地和外部 " +"IP 地址和状态)。请注意,这个类的方法是同步的,会阻塞调用线程。" #: modules/upnp/doc_classes/UPNPDevice.xml msgid "" @@ -89809,6 +90085,10 @@ msgid "Flag used to mark an index array." msgstr "用于标记索引数组的标志。" #: doc/classes/VisualServer.xml +msgid "Flag used to mark a compressed (half float) color array." +msgstr "曾用于标记压缩(半精度浮点)颜色数组的标志。" + +#: doc/classes/VisualServer.xml msgid "" "Used to set flags [constant ARRAY_COMPRESS_NORMAL], [constant " "ARRAY_COMPRESS_TANGENT], [constant ARRAY_COMPRESS_COLOR], [constant " @@ -92688,11 +92968,12 @@ msgstr "" "依赖,并允许引用被释放。" #: doc/classes/WeakRef.xml -#, fuzzy msgid "" "Returns the [Object] this weakref is referring to. Returns [code]null[/code] " "if that object no longer exists." -msgstr "返回指定属性的初始值。如果属性不存在,则返回 [code]null[/code]。" +msgstr "" +"返回这个弱引用所引用的 [Object]。如果该对象不复存在,则返回 [code]null[/" +"code]。" #: modules/webrtc/doc_classes/WebRTCDataChannel.xml msgid "Closes this data channel, notifying the other peer." |