summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-03-01 00:11:39 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-03-01 00:11:39 +0100
commit2f34a35722141aaee6c226c08fcd224ec3c1d04d (patch)
treecccdb5d09e7f69f36387a6bb00f1dc02355f53c4 /doc
parent491ded18983a4ae963ce9c29e8df5d5680873ccb (diff)
i18n: Sync translations with Weblate
Diffstat (limited to 'doc')
-rw-r--r--doc/translations/es.po6
-rw-r--r--doc/translations/fr.po129
-rw-r--r--doc/translations/zh_CN.po4096
3 files changed, 4138 insertions, 93 deletions
diff --git a/doc/translations/es.po b/doc/translations/es.po
index ad5cfe0ce7..69fe1e2aa2 100644
--- a/doc/translations/es.po
+++ b/doc/translations/es.po
@@ -8345,9 +8345,6 @@ msgstr ""
"Si ha definido las variables de entrada en [method parse], puede especificar "
"sus valores en el array de entradas, en el mismo orden."
-msgid "Returns the error text if [method parse] has failed."
-msgstr "Devuelve el texto de error si el [method parse] ha fallado."
-
msgid "Returns [code]true[/code] if [method execute] has failed."
msgstr "Devuelve [code]true[/code] si [method execute] ha fallado."
@@ -13022,9 +13019,6 @@ msgstr "Nodo que instancia mallas en un escenario."
msgid "The [Mesh] resource for the instance."
msgstr "El recurso [Mesh] para la instancia."
-msgid "Sets the skin to be used by this instance."
-msgstr "Establece la piel que se utilizará en esta instancia."
-
msgid "Library of meshes."
msgstr "Biblioteca de mallas."
diff --git a/doc/translations/fr.po b/doc/translations/fr.po
index b7839a4c43..d4f1b5dbd7 100644
--- a/doc/translations/fr.po
+++ b/doc/translations/fr.po
@@ -62,13 +62,15 @@
# Alexis Coudert <coudert.alex@gmail.com>, 2022.
# Callim Ethee <callimethee@gmail.com>, 2023.
# Thalya Gauvrit <skar0ps.dev@gmail.com>, 2023.
+# Hipolyte Ponthieu <7hip.po6@orange.fr>, 2023.
+# Dricom Dragon <dev@jovian-hersemeule.eu>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-13 23:42+0000\n"
-"Last-Translator: Thalya Gauvrit <skar0ps.dev@gmail.com>\n"
+"PO-Revision-Date: 2023-02-28 17:36+0000\n"
+"Last-Translator: Dricom Dragon <dev@jovian-hersemeule.eu>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/fr/>\n"
"Language: fr\n"
@@ -76,7 +78,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.16-dev\n"
+"X-Generator: Weblate 4.16-rc\n"
msgid "Description"
msgstr "Description"
@@ -87,6 +89,9 @@ msgstr "Tutoriels"
msgid "Properties"
msgstr "Propriétés"
+msgid "Constructors"
+msgstr "Constructeurs"
+
msgid "Methods"
msgstr "Méthodes"
@@ -108,9 +113,15 @@ msgstr "Constantes"
msgid "Property Descriptions"
msgstr "Description des propriétés"
+msgid "Constructor Descriptions"
+msgstr "Détails des constructeurs"
+
msgid "Method Descriptions"
msgstr "Descriptions des méthodes"
+msgid "Operator Descriptions"
+msgstr "Détails des opérateurs"
+
msgid "Theme Property Descriptions"
msgstr "Description des propriétés de thème"
@@ -175,6 +186,109 @@ msgid "Built-in GDScript functions."
msgstr "Fonctions intégrées à GDScript."
msgid ""
+"A list of GDScript-specific utility functions and annotations accessible "
+"from any script.\n"
+"For the list of the global functions and constants see [@GlobalScope]."
+msgstr ""
+"Une liste de fonctions utilitaires et d'annotations, utilisables depuis "
+"n'importe quel script.\n"
+"Cette liste est spécifique à GDScript, pour voir la liste des fonctions et "
+"constantes globales voir [@GlobalScope]."
+
+msgid "GDScript exports"
+msgstr "Exports GDScript"
+
+msgid ""
+"Returns a [Color] constructed from red ([param r8]), green ([param g8]), "
+"blue ([param b8]), and optionally alpha ([param a8]) integer channels, each "
+"divided by [code]255.0[/code] for their final value.\n"
+"[codeblock]\n"
+"var red = Color8(255, 0, 0) # Same as Color(1, 0, 0).\n"
+"var dark_blue = Color8(0, 0, 51) # Same as Color(0, 0, 0.2).\n"
+"var my_color = Color8(306, 255, 0, 102) # Same as Color(1.2, 1, 0, 0.4).\n"
+"[/codeblock]"
+msgstr ""
+"Retourne une [Color] construite à partir des niveaux de rouge ([param r8]), "
+"de vert ([param g8]), de bleu ([param b8]) et éventuellement de transparence "
+"(ou alpha : [param a8]). Chaque niveau est représenté par un entier qui sera "
+"divisé par [code]255.0[/code] pour obtenir la valeur de l'attribut associé.\n"
+"[codeblock]\n"
+"var red = Color8(255, 0, 0) # Meme effet que Color(1, 0, 0).\n"
+"var dark_blue = Color8(0, 0, 51) # Meme effet que Color(0, 0, 0.2).\n"
+"var my_color = Color8(306, 255, 0, 102) # Meme effet que Color(1.2, 1, 0, "
+"0.4).\n"
+"[/codeblock]"
+
+msgid ""
+"Asserts that the [param condition] is [code]true[/code]. If the [param "
+"condition] is [code]false[/code], an error is generated. When running from "
+"the editor, the running project will also be paused until you resume it. "
+"This can be used as a stronger form of [method @GlobalScope.push_error] for "
+"reporting errors to project developers or add-on users.\n"
+"An optional [param message] can be shown in addition to the generic "
+"\"Assertion failed\" message. You can use this to provide additional details "
+"about why the assertion failed.\n"
+"[b]Warning:[/b] For performance reasons, the code inside [method assert] is "
+"only executed in debug builds or when running the project from the editor. "
+"Don't include code that has side effects in an [method assert] call. "
+"Otherwise, the project will behave differently when exported in release "
+"mode.\n"
+"[codeblock]\n"
+"# Imagine we always want speed to be between 0 and 20.\n"
+"var speed = -10\n"
+"assert(speed < 20) # True, the program will continue.\n"
+"assert(speed >= 0) # False, the program will stop.\n"
+"assert(speed >= 0 and speed < 20) # You can also combine the two conditional "
+"statements in one check.\n"
+"assert(speed < 20, \"the speed limit is 20\") # Show a message.\n"
+"[/codeblock]"
+msgstr ""
+"Vérifie que la [code]condition[/code] est vraie ([code]true[/code]). Si la "
+"[code]condition[/code] est fausse ([code]false[/code]), une erreur est "
+"générée. Si le programme est lancé via l'éditeur, son exécution sera aussi "
+"interrompue jusqu'à ce que vous le redémarriez. Cela peut être utilisé comme "
+"une alternative plus radicale à [method @GlobalScope.push_error] pour "
+"signaler des erreurs aux développeurs de projets ou utilisateurs de "
+"plugins.\n"
+"[b]Note :[/b] Par souci de performance, le code inclus dans [method assert] "
+"n'est seulement exécuté dans les builds de débogage, ou quand vous lancez "
+"votre jeu depuis l'éditeur. N'incluez pas de code qui modifie l'état du "
+"script dans un appel à [method assert]. Sinon, votre projet aura un "
+"fonctionnement différent une fois exporté pour la production (release "
+"build).\n"
+"L'argument facultatif [param message], s'il est donné, est affiché en plus "
+"du message générique \"Assertion failed\" (Échec de l'assertion). Vous "
+"pouvez l'utiliser pour fournir des détails supplémentaires sur la raison de "
+"l'échec de l'assertion.\n"
+"[codeblock]\n"
+"# Imaginez que nous voulons une vitesse toujours comprise entre 0 et 20.\n"
+"speed = -10\n"
+"assert(speed < 20) # Vrai, le programme continue\n"
+"assert(speed >= 0) # Faux, le programme s'interrompt\n"
+"assert(speed >= 0 and speed < 20) # Vous pouvez aussi combiner les deux "
+"conditions en une seule vérification\n"
+"assert(speed < 20, \"speed = %f, mais la limite de vitesse est 20\" % speed) "
+"# Affiche un message avec de plus amples détails\n"
+"[/codeblock]"
+
+msgid ""
+"Returns a single character (as a [String]) of the given Unicode code point "
+"(which is compatible with ASCII code).\n"
+"[codeblock]\n"
+"a = char(65) # a is \"A\"\n"
+"a = char(65 + 32) # a is \"a\"\n"
+"a = char(8364) # a is \"€\"\n"
+"[/codeblock]"
+msgstr ""
+"Renvoie un caractère au format chaîne de caractère ([String]) correspondant "
+"à la valeur Unicode donnée (compatible avec le code ASCII).\n"
+"[codeblock]\n"
+"a = char(65) # a vaut « A »\n"
+"a = char(65 + 32) # a vaut « a »\n"
+"a = char(8364) # a vaut « € »\n"
+"[/codeblock]"
+
+msgid ""
"Returns an array of dictionaries representing the current call stack. See "
"also [method print_stack].\n"
"[codeblock]\n"
@@ -9425,9 +9539,6 @@ msgstr "Représente la taille de l'énumération [enum BGMode]."
msgid "A class that stores an expression you can execute."
msgstr "Une classe qui enregistre une expression que vous pouvez exécuter."
-msgid "Returns the error text if [method parse] has failed."
-msgstr "Retourne la description de l'erreur si [method parse] a échoué."
-
msgid "Returns [code]true[/code] if [method execute] has failed."
msgstr "Retourne [code]true[/code] si [method execute] a échoué."
@@ -12783,9 +12894,6 @@ msgstr "Nœud qui instancie des meshes dans un scénario."
msgid "The [Mesh] resource for the instance."
msgstr "La ressource du [Mesh] pour cette instance."
-msgid "Sets the skin to be used by this instance."
-msgstr "Définit la peau à utiliser pour cette instance."
-
msgid "Library of meshes."
msgstr "Bibliothèque de maillages."
@@ -14371,6 +14479,9 @@ msgstr ""
"Les ombres sont rendues dans une texture dual-paraboloïde. Plus rapide que "
"[constant SHADOW_CUBE], mais de qualité inférieure."
+msgid "Add an action set."
+msgstr "Ajouter un ensemble d'actions."
+
msgid "Optimized translation."
msgstr "Traduction optimisée."
diff --git a/doc/translations/zh_CN.po b/doc/translations/zh_CN.po
index 36178274ca..339697f02c 100644
--- a/doc/translations/zh_CN.po
+++ b/doc/translations/zh_CN.po
@@ -72,8 +72,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2023-02-24 13:35+0000\n"
-"Last-Translator: suplife <2634557184@qq.com>\n"
+"PO-Revision-Date: 2023-02-28 17:36+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"
"Language: zh_CN\n"
@@ -81,7 +81,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.16-dev\n"
+"X-Generator: Weblate 4.16-rc\n"
msgid "Description"
msgstr "描述"
@@ -377,6 +377,51 @@ msgstr ""
"[/codeblock]"
msgid ""
+"Returns [code]true[/code] if [param value] is an instance of [param type]. "
+"The [param type] value must be one of the following:\n"
+"- A constant from the [enum Variant.Type] enumeration, for example [constant "
+"TYPE_INT].\n"
+"- An [Object]-derived class which exists in [ClassDB], for example [Node].\n"
+"- A [Script] (you can use any class, including inner one).\n"
+"Unlike the right operand of the [code]is[/code] operator, [param type] can "
+"be a non-constant value. The [code]is[/code] operator supports more features "
+"(such as typed arrays) and is more performant. Use the operator instead of "
+"this method if you do not need dynamic type checking.\n"
+"Examples:\n"
+"[codeblock]\n"
+"print(is_instance_of(a, TYPE_INT))\n"
+"print(is_instance_of(a, Node))\n"
+"print(is_instance_of(a, MyClass))\n"
+"print(is_instance_of(a, MyClass.InnerClass))\n"
+"[/codeblock]\n"
+"[b]Note:[/b] If [param value] and/or [param type] are freed objects (see "
+"[method @GlobalScope.is_instance_valid]), or [param type] is not one of the "
+"above options, this method will raise an runtime error.\n"
+"See also [method @GlobalScope.typeof], [method type_exists], [method Array."
+"is_same_typed] (and other [Array] methods)."
+msgstr ""
+"如果 [param value] 为 [param type] 类型的实例,则返回 [code]true[/code]。"
+"[param type] 的值必须为下列值之一:\n"
+"- [enum Variant.Type] 枚举常量,例如 [constant TYPE_INT]。\n"
+"- [ClassDB] 中存在的派生自 [Object] 的类,例如 [Node]。\n"
+"- [Script](可以用任何类,包括内部类)。\n"
+"[param type] 可以不是常量,这一点与 [code]is[/code] 的右操作数不同。"
+"[code]is[/code] 运算符支持的功能更多(例如类型化数组),性能也更高。如果你不"
+"需要动态类型检查,请使用该运算符,不要使用此方法。\n"
+"示例:\n"
+"[codeblock]\n"
+"print(is_instance_of(a, TYPE_INT))\n"
+"print(is_instance_of(a, Node))\n"
+"print(is_instance_of(a, MyClass))\n"
+"print(is_instance_of(a, MyClass.InnerClass))\n"
+"[/codeblock]\n"
+"[b]注意:[/b]如果 [param value] 和/或 [param type] 为已释放的对象(见 "
+"[method @GlobalScope.is_instance_valid]),或者 [param type] 不是以上选项之"
+"一,则此方法会报运行时错误。\n"
+"另见 [method @GlobalScope.typeof]、[method type_exists]、[method Array."
+"is_same_typed](以及其他 [Array] 方法)。"
+
+msgid ""
"Returns the length of the given Variant [param var]. The length can be the "
"character count of a [String], the element count of any array type or the "
"size of a [Dictionary]. For every other Variant type, a run-time error is "
@@ -2306,18 +2351,6 @@ msgstr ""
"nan[/code]。"
msgid ""
-"Returns the maximum of the given values. This function can take any number "
-"of arguments.\n"
-"[codeblock]\n"
-"max(1, 7, 3, -6, 5) # Returns 7\n"
-"[/codeblock]"
-msgstr ""
-"返回给定值的最大值。这个函数可以接受任意数量的参数。\n"
-"[codeblock]\n"
-"max(1, 7, 3, -6, 5) # 返回 7\n"
-"[/codeblock]"
-
-msgid ""
"Returns the maximum of two [float] values.\n"
"[codeblock]\n"
"maxf(3.6, 24) # Returns 24.0\n"
@@ -2344,18 +2377,6 @@ msgstr ""
"[/codeblock]"
msgid ""
-"Returns the minimum of the given values. This function can take any number "
-"of arguments.\n"
-"[codeblock]\n"
-"min(1, 7, 3, -6, 5) # Returns -6\n"
-"[/codeblock]"
-msgstr ""
-"返回给定值的最小值。这个函数可以接受任意数量的参数。\n"
-"[codeblock]\n"
-"min(1, 7, 3, -6, 5) # 返回 -6\n"
-"[/codeblock]"
-
-msgid ""
"Returns the minimum of two [float] values.\n"
"[codeblock]\n"
"minf(3.6, 24) # Returns 3.6\n"
@@ -9958,6 +9979,16 @@ msgstr ""
"空,从编辑器运行时按索引访问将暂停项目执行。"
msgid ""
+"Returns the [enum Variant.Type] constant for a typed array. If the [Array] "
+"is not typed, returns [constant TYPE_NIL]."
+msgstr ""
+"返回类型化数组的 [enum Variant.Type] 常量。如果该 [Array] 不是类型化的,则返"
+"回 [constant TYPE_NIL]。"
+
+msgid "Returns a class name of a typed [Array] of type [constant TYPE_OBJECT]."
+msgstr "返回类型为 [constant TYPE_OBJECT] 的 类型化 [Array] 的类名。"
+
+msgid ""
"Returns a hashed 32-bit integer value representing the array and its "
"contents.\n"
"[b]Note:[/b] [Array]s with equal content will always produce identical hash "
@@ -9988,6 +10019,10 @@ msgid "Returns [code]true[/code] if the array is empty."
msgstr "该数组为空时,返回 [code]true[/code]。"
msgid ""
+"Returns [code]true[/code] if the array is typed the same as [param array]."
+msgstr "如果该数组的类型与 [param array] 相同,则返回 [code]true[/code]。"
+
+msgid ""
"Calls the provided [Callable] for each element in the array and returns a "
"new array filled with values returned by the method.\n"
"The callable's method should take one [Variant] parameter (the current array "
@@ -13243,6 +13278,25 @@ msgstr ""
"道中指定。"
msgid ""
+"Determines when depth rendering takes place. See [enum DepthDrawMode]. See "
+"also [member transparency]."
+msgstr ""
+"确定深度渲染发生的时间。参见 [enum DepthDrawMode]。另见 [member "
+"transparency]。"
+
+msgid ""
+"Texture that specifies the color of the detail overlay. [member "
+"detail_albedo]'s alpha channel is used as a mask, even when the material is "
+"opaque. To use a dedicated texture as a mask, see [member detail_mask].\n"
+"[b]Note:[/b] [member detail_albedo] is [i]not[/i] modulated by [member "
+"albedo_color]."
+msgstr ""
+"用于指定细节覆盖层颜色的纹理。[member detail_albedo] 的 alpha 通道会被用作遮"
+"罩,即使该材质不透明。要将专用纹理用作遮罩,请参阅 [member detail_mask]。\n"
+"[b]注意:[/b][member detail_albedo] [i]不会[/i]被 [member albedo_color] 调"
+"制。"
+
+msgid ""
"Specifies how the [member detail_albedo] should blend with the current "
"[code]ALBEDO[/code]. See [enum BlendMode] for options."
msgstr ""
@@ -13250,6 +13304,24 @@ msgstr ""
"[enum BlendMode] 选项。"
msgid ""
+"Texture that specifies the per-pixel normal of the detail overlay. The "
+"[member detail_normal] texture only uses the red and green channels; the "
+"blue and alpha channels are ignored. The normal read from [member "
+"detail_normal] is oriented around the surface normal provided by the "
+"[Mesh].\n"
+"[b]Note:[/b] Godot expects the normal map to use X+, Y+, and Z+ coordinates. "
+"See [url=http://wiki.polycount.com/wiki/"
+"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for "
+"a comparison of normal map coordinates expected by popular engines."
+msgstr ""
+"用于指定细节覆盖层逐像素法线的纹理。[member detail_normal] 纹理只使用红色和绿"
+"色通道;会忽略蓝色和 alpha 通道。从 [member detail_normal] 读取的法线是围绕 "
+"[Mesh] 所提供的表面法线的进行朝向的。\n"
+"[b]注意:[/b]Godot 期望法线贴图使用 X+、Y+、Z+ 坐标系。比较流行的引擎所期望的"
+"法线贴图坐标系见[url=http://wiki.polycount.com/wiki/"
+"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]这个页面[/url]。"
+
+msgid ""
"Specifies whether to use [code]UV[/code] or [code]UV2[/code] for the detail "
"layer. See [enum DetailUV] for options."
msgstr ""
@@ -13387,6 +13459,41 @@ msgid "The strength of the normal map's effect."
msgstr "法线贴图的效果强度。"
msgid ""
+"Texture used to specify the normal at a given pixel. The [member "
+"normal_texture] only uses the red and green channels; the blue and alpha "
+"channels are ignored. The normal read from [member normal_texture] is "
+"oriented around the surface normal provided by the [Mesh].\n"
+"[b]Note:[/b] The mesh must have both normals and tangents defined in its "
+"vertex data. Otherwise, the normal map won't render correctly and will only "
+"appear to darken the whole surface. If creating geometry with [SurfaceTool], "
+"you can use [method SurfaceTool.generate_normals] and [method SurfaceTool."
+"generate_tangents] to automatically generate normals and tangents "
+"respectively.\n"
+"[b]Note:[/b] Godot expects the normal map to use X+, Y+, and Z+ coordinates. "
+"See [url=http://wiki.polycount.com/wiki/"
+"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for "
+"a comparison of normal map coordinates expected by popular engines.\n"
+"[b]Note:[/b] If [member detail_enabled] is [code]true[/code], the [member "
+"detail_albedo] texture is drawn [i]below[/i] the [member normal_texture]. To "
+"display a normal map [i]above[/i] the [member detail_albedo] texture, use "
+"[member detail_normal] instead."
+msgstr ""
+"用于指定给定像素的法线的纹理。[member normal_texture] 只使用红色和绿色通道;"
+"会忽略蓝色和 alpha 通道。从 [member normal_texture] 读取的法线是围绕 [Mesh] "
+"所提供的表面法线的进行朝向的。\n"
+"[b]注意:[/b]该网格必须在其顶点数据中同时定义法线和切线。否则法线贴图将无法正"
+"确渲染,只会使整个表面变暗。如果使用 [SurfaceTool] 创建几何体,可以使用 "
+"[method SurfaceTool.generate_normals] 和 [method SurfaceTool."
+"generate_tangents] 分别自动生成法线和切线。\n"
+"[b]注意:[/b]Godot 期望法线贴图使用 X+、Y+、Z+ 坐标系。比较流行的引擎所期望的"
+"法线贴图坐标系见[url=http://wiki.polycount.com/wiki/"
+"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]这个页面[/url]。\n"
+"[b]注意:[/b]如果 [member detail_enabled] 为 [code]true[/code],则 [member "
+"detail_albedo] 纹理将在 [member normal_texture] [i]下方[/i]绘制。要在 "
+"[member detail_albedo] 纹理[i]之上[/i]显示法线贴图,请改用 [member "
+"detail_normal]。"
+
+msgid ""
"The number of horizontal frames in the particle sprite sheet. Only enabled "
"when using [constant BILLBOARD_PARTICLES]. See [member billboard_mode]."
msgstr ""
@@ -14200,6 +14307,20 @@ msgid ""
"synchronized with it."
msgstr "映射目标的 [SkeletonProfile]。[BoneMap] 中的键名与此同步。"
+msgid ""
+"This signal is emitted when change the key value in the [BoneMap]. This is "
+"used to validate mapping and to update [BoneMap] editor."
+msgstr ""
+"[BoneMap] 中的键值发生改变时发出此信号。用于验证映射和更新 [BoneMap] 编辑器。"
+
+msgid ""
+"This signal is emitted when change the value in profile or change the "
+"reference of profile. This is used to update key names in the [BoneMap] and "
+"to redraw the [BoneMap] editor."
+msgstr ""
+"配置中的值发生改变或配置的引用发生改变时发出此信号。用于更新 [BoneMap] 中的键"
+"名、重绘 [BoneMap] 编辑器。"
+
msgid "Boolean built-in type."
msgstr "布尔型内置型。"
@@ -14398,6 +14519,9 @@ msgstr ""
"[/csharp]\n"
"[/codeblocks]"
+msgid "Constructs a default-initialized [bool] set to [code]false[/code]."
+msgstr "构造默认初始化为 [code]false[/code] 的 [bool]。"
+
msgid "Constructs a [bool] as a copy of the given [bool]."
msgstr "构造给定 [bool] 的副本。"
@@ -14668,7 +14792,7 @@ msgid "Text [Color] used when the [Button] is being hovered and pressed."
msgstr "该 [Button] 处于悬停并按下状态时,使用的文本 [Color]。"
msgid "The tint of text outline of the [Button]."
-msgstr "该 [Button] 的文本轮廓的着色。"
+msgstr "该 [Button] 的文本轮廓的色调。"
msgid "Text [Color] used when the [Button] is being pressed."
msgstr "该 [Button] 处于按下状态时,使用的文本 [Color] 。"
@@ -15253,6 +15377,14 @@ msgstr ""
"动。"
msgid ""
+"If [code]true[/code], the camera only moves when reaching the vertical (top "
+"and bottom) drag margins. If [code]false[/code], the camera moves vertically "
+"regardless of the drag margins."
+msgstr ""
+"如果为 [code]true[/code],相机仅在达到垂直(顶部及底部)拖动边距时才移动。如"
+"果为 [code]false[/code],相机会垂直移动而不管边距。"
+
+msgid ""
"If [code]true[/code], draws the camera's drag margin rectangle in the editor."
msgstr "如果为 [code]true[/code],在编辑器中绘制相机的拖动边距矩形。"
@@ -15265,6 +15397,13 @@ msgid ""
msgstr "如果为 [code]true[/code],在编辑器中绘制相机的画面矩形。"
msgid ""
+"If [code]true[/code], the camera's rendered view is not affected by its "
+"[member Node2D.rotation] and [member Node2D.global_rotation]."
+msgstr ""
+"如果为 [code]true[/code] ,相机的渲染视图不会受到其 [member Node2D.rotation] "
+"和 [member Node2D.global_rotation] 的影响。"
+
+msgid ""
"Bottom scroll limit in pixels. The camera stops moving when reaching this "
"value, but [member offset] can push the view past the limit."
msgstr ""
@@ -15387,6 +15526,30 @@ msgid ""
"camera."
msgstr "描述此相机渲染哪些 3D 渲染层的剔除掩码。"
+msgid ""
+"If [code]true[/code], the ancestor [Viewport] is currently using this "
+"camera.\n"
+"If multiple cameras are in the scene, one will always be made current. For "
+"example, if two [Camera3D] nodes are present in the scene and only one is "
+"current, setting one camera's [member current] to [code]false[/code] will "
+"cause the other camera to be made current."
+msgstr ""
+"如果为 [code]true[/code],则祖级 [Viewport] 正在使用这个相机。\n"
+"如果场景中有多个相机,总会有一个被设为当前相机。例如,假设场景中存在两个 "
+"[Camera3D] 节点并且只有一个为当前相机,那么如果把某一个相机的 [member "
+"current] 设为 [code]false[/code] 就会导致另一个相机被设为当前相机。"
+
+msgid ""
+"If not [constant DOPPLER_TRACKING_DISABLED], this camera will simulate the "
+"[url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/url] for "
+"objects changed in particular [code]_process[/code] methods. See [enum "
+"DopplerTracking] for possible values."
+msgstr ""
+"如果不是 [constant DOPPLER_TRACKING_DISABLED],此相机将为在 [code]_process[/"
+"code] 中变化的对象模拟[url=https://zh.wikipedia.org/wiki/"
+"%E5%A4%9A%E6%99%AE%E5%8B%92%E6%95%88%E5%BA%94]多普勒效应[/url]。可能的值见 "
+"[enum DopplerTracking]。"
+
msgid "The [Environment] to use for this camera."
msgstr "此相机要使用的 [Environment]。"
@@ -15396,6 +15559,25 @@ msgid ""
msgstr "该相机相对于其本地Z轴的远裁边界的距离。"
msgid ""
+"The camera's field of view angle (in degrees). Only applicable in "
+"perspective mode. Since [member keep_aspect] locks one axis, [code]fov[/"
+"code] sets the other axis' field of view angle.\n"
+"For reference, the default vertical field of view value ([code]75.0[/code]) "
+"is equivalent to a horizontal FOV of:\n"
+"- ~91.31 degrees in a 4:3 viewport\n"
+"- ~101.67 degrees in a 16:10 viewport\n"
+"- ~107.51 degrees in a 16:9 viewport\n"
+"- ~121.63 degrees in a 21:9 viewport"
+msgstr ""
+"相机的视野角度(单位为度)。仅适用于透视模式。由于 [member keep_aspect] 锁定"
+"一个轴,因此 [code]fov[/code] 设置另一个轴的视角。\n"
+"作为参考,默认的垂直视野值([code]70.0[/code])相当于以下水平 FOV:\n"
+"- 在 4:3 视口中约 91.31 度\n"
+"- 在 16:10 视口中约 101.67 度\n"
+"- 在 16:9 视口中约 107.51 度\n"
+"- 在 21:9 视口中约 121.63 度"
+
+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-"
"shearing[/url].\n"
@@ -15531,6 +15713,65 @@ msgid "Physically-based camera settings."
msgstr "基于物理的相机设置。"
msgid ""
+"[CameraAttributesPhysical] is used to set rendering settings based on a "
+"physically-based camera's settings. It is responsible for exposure, auto-"
+"exposure, and depth of field.\n"
+"When used in a [WorldEnvironment] it provides default settings for exposure, "
+"auto-exposure, and depth of field that will be used by all cameras without "
+"their own [CameraAttributes], including the editor camera. When used in a "
+"[Camera3D] it will override any [CameraAttributes] set in the "
+"[WorldEnvironment] and will override the [Camera3D]s [member Camera3D.far], "
+"[member Camera3D.near], [member Camera3D.fov], and [member Camera3D."
+"keep_aspect] properties. When used in [VoxelGI] or [LightmapGI], only the "
+"exposure settings will be used.\n"
+"The default settings are intended for use in an outdoor environment, tips "
+"for settings for use in an indoor environment can be found in each setting's "
+"documentation.\n"
+"[b]Note:[/b] Depth of field blur is only supported in the Forward+ and "
+"Mobile rendering methods, not Compatibility."
+msgstr ""
+"[CameraAttributesPhysical] 用于根据基于物理的相机的设置来设置渲染设置。它负责"
+"曝光、自动曝光和景深。\n"
+"当在 [WorldEnvironment] 中使用时,它提供了曝光、自动曝光和景深的默认设置,这"
+"些设置将由所有没有自己的 [CameraAttributes] 的相机使用,包括编辑器相机。当在 "
+"[Camera3D] 中使用时,它将覆盖 [WorldEnvironment] 中设置的任何 "
+"[CameraAttributes],并将覆盖 [Camera3D] 的 [member Camera3D.far]、[member "
+"Camera3D.near]、[member Camera3D.fov] 和 [member Camera3D.keep_aspect] 属性。"
+"在 [VoxelGI] 或 [LightmapGI] 中使用时,将只会使用曝光设置。\n"
+"默认设置适用于室外环境,可在每个设置的文档中找到有关在室内环境中使用的设置的"
+"提示。\n"
+"[b]注意:[/b]景深模糊只支持 Forward+ 和 Mobile 渲染方式,不支持 "
+"Compatibility。"
+
+msgid "Camera settings in an easy to use format."
+msgstr "相机设置,格式比较易用。"
+
+msgid ""
+"Enables depth of field blur for objects further than [member "
+"dof_blur_far_distance]. Strength of blur is controlled by [member "
+"dof_blur_amount] and modulated by [member dof_blur_far_transition].\n"
+"[b]Note:[/b] Depth of field blur is only supported in the Forward+ and "
+"Mobile rendering methods, not Compatibility."
+msgstr ""
+"为比 [member dof_blur_far_distance] 更远的对象启用景深模糊。模糊强度由 "
+"[member dof_blur_amount] 控制,并由 [member dof_blur_far_transition] 调制。\n"
+"[b]注意:[/b]景深模糊只支持 Forward+ 和 Mobile 渲染方式,不支持 "
+"Compatibility。"
+
+msgid ""
+"Enables depth of field blur for objects closer than [member "
+"dof_blur_near_distance]. Strength of blur is controlled by [member "
+"dof_blur_amount] and modulated by [member dof_blur_near_transition].\n"
+"[b]Note:[/b] Depth of field blur is only supported in the Forward+ and "
+"Mobile rendering methods, not Compatibility."
+msgstr ""
+"为比 [member dof_blur_near_distance] 更近的物体启用景深模糊。模糊强度由 "
+"[member dof_blur_amount] 控制,并由 [member dof_blur_near_transition] 调"
+"制。\n"
+"[b]注意:[/b]景深模糊只支持 Forward+ 和 Mobile 渲染方式,不支持 "
+"Compatibility。"
+
+msgid ""
"A camera feed gives you access to a single physical camera attached to your "
"device."
msgstr "通过相机源,您可以访问连接到设备的单个物理相机。"
@@ -15612,6 +15853,11 @@ msgstr "将相机源 [param feed] 添加到相机服务器中。"
msgid "Returns an array of [CameraFeed]s."
msgstr "返回一个 [CameraFeed] 数组。"
+msgid ""
+"Returns the [CameraFeed] corresponding to the camera with the given [param "
+"index]."
+msgstr "返回与给定索引 [param index] 的相机对应的 [CameraFeed]。"
+
msgid "Returns the number of [CameraFeed]s registered."
msgstr "返回注册的 [CameraFeed] 的数量。"
@@ -16080,6 +16326,69 @@ msgstr "该 [CanvasItem] 已退出画布。"
msgid "The [CanvasItem] will inherit the filter from its parent."
msgstr "该 [CanvasItem] 将从其父级继承过滤器。"
+msgid ""
+"The texture filter reads from the nearest pixel only. The simplest and "
+"fastest method of filtering. Useful for pixel art."
+msgstr "纹理过滤器仅读取最邻近的像素。最简单、最快的过滤方法。可用于像素画。"
+
+msgid ""
+"The texture filter blends between the nearest four pixels. Use this for most "
+"cases where you want to avoid a pixelated style."
+msgstr ""
+"纹理过滤器在最邻近的四个像素之间混合。如果想要避免像素化样式,大多数情况下请"
+"使用此选项。"
+
+msgid ""
+"The texture filter reads from the nearest pixel in the nearest mipmap. This "
+"is the fastest way to read from textures with mipmaps."
+msgstr ""
+"纹理过滤器读取最邻近的 mipmap 中的最邻近像素。这是使用 mipmap 从纹理中读取的"
+"最快方法。"
+
+msgid ""
+"The texture filter blends between the nearest 4 pixels and between the "
+"nearest 2 mipmaps. Use this for non-pixel art textures that may be viewed at "
+"a low scale (e.g. due to [Camera2D] zoom), as mipmaps are important to "
+"smooth out pixels that are smaller than on-screen pixels."
+msgstr ""
+"纹理过滤器在最邻近的 4 个像素和最邻近的 2 个 mipmap 之间混合。请用于可能以低"
+"缩放率查看的非像素画纹理(例如由 [Camera2D] 缩放造成),因为 mipmap 对于平滑"
+"小于屏幕像素的像素很重要。"
+
+msgid ""
+"The texture filter reads from the nearest pixel, but selects a mipmap based "
+"on the angle between the surface and the camera view. This reduces artifacts "
+"on surfaces that are almost in line with the camera. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/textures/default_filters/anisotropic_filtering_level].\n"
+"[b]Note:[/b] This texture filter is rarely useful in 2D projects. [constant "
+"TEXTURE_FILTER_NEAREST_WITH_MIPMAPS] is usually more appropriate."
+msgstr ""
+"纹理过滤器读取最邻近的像素,但会根据表面和相机视图之间的角度选择 mipmap。可以"
+"减少几乎与相机成一直线的表面的伪影。各向异性过滤级别可以通过调整 [member "
+"ProjectSettings.rendering/textures/default_filters/"
+"anisotropic_filtering_level] 来改变。\n"
+"[b]注意:[/b]这个纹理过滤器很少用于 2D 项目。[constant "
+"TEXTURE_FILTER_NEAREST_WITH_MIPMAPS] 通常更合适。"
+
+msgid ""
+"The texture filter blends between the nearest 4 pixels and selects a mipmap "
+"based on the angle between the surface and the camera view. This reduces "
+"artifacts on surfaces that are almost in line with the camera. This is the "
+"slowest of the filtering options, but results in the highest quality "
+"texturing. The anisotropic filtering level can be changed by adjusting "
+"[member ProjectSettings.rendering/textures/default_filters/"
+"anisotropic_filtering_level].\n"
+"[b]Note:[/b] This texture filter is rarely useful in 2D projects. [constant "
+"TEXTURE_FILTER_LINEAR_WITH_MIPMAPS] is usually more appropriate."
+msgstr ""
+"纹理过滤器在最邻近的 4 个像素之间进行混合,并会根据表面和相机视图之间的角度选"
+"择 mipmap。可以减少几乎与相机成一直线的表面的伪影。这是最慢的过滤选项,但可以"
+"得到最高质量的纹理。各向异性过滤级别可以通过调整 [member ProjectSettings."
+"rendering/textures/default_filters/anisotropic_filtering_level] 来改变。\n"
+"[b]注意:[/b]这个纹理过滤器很少用于 2D 项目。[constant "
+"TEXTURE_FILTER_NEAREST_WITH_MIPMAPS] 通常更合适。"
+
msgid "Texture will not repeat."
msgstr "纹理不会重复。"
@@ -16094,6 +16403,9 @@ msgstr "纹理将以 2x2 平铺模式重复,其中偶数位置的元素会被
msgid "Represents the size of the [enum TextureRepeat] enum."
msgstr "代表 [enum TextureRepeat] 枚举的大小。"
+msgid "Child draws over parent and is not clipped."
+msgstr "子级绘制在父级之上,不会被裁剪。"
+
msgid ""
"Parent is used for the purposes of clipping only. Child is clipped to the "
"parent's visible area, parent is not drawn."
@@ -16234,6 +16546,11 @@ msgid "Returns the RID of the canvas used by this layer."
msgstr "返回此层使用的画布的 RID。"
msgid ""
+"Returns the transform from the [CanvasLayer]s coordinate system to the "
+"[Viewport]s coordinate system."
+msgstr "返回从 [CanvasLayer] 坐标系到 [Viewport] 坐标系的变换。"
+
+msgid ""
"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
"setting [member visible] to [code]false[/code]."
msgstr ""
@@ -16265,6 +16582,10 @@ msgstr ""
"幕上的某个固定位置。\n"
"与 [member follow_viewport_scale] 配合可以实现伪 3D 效果。"
+msgid ""
+"Layer index for draw order. Lower values are drawn behind higher values."
+msgstr "绘制顺序的图层索引。较低值绘制在较高值之后。"
+
msgid "The layer's base offset."
msgstr "图层的基本偏移量。"
@@ -16296,11 +16617,54 @@ msgstr "给整个画布上色。"
msgid ""
"[CanvasModulate] tints the canvas elements using its assigned [member color]."
-msgstr "[CanvasModulate]使用其分配的[member color]对画布元素进行着色。"
+msgstr "[CanvasModulate] 使用其分配的 [member color] 对画布元素着色。"
msgid "The tint color to apply."
msgstr "要应用的色调颜色。"
+msgid "Texture with optional normal and specular maps for use in 2D rendering."
+msgstr "用于 2D 渲染的纹理,带有可选的法线和镜面贴图。"
+
+msgid ""
+"[CanvasTexture] is an alternative to [ImageTexture] for 2D rendering. It "
+"allows using normal maps and specular maps in any node that inherits from "
+"[CanvasItem]. [CanvasTexture] also allows overriding the texture's filter "
+"and repeat mode independently of the node's properties (or the project "
+"settings).\n"
+"[b]Note:[/b] [CanvasTexture] cannot be used in 3D rendering. For physically-"
+"based materials in 3D, use [BaseMaterial3D] instead."
+msgstr ""
+"[CanvasTexture] 是用于 2D 渲染的 [ImageTexture] 的替代品。它允许在任何继承自 "
+"[CanvasItem] 的节点中使用法线贴图和镜面贴图。[CanvasTexture] 还允许独立于节点"
+"的属性(或项目设置)覆盖纹理的过滤模式和重复模式。\n"
+"[b]注意:[/b][CanvasTexture] 不能用于 3D 渲染。对于 3D 中基于物理的材质,请使"
+"用 [BaseMaterial3D] 来代替。"
+
+msgid ""
+"The diffuse (color) texture to use. This is the main texture you want to set "
+"in most cases."
+msgstr "要使用的漫反射(颜色)纹理。这是你在大多数情况下要设置的主要纹理。"
+
+msgid ""
+"The normal map texture to use. Only has a visible effect if [Light2D]s are "
+"affecting this [CanvasTexture].\n"
+"[b]Note:[/b] Godot expects the normal map to use X+, Y+, and Z+ coordinates. "
+"See [url=http://wiki.polycount.com/wiki/"
+"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for "
+"a comparison of normal map coordinates expected by popular engines."
+msgstr ""
+"要使用的法线贴图纹理。仅在有 [Light2D] 影响该 [CanvasTexture] 时才有可见的效"
+"果。\n"
+"[b]注意:[/b]Godot 期望法线贴图使用 X+、Y+、Z+ 坐标系。比较流行的引擎所期望的"
+"法线贴图坐标系见[url=http://wiki.polycount.com/wiki/"
+"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]这个页面[/url]。"
+
+msgid "The texture filtering mode to use when drawing this [CanvasTexture]."
+msgstr "绘制该 [CanvasTexture] 时所使用的纹理过滤模式。"
+
+msgid "The texture repeat mode to use when drawing this [CanvasTexture]."
+msgstr "绘制该 [CanvasTexture] 时所使用的纹理重复模式。"
+
msgid "Class representing a capsule-shaped [PrimitiveMesh]."
msgstr "表示胶囊状 [PrimitiveMesh] 的类。"
@@ -16313,12 +16677,18 @@ msgstr "胶囊网格的半径。"
msgid "Number of rings along the height of the capsule."
msgstr "沿胶囊高度的环数。"
+msgid "Capsule shape resource for 2D physics."
+msgstr "用于 2D 物理的胶囊形状资源。"
+
msgid "The capsule's height."
msgstr "胶囊体的高度。"
msgid "The capsule's radius."
msgstr "胶囊体的半径。"
+msgid "Capsule shape resource for 3D collisions."
+msgstr "用于 3D 物理的胶囊形状资源。"
+
msgid "Keeps children controls centered."
msgstr "使子级控件居中。"
@@ -17002,7 +17372,7 @@ msgid "Binary choice user interface widget. See also [CheckButton]."
msgstr "二项选择用户界面小部件。另请参阅 [CheckButton]。"
msgid "The [CheckBox] text's font color."
-msgstr "该 [CheckBox] 的文本字体颜色。"
+msgstr "该 [CheckBox] 文本的字体颜色。"
msgid "The [CheckBox] text's font color when it's disabled."
msgstr "该 [CheckBox] 被禁用时的文本字体颜色。"
@@ -17021,46 +17391,56 @@ msgstr "该 [CheckBox] 被悬停时的文本字体颜色。"
msgid "The [CheckBox] text's font color when it's hovered and pressed."
msgstr "该 [CheckBox] 被悬停且被按下时的文本字体颜色。"
+msgid "The tint of text outline of the [CheckBox]."
+msgstr "该 [CheckBox] 文本轮廓的色调。"
+
msgid "The [CheckBox] text's font color when it's pressed."
msgstr "该 [CheckBox] 被按下时的文本字体颜色。"
msgid "The vertical offset used when rendering the check icons (in pixels)."
msgstr "渲染复选图标时使用的垂直偏移量(单位为像素)。"
+msgid ""
+"The separation between the check icon and the text (in pixels). Negative "
+"values will be treated as [code]0[/code] when used."
+msgstr ""
+"复选图标与文本之间的间隔(单位为像素)。使用时负值会被视为 [code]0[/code]。"
+
msgid "The [Font] to use for the [CheckBox] text."
-msgstr "该 [CheckBox] 的文本所使用的 [Font]。"
+msgstr "该 [CheckBox] 文本所使用的 [Font]。"
msgid "Font size of the [CheckBox]'s text."
-msgstr "该 [CheckBox] 的文本字体大小。"
+msgstr "该 [CheckBox] 文本的字体大小。"
msgid "The check icon to display when the [CheckBox] is checked."
-msgstr "选中图标,该 [CheckBox] 处于选中状态时使用。"
+msgstr "选中时显示的图标,该 [CheckBox] 处于选中状态时使用。"
msgid ""
"The check icon to display when the [CheckBox] is checked and is disabled."
-msgstr "选中图标,该 [CheckBox] 处于选中且禁用状态时使用。"
+msgstr "选中时显示的图标,该 [CheckBox] 处于选中且禁用状态时使用。"
msgid ""
"The check icon to display when the [CheckBox] is configured as a radio "
"button and is checked."
-msgstr "选中图标,该 [CheckBox] 被配置为单选按钮并处于选中状态时使用。"
+msgstr "选中时显示的图标,该 [CheckBox] 被配置为单选按钮并处于选中状态时使用。"
msgid ""
"The check icon to display when the [CheckBox] is configured as a radio "
"button, is disabled, and is unchecked."
-msgstr "选中图标,该 [CheckBox] 被配置为单选按钮并处于未选且禁用状态时使用。"
+msgstr ""
+"选中时显示的图标,该 [CheckBox] 被配置为单选按钮并处于未选且禁用状态时使用。"
msgid ""
"The check icon to display when the [CheckBox] is configured as a radio "
"button and is unchecked."
-msgstr "选中图标,该 [CheckBox] 被配置为单选按钮并处于未选状态时使用。"
+msgstr "选中时显示的图标,该 [CheckBox] 被配置为单选按钮并处于未选状态时使用。"
msgid "The check icon to display when the [CheckBox] is unchecked."
-msgstr "选中图标,该 [CheckBox] 处于未选状态时使用。"
+msgstr "选中时显示的图标,该 [CheckBox] 处于未选状态时使用。"
msgid ""
"The check icon to display when the [CheckBox] is unchecked and is disabled."
-msgstr "选中图标,该 [CheckBox] 处于未选状态时使用。"
+msgstr "选中时显示的图标,该 [CheckBox] 处于未选状态时使用。"
msgid ""
"The [StyleBox] to display as a background when the [CheckBox] is disabled."
@@ -17102,6 +17482,22 @@ msgstr "作为背景显示的 [StyleBox],该 [CheckBox] 处于按下状态时
msgid "Checkable button. See also [CheckBox]."
msgstr "可复选的按钮。另请参阅 [CheckBox]。"
+msgid ""
+"CheckButton is a toggle button displayed as a check field. It's similar to "
+"[CheckBox] in functionality, but it has a different appearance. To follow "
+"established UX patterns, it's recommended to use CheckButton when toggling "
+"it has an [b]immediate[/b] effect on something. For example, it could be "
+"used if toggling it enables/disables a setting without requiring the user to "
+"press a confirmation button.\n"
+"See also [BaseButton] which contains common properties and methods "
+"associated with this node."
+msgstr ""
+"CheckButton 是一种开关按钮,以开关字段的形式显示。功能上类似于 [CheckBox],但"
+"外观不同。为了实现一致的用户体验模式,建议在开关会[b]立即[/b]产生效果时使用 "
+"CheckButton。例如,开关后无需用户按下确认按钮,会立即启用/禁用某个设置时就可"
+"以使用。\n"
+"另见 [BaseButton],包含该按钮的通用属性和方法。"
+
msgid "The [CheckButton] text's font color."
msgstr "该 [CheckButton] 的文本字体颜色。"
@@ -17122,12 +17518,21 @@ msgstr "该 [CheckButton] 被悬停时的文本字体颜色。"
msgid "The [CheckButton] text's font color when it's hovered and pressed."
msgstr "该 [CheckButton] 被悬停且被按下时的文本字体颜色。"
+msgid "The tint of text outline of the [CheckButton]."
+msgstr "该 [CheckButton] 文本轮廓的色调。"
+
msgid "The [CheckButton] text's font color when it's pressed."
msgstr "该 [CheckButton] 被按下时的文本字体颜色。"
msgid "The vertical offset used when rendering the toggle icons (in pixels)."
msgstr "渲染切换图标时使用的垂直偏移量(单位为像素)。"
+msgid ""
+"The separation between the toggle icon and the text (in pixels). Negative "
+"values will be treated as [code]0[/code] when used."
+msgstr ""
+"切换图标与文本之间的间隔(单位为像素)。使用时负值会被视为 [code]0[/code]。"
+
msgid "The [Font] to use for the [CheckButton] text."
msgstr "该 [CheckButton] 文本所使用的 [Font]。"
@@ -17212,6 +17617,9 @@ msgid ""
"The [StyleBox] to display as a background when the [CheckButton] is pressed."
msgstr "作为背景显示的 [StyleBox],用于该 [CheckButton] 的按下状态。"
+msgid "Circular shape resource for 2D physics."
+msgstr "用于 2D 物理的圆形资源。"
+
msgid "The circle's radius."
msgstr "圆的半径。"
@@ -17431,6 +17839,12 @@ msgid ""
"Returns the full text with char [code]0xFFFF[/code] at the cursor location."
msgstr "返回在光标位置处带有 [code]0xFFFF[/code] 字符的全文。"
+msgid "Returns [code]true[/code] if close key [param close_key] exists."
+msgstr "如果关闭键 [param close_key] 存在,则返回 [code]true[/code]。"
+
+msgid "Returns [code]true[/code] if open key [param open_key] exists."
+msgstr "如果打开键 [param open_key] 存在,则返回 [code]true[/code]。"
+
msgid "Returns [code]true[/code] if comment [param start_key] exists."
msgstr "如果注释的 [param start_key] 存在,返回 [code]true[/code] 。"
@@ -17538,6 +17952,21 @@ msgid ""
"Sets the string delimiters. All existing string delimiters will be removed."
msgstr "设置字符串分隔符。将删除所有的现有字符串分隔符。"
+msgid ""
+"Sets if bookmarked should be drawn in the gutter. This gutter is shared with "
+"breakpoints and executing lines."
+msgstr "设置是否应在边栏中绘制书签。该边栏与断点和执行行共享。"
+
+msgid ""
+"Sets if breakpoints should be drawn in the gutter. This gutter is shared "
+"with bookmarks and executing lines."
+msgstr "设置是否应在边栏中绘制断点。该边栏与书签和执行行共享。"
+
+msgid ""
+"Sets if executing lines should be marked in the gutter. This gutter is "
+"shared with breakpoints and bookmarks lines."
+msgstr "设置是否应在边栏中绘制执行行。该边栏与断点和书签共享。"
+
msgid "Sets if foldable lines icons should be drawn in the gutter."
msgstr "设置是否应在装订线中绘制可折叠行图标。"
@@ -17555,6 +17984,12 @@ msgstr "设置是否启用自动缩进,如果找到前缀或括号,这将添
msgid "Prefixes to trigger an automatic indent."
msgstr "触发自动缩进的前缀。"
+msgid ""
+"Size of tabs, if [code]indent_use_spaces[/code] is enabled the number of "
+"spaces to use."
+msgstr ""
+"制表符的大小,如果启用 [code]indent_use_spaces[/code],则代表使用的空格数。"
+
msgid "Use spaces instead of tabs for indentation."
msgstr "使用空格代替制表符进行缩进。"
@@ -17571,6 +18006,16 @@ msgstr ""
msgid "Emitted when the user requests code completion."
msgstr "当用户请求代码补全时触发。"
+msgid "Emitted when the user has clicked on a valid symbol."
+msgstr "用户点击有效符号时发出。"
+
+msgid ""
+"Emitted when the user hovers over a symbol. The symbol should be validated "
+"and responded to, by calling [method set_symbol_lookup_word_as_valid]."
+msgstr ""
+"用户将鼠标悬停在符号上时发出。应该通过调用 [method "
+"set_symbol_lookup_word_as_valid] 对该符号进行验证和响应。"
+
msgid "Marks the option as a class."
msgstr "将该选项标记为类。"
@@ -17602,20 +18047,44 @@ msgid "Marks the option as unclassified or plain text."
msgstr "将该选项标记为未分类或纯文本。"
msgid "Sets the background [Color]."
-msgstr "设置背景 [Color]。"
+msgstr "设置背景的 [Color]。"
msgid "[Color] of the bookmark icon for bookmarked lines."
-msgstr "书签图标的颜色 [Color],用于标记了书签的行。"
+msgstr "书签图标的 [Color],用于标记了书签的行。"
+
+msgid "[Color] of the text to highlight mismatched braces."
+msgstr "用于高亮不匹配括号文本的 [Color]。"
+
+msgid "[Color] of the breakpoint icon for bookmarked lines."
+msgstr "书签行的断点图标的 [Color]。"
msgid "[Color] of the text behind the caret when block caret is enabled."
msgstr "启用块光标时在光标后面的文本的 [Color]。"
msgid "[Color] of the caret."
-msgstr "光标的颜色 [Color]。"
+msgstr "光标的 [Color]。"
+
+msgid "[Color] for all icons related to line folding."
+msgstr "所有与折叠行相关的图标的 [Color]。"
+
+msgid "Font [Color] for the code completion popup."
+msgstr "代码补全弹出窗口字体的 [Color]。"
+
+msgid "[Color] of the scrollbar in the code completion popup."
+msgstr "代码补全弹出窗口中滚动条的 [Color]。"
+
+msgid "Background [Color] of the line containing the caret."
+msgstr "光标所在行的背景 [Color]。"
+
+msgid "[Color] of the executing icon for executing lines."
+msgstr "执行行执行图标的 [Color]。"
msgid "Sets the font [Color]."
msgstr "设置字体颜色 [Color]。"
+msgid "The tint of text outline of the [CodeEdit]."
+msgstr "该 [CodeEdit] 文本轮廓的色调。"
+
msgid "Font color for [member TextEdit.placeholder_text]."
msgstr "[member TextEdit.placeholder_text] 的字体颜色。"
@@ -17625,6 +18094,14 @@ msgstr "设置行号的颜色 [Color]。"
msgid "Sets the highlight [Color] of text selections."
msgstr "设置文本选择的高亮 [Color] 颜色。"
+msgid ""
+"Max width of options in the code completion popup. Options longer then this "
+"will be cut off."
+msgstr "代码补全弹出窗口中选项的最大宽度。更长的选项将被切断。"
+
+msgid "Width of the scrollbar in the code completion popup."
+msgstr "代码补全弹出窗口中滚动条的宽度。"
+
msgid "Sets the spacing between the lines."
msgstr "设置行间距。"
@@ -17635,6 +18112,24 @@ msgid "Sets default font size."
msgstr "设置默认的字体大小。"
msgid ""
+"Sets a custom [Texture2D] to draw in the bookmark gutter for bookmarked "
+"lines."
+msgstr "设置书签行的自定义 [Texture2D],会在书签栏中绘制。"
+
+msgid ""
+"Sets a custom [Texture2D] to draw in the breakpoint gutter for breakpointed "
+"lines."
+msgstr "设置断点行的自定义 [Texture2D],会在断点栏中绘制。"
+
+msgid ""
+"Sets a custom [Texture2D] to draw in the line folding gutter when a line can "
+"be folded."
+msgstr "设置可折叠行的自定义 [Texture2D],会在折叠行栏中绘制。"
+
+msgid "Icon to draw in the executing gutter for executing lines."
+msgstr "执行行的图标,会在执行栏中绘制。"
+
+msgid ""
"Sets a custom [Texture2D] to draw in the line folding gutter when a line is "
"folded and can be unfolded."
msgstr ""
@@ -17671,6 +18166,9 @@ msgstr ""
msgid "Sets the [StyleBox]."
msgstr "设置该 [StyleBox]。"
+msgid "Sets the [StyleBox] when [member TextEdit.editable] is disabled."
+msgstr "设置 [member TextEdit.editable] 处于禁用状态时的 [StyleBox]。"
+
msgid "A syntax highlighter for code."
msgstr "代码语法高亮器。"
@@ -17687,6 +18185,16 @@ msgstr ""
"[param line_only] 表示该区域应该持续到该行的末尾,还是延续到下一行。如果结束"
"键为空,则自动设置为[code]true[/code]。"
+msgid ""
+"Sets the color for a keyword.\n"
+"The keyword cannot contain any symbols except '_'."
+msgstr ""
+"设置关键字的颜色。\n"
+"关键字不能包含除“_”之外的任何符号。"
+
+msgid "Removes all color regions."
+msgstr "移除所有颜色区域。"
+
msgid "Removes all keywords."
msgstr "移除所有关键字。"
@@ -17699,6 +18207,20 @@ msgstr "返回某个关键字的颜色。"
msgid "Returns the color for a member keyword."
msgstr "返回某个成员关键字的颜色。"
+msgid ""
+"Returns [code]true[/code] if the start key exists, else [code]false[/code]."
+msgstr "如果开始键存在则返回 [code]true[/code],否则返回 [code]false[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the keyword exists, else [code]false[/code]."
+msgstr "如果关键字存在则返回 [code]true[/code],否则返回 [code]false[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the member keyword exists, else [code]false[/"
+"code]."
+msgstr ""
+"如果成员关键字存在则返回 [code]true[/code],否则返回 [code]false[/code]。"
+
msgid "Removes the keyword."
msgstr "移除关键字。"
@@ -17891,6 +18413,9 @@ msgstr "碰撞将包括多边形及其包含的区域。"
msgid "Collisions will only include the polygon edges."
msgstr "碰撞将仅包括多边形边缘。"
+msgid "Editor-only node for defining a collision polygon in 3D space."
+msgstr "编辑器专用的节点,用于在 3D 空间中定义碰撞多边形。"
+
msgid ""
"Allows editing a concave or convex collision polygon's vertices on a "
"selected plane. Can also set a depth perpendicular to that plane. This class "
@@ -18105,6 +18630,21 @@ msgid "Constructs a [Color] as a copy of the given [Color]."
msgstr "构造给定 [Color] 的副本。"
msgid ""
+"Constructs a [Color] either from an HTML color code or from a standardized "
+"color name. The supported color names are the same as the constants."
+msgstr ""
+"从 HTML 颜色代码或标准化的颜色名称中构建 [Color]。支持的颜色名称与常量名相"
+"同。"
+
+msgid ""
+"Constructs a [Color] either from an HTML color code or from a standardized "
+"color name, with [param alpha] on the range of 0.0 to 1.0. The supported "
+"color names are the same as the constants."
+msgstr ""
+"从 HTML 颜色代码或标准化的颜色名称中构建 [Color],[param alpha] 的范围为 0.0 "
+"到 1.0。支持的颜色名称与常量名相同。"
+
+msgid ""
"Constructs a [Color] from RGB values, typically between 0.0 and 1.0. [member "
"a] is set to 1.0.\n"
"[codeblocks]\n"
@@ -18213,6 +18753,12 @@ msgstr ""
"[/codeblocks]"
msgid ""
+"Decodes a [Color] from a RGBE9995 format integer. See [constant Image."
+"FORMAT_RGBE9995]."
+msgstr ""
+"从 RGBE9995 格式的整数解码 [Color]。见 [constant Image.FORMAT_RGBE9995]。"
+
+msgid ""
"Creates a [Color] from the given string, which can be either an HTML color "
"code or a named color (case-insensitive). Returns [param default] if the "
"color cannot be inferred from the string."
@@ -18608,6 +19154,9 @@ msgstr "橘黄色。"
msgid "Black color. In GDScript, this is the default value of any color."
msgstr "黑色。在 GDScript 中,这是所有颜色的默认值。"
+msgid "Blanched almond color."
+msgstr "杏仁白色。"
+
msgid "Blue color."
msgstr "蓝色。"
@@ -18617,6 +19166,9 @@ msgstr "蓝紫色的颜色。"
msgid "Brown color."
msgstr "棕色。"
+msgid "Burlywood color."
+msgstr "硬木色。"
+
msgid "Cadet blue color."
msgstr "军服蓝。"
@@ -18629,6 +19181,12 @@ msgstr "巧克力色。"
msgid "Coral color."
msgstr "珊瑚色。"
+msgid "Cornflower blue color."
+msgstr "矢车菊蓝色。"
+
+msgid "Cornsilk color."
+msgstr "玉米须色。"
+
msgid "Crimson color."
msgstr "绯红的颜色。"
@@ -19049,6 +19607,24 @@ msgstr "将该 [Color] 的每个分量除以给定的 [float]。"
msgid "Divides each component of the [Color] by the given [int]."
msgstr "将该 [Color] 的每个分量除以给定的 [int]。"
+msgid ""
+"Returns [code]true[/code] if the colors are exactly equal.\n"
+"[b]Note:[/b] Due to floating-point precision errors, consider using [method "
+"is_equal_approx] instead, which is more reliable."
+msgstr ""
+"如果颜色完全相同,则返回 [code]true[/code]。\n"
+"[b]注意:[/b]由于浮点精度误差,请考虑改用更可靠的 [method is_equal_approx]。"
+
+msgid ""
+"Access color components using their index. [code][0][/code] is equivalent to "
+"[member r], [code][1][/code] is equivalent to [member g], [code][2][/code] "
+"is equivalent to [member b], and [code][3][/code] is equivalent to [member "
+"a]."
+msgstr ""
+"使用索引访问颜色分量。[code][0][/code] 相当于 [member r],[code][1][/code] 相"
+"当于 [member g],[code][2][/code] 相当于 [member b],[code][3][/code] 相当于 "
+"[member a]."
+
msgid "Color picker control."
msgstr "取色器控件。"
@@ -19152,9 +19728,15 @@ msgstr "饱和度选择框的宽度。"
msgid "The icon for the \"Add Preset\" button."
msgstr "“添加预设”按钮的图标。"
+msgid "The texture for the arrow grabber."
+msgstr "箭头抓取器的纹理。"
+
msgid "Custom texture for the hue selection slider on the right."
msgstr "右侧的色相选择滑块的自定义纹理。"
+msgid "Custom texture for the H slider in the OKHSL color mode."
+msgstr "OKHSL 颜色模式的 H 滑块的自定义纹理。"
+
msgid "The icon for color preset drop down menu when expanded."
msgstr "颜色预设下拉菜单展开时使用的图标。"
@@ -19225,6 +19807,9 @@ msgstr ""
msgid "Text [Color] used when the [ColorPickerButton] is being hovered."
msgstr "悬停 [ColorPickerButton] 时使用的文本 [Color]。"
+msgid "The tint of text outline of the [ColorPickerButton]."
+msgstr "[ColorPickerButton] 文本轮廓的色调。"
+
msgid "Text [Color] used when the [ColorPickerButton] is being pressed."
msgstr "按下 [ColorPickerButton] 时使用的文本颜色 [Color]。"
@@ -20463,6 +21048,96 @@ msgstr ""
"add_theme_stylebox_override] 或检查器面板添加的。"
msgid ""
+"Works the same as [method set_anchor], but instead of [code]keep_offset[/"
+"code] argument and automatic update of offset, it allows to set the offset "
+"yourself (see [method set_offset])."
+msgstr ""
+"工作原理与 [method set_anchor] 相同,但取代 [code]keep_offset[/code] 参数和自"
+"动更新的偏移,它允许您自己设置偏移量(参见 [method set_offset])。"
+
+msgid ""
+"Sets both anchor preset and offset preset. See [method set_anchors_preset] "
+"and [method set_offsets_preset]."
+msgstr ""
+"设置锚点预设和偏移预设。参见 [method set_anchors_preset] 和 [method "
+"set_offsets_preset]。"
+
+msgid ""
+"Sets [member offset_left] and [member offset_top] at the same time. "
+"Equivalent of changing [member position]."
+msgstr ""
+"同时设置 [member offset_left] 和 [member offset_top]。相当于改变 [member "
+"position]。"
+
+msgid ""
+"Shows the given control at the mouse pointer. A good time to call this "
+"method is in [method _get_drag_data]. The control must not be in the scene "
+"tree. You should not free the control, and you should not keep a reference "
+"to the control beyond the duration of the drag. It will be deleted "
+"automatically after the drag has ended.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"@export var color = Color(1, 0, 0, 1)\n"
+"\n"
+"func _get_drag_data(position):\n"
+" # Use a control that is not in the tree\n"
+" var cpb = ColorPickerButton.new()\n"
+" cpb.color = color\n"
+" cpb.size = Vector2(50, 50)\n"
+" set_drag_preview(cpb)\n"
+" return color\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"[Export]\n"
+"private Color _color = new Color(1, 0, 0, 1);\n"
+"\n"
+"public override Variant _GetDragData(Vector2 atPosition)\n"
+"{\n"
+" // Use a control that is not in the tree\n"
+" var cpb = new ColorPickerButton();\n"
+" cpb.Color = _color;\n"
+" cpb.Size = new Vector2(50, 50);\n"
+" SetDragPreview(cpb);\n"
+" return _color;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"在鼠标指针处显示给定的控件。调用此方法的好时机是在 [method _get_drag_data] "
+"中。控件不得位于场景树中。您不应释放控件,也不应在拖动持续时间之外保留对控件"
+"的引用。拖拽结束后它会自动删除。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"@export var color = Color(1, 0, 0, 1)\n"
+"\n"
+"func _get_drag_data(position):\n"
+" #使用不在树中的控件\n"
+" var cpb = ColorPickerButton.new()\n"
+" cpb.color = color\n"
+" cpb.size = Vector2(50, 50)\n"
+" set_drag_preview(cpb)\n"
+" return color\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"[Export]\n"
+"private Color _color = new Color(1, 0, 0, 1);\n"
+"\n"
+"public override Variant _GetDragData(Vector2 atPosition)\n"
+"{\n"
+" // 使用不在树中的控件\n"
+" var cpb = new ColorPickerButton();\n"
+" cpb.Color = _color;\n"
+" cpb.Size = new Vector2(50, 50);\n"
+" SetDragPreview(cpb);\n"
+" return _color;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid "Sets [member offset_right] and [member offset_bottom] at the same time."
+msgstr "同时设置 [member offset_right] 和 [member offset_bottom]。"
+
+msgid ""
"Moves the mouse cursor to [param position], relative to [member position] of "
"this [Control].\n"
"[b]Note:[/b] [method warp_mouse] is only supported on Windows, macOS and "
@@ -20703,10 +21378,64 @@ msgstr ""
"pivot_offset] 的影响。"
msgid ""
+"The node's rotation around its pivot, in radians. See [member pivot_offset] "
+"to change the pivot's position.\n"
+"[b]Note:[/b] This property is edited in the inspector in degrees. If you "
+"want to use degrees in a script, use [member rotation_degrees]."
+msgstr ""
+"该节点围绕其轴心的旋转,单位为弧度。要更改轴心的位置,请参阅 [member "
+"pivot_offset]。\n"
+"[b]注意:[/b]该属性在检查器中以度为单位进行编辑。如果要在脚本中使用度数,请使"
+"用 [member rotation_degrees]。"
+
+msgid ""
"Helper property to access [member rotation] in degrees instead of radians."
msgstr "辅助属性,用于按度数访问 [member rotation] 而不是弧度数。"
msgid ""
+"The node's scale, relative to its [member size]. Change this property to "
+"scale the node around its [member pivot_offset]. The Control's [member "
+"tooltip_text] will also scale according to this value.\n"
+"[b]Note:[/b] This property is mainly intended to be used for animation "
+"purposes. To support multiple resolutions in your project, use an "
+"appropriate viewport stretch mode as described in the [url=$DOCS_URL/"
+"tutorials/rendering/multiple_resolutions.html]documentation[/url] instead of "
+"scaling Controls individually.\n"
+"[b]Note:[/b] [member FontFile.oversampling] does [i]not[/i] take [Control] "
+"[member scale] into account. This means that scaling up/down will cause "
+"bitmap fonts and rasterized (non-MSDF) dynamic fonts to appear blurry or "
+"pixelated. To ensure text remains crisp regardless of scale, you can enable "
+"MSDF font rendering by enabling [member ProjectSettings.gui/theme/"
+"default_font_multichannel_signed_distance_field] (applies to the default "
+"project font only), or enabling [b]Multichannel Signed Distance Field[/b] in "
+"the import options of a DynamicFont for custom fonts. On system fonts, "
+"[member SystemFont.multichannel_signed_distance_field] can be enabled in the "
+"inspector.\n"
+"[b]Note:[/b] If the Control node is a child of a [Container] node, the scale "
+"will be reset to [code]Vector2(1, 1)[/code] when the scene is instantiated. "
+"To set the Control's scale when it's instantiated, wait for one frame using "
+"[code]await get_tree().process_frame[/code] then set its [member scale] "
+"property."
+msgstr ""
+"节点的缩放,相对于它的 [member size]。更改该属性以围绕其 [member "
+"pivot_offset] 缩放节点。该 Control 的 [member tooltip_text] 也将根据该值进行"
+"缩放。\n"
+"[b]注意:[/b]该属性主要用于动画用途。要在项目中支持多种分辨率,请使用 "
+"[url=$DOCS_URL/tutorials/rendering/multiple_resolutions.html]文档[/url] 中所"
+"述的合适的视口拉伸模式,而不是单独缩放控件。\n"
+"[b]注意:[/b][member FontFile.oversampling] [i]不[/i]考虑 [Control] [member "
+"scale]。这意味着放大/缩小会导致位图字体和光栅化(非 MSDF)动态字体显得模糊或"
+"像素化。为确保无论缩放比例如何,文本都保持清晰,您可以通过启用 [member "
+"ProjectSettings.gui/theme/default_font_multichannel_signed_distance_field]"
+"(仅适用于默认项目字体);或在自定义字体的 DynamicFont 的导入选项中,启用[b]"
+"多通道有符号距离场[/b]来启用 MSDF 字体渲染。对于系统字体,可以在检查器中启用 "
+"[member SystemFont.multichannel_signed_distance_field]。\n"
+"[b]注意:[/b]如果该 Control 节点是 [Container] 节点的子节点,则场景实例化时,"
+"缩放将重置为 [code]Vector2(1, 1)[/code]。要在实例化时设置控件的缩放,请使用 "
+"[code]await get_tree().process_frame[/code] 等待一帧,然后再设置其 [member "
+"scale] 属性。"
+
+msgid ""
"The size of the node's bounding rectangle, in the node's coordinate system. "
"[Container] nodes update this property automatically."
msgstr ""
@@ -21100,6 +21829,22 @@ msgstr ""
"为已处理,不会进一步传播到其他控件,因此相关的信号也不会在其他控件中触发。"
msgid ""
+"The control will receive mouse button input events through [method "
+"_gui_input] if clicked on. And the control will receive the [signal "
+"mouse_entered] and [signal mouse_exited] signals. If this control does not "
+"handle the event, the parent control (if any) will be considered, and so on "
+"until there is no more parent control to potentially handle it. This also "
+"allows signals to fire in other controls. If no control handled it, the "
+"event will be passed to [method Node._unhandled_input] for further "
+"processing."
+msgstr ""
+"控件被点击时,将通过 [method _gui_input] 收到鼠标按钮输入事件。并且控件能够接"
+"收到 [signal mouse_entered] 和 [signal mouse_exited] 信号。如果此控件未处理事"
+"件,则将考虑其父控件(如果有的话),并依此类推,直到不再有可能处理它的父控件"
+"为止。相关的信号可以在其他控件中触发。如果没有控件处理它,事件将被传递到 "
+"[method Node._unhandled_input] 进一步处理。"
+
+msgid ""
"The control will not receive mouse button input events through [method "
"_gui_input]. The control will also not receive the [signal mouse_entered] "
"nor [signal mouse_exited] signals. This will not block other controls from "
@@ -21151,6 +21896,14 @@ msgstr ""
"[code]anchor_*[/code] 成员变量中使用,例如 [member anchor_left]。要一次更改全"
"部 4 个锚点,请使用 [method set_anchors_preset]。"
+msgid ""
+"Automatic layout direction, determined from the parent control layout "
+"direction."
+msgstr "自动布局方向,由父控件布局方向决定。"
+
+msgid "Automatic layout direction, determined from the current locale."
+msgstr "自动布局方向,根据当前语言环境确定。"
+
msgid "Left-to-right layout direction."
msgstr "从左至右的布局方向。"
@@ -21620,6 +22373,14 @@ msgstr ""
"径。"
msgid ""
+"The particle system's frame rate is fixed to a value. For example, changing "
+"the value to 2 will make the particles render at 2 frames per second. Note "
+"this does not slow down the particle system itself."
+msgstr ""
+"固定粒子系统的帧速率为一个值。例如,把该值改为2将使粒子以每秒2帧的速度渲染。"
+"请注意,这并不会降低粒子系统本身的速度。"
+
+msgid ""
"Amount of [member spread] in Y/Z plane. A value of [code]1[/code] restricts "
"particles to X/Z plane."
msgstr ""
@@ -21645,6 +22406,19 @@ msgid "Minimum linear acceleration."
msgstr "最小线性加速度。"
msgid ""
+"If [code]true[/code], particles use the parent node's coordinate space "
+"(known as local coordinates). This will cause particles to move and rotate "
+"along the [CPUParticles3D] node (and its parents) when it is moved or "
+"rotated. If [code]false[/code], particles use global coordinates; they will "
+"not move or rotate along the [CPUParticles3D] node (and its parents) when it "
+"is moved or rotated."
+msgstr ""
+"如果为 [code]true[/code],粒子使用父节点的坐标空间(称为局部坐标)。这将导致"
+"粒子在移动或旋转时,沿着 [CPUParticles3D] 节点(及其父节点)移动和旋转。如果"
+"为 [code]false[/code],则粒子使用全局坐标;当移动或旋转时,它们不会沿着 "
+"[CPUParticles3D] 节点(及其父节点)移动或旋转。"
+
+msgid ""
"The [Mesh] used for each particle. If [code]null[/code], particles will be "
"spheres."
msgstr "每个粒子使用的 [Mesh]。如果为 [code]null[/code],则粒子将为球形。"
@@ -21658,6 +22432,10 @@ msgstr "最小轨道速度。"
msgid "If [code]true[/code], particles will not move on the Z axis."
msgstr "如果为 [code]true[/code],则粒子将不会在 Z 轴上移动。"
+msgid ""
+"If [code]true[/code], particles rotate around Y axis by [member angle_min]."
+msgstr "如果为 [code]true[/code],则粒子绕 Y 轴旋转 [member angle_min]。"
+
msgid "Maximum radial acceleration."
msgstr "最大径向加速度。"
@@ -21680,6 +22458,11 @@ msgid "Curve for the scale over life, along the z axis."
msgstr "生命周期内,沿 Z 轴的缩放曲线。"
msgid ""
+"If set to true, three different scale curves can be specified, one per scale "
+"axis."
+msgstr "如果设置为 true,则可以指定三条不同的缩放曲线,每个缩放轴一条。"
+
+msgid ""
"Each particle's initial direction range from [code]+spread[/code] to [code]-"
"spread[/code] degrees. Applied to X/Z plane and Y/Z planes."
msgstr ""
@@ -22053,6 +22836,19 @@ msgstr ""
msgid "A CSG Box shape."
msgstr "CSG 盒子形状。"
+msgid ""
+"This node allows you to create a box for use with the CSG system.\n"
+"[b]Note:[/b] CSG nodes are intended to be used for level prototyping. "
+"Creating CSG nodes has a significant CPU cost compared to creating a "
+"[MeshInstance3D] with a [PrimitiveMesh]. Moving a CSG node within another "
+"CSG node also has a significant CPU cost, so it should be avoided during "
+"gameplay."
+msgstr ""
+"此节点允许您创建与 CSG 系统一起使用的盒子。\n"
+"[b]注意:[/b] CSG 节点旨在用于关卡原型设计。与使用 [PrimitiveMesh] 创建 "
+"[MeshInstance3D] 相比,创建 CSG 节点具有显着的 CPU 成本。在另一个 CSG 节点"
+"中,移动一个 CSG 节点,也会大量消耗 CPU,因此在游戏过程中,应该避免这种情况。"
+
msgid "Prototyping levels with CSG"
msgstr "使用 CSG 设计关卡原型"
@@ -22066,6 +22862,20 @@ msgid "A CSG Cylinder shape."
msgstr "CSG 圆柱形状。"
msgid ""
+"This node allows you to create a cylinder (or cone) for use with the CSG "
+"system.\n"
+"[b]Note:[/b] CSG nodes are intended to be used for level prototyping. "
+"Creating CSG nodes has a significant CPU cost compared to creating a "
+"[MeshInstance3D] with a [PrimitiveMesh]. Moving a CSG node within another "
+"CSG node also has a significant CPU cost, so it should be avoided during "
+"gameplay."
+msgstr ""
+"此节点允许您创建与 CSG 系统一起使用的圆柱体(或圆锥体)。\n"
+"[b]注意:[/b] CSG 节点旨在用于关卡原型设计。与使用 [PrimitiveMesh] 创建 "
+"[MeshInstance3D] 相比,创建 CSG 节点具有显着的 CPU 成本。在另一个 CSG 节点"
+"中,移动一个 CSG 节点,也会大量消耗 CPU,因此在游戏过程中,应该避免这种情况。"
+
+msgid ""
"If [code]true[/code] a cone is created, the [member radius] will only apply "
"to one side."
msgstr "如果为 [code]true[/code],则创建圆锥,仅在一侧应用 [member radius]。"
@@ -22095,6 +22905,24 @@ msgstr ""
msgid "A CSG Mesh shape that uses a mesh resource."
msgstr "使用网格资源的 CSG 网格形状。"
+msgid ""
+"This CSG node allows you to use any mesh resource as a CSG shape, provided "
+"it is closed, does not self-intersect, does not contain internal faces and "
+"has no edges that connect to more than two faces. See also [CSGPolygon3D] "
+"for drawing 2D extruded polygons to be used as CSG nodes.\n"
+"[b]Note:[/b] CSG nodes are intended to be used for level prototyping. "
+"Creating CSG nodes has a significant CPU cost compared to creating a "
+"[MeshInstance3D] with a [PrimitiveMesh]. Moving a CSG node within another "
+"CSG node also has a significant CPU cost, so it should be avoided during "
+"gameplay."
+msgstr ""
+"此 CSG 节点允许你将任何网格资源用作 CSG 形状,前提是它是闭合的、不自相交、不"
+"包含内部面并且没有连接到两个面以上的边。 另请参阅 [CSGPolygon3D],以绘制 2D "
+"挤出多边形以用作 CSG 节点。\n"
+"[b]注意:[/b] CSG 节点旨在用于关卡原型设计。与使用 [PrimitiveMesh] 创建 "
+"[MeshInstance3D] 相比,创建 CSG 节点具有显着的 CPU 成本。在另一个 CSG 节点"
+"中,移动一个 CSG 节点,也会大量消耗 CPU,因此在游戏过程中,应该避免这种情况。"
+
msgid "The [Material] used in drawing the CSG shape."
msgstr "用于绘制 CSG 形状的 [Material]。"
@@ -22422,9 +23250,34 @@ msgstr "返回索引为 [param index] 的点的右侧切线夹角(单位为度
msgid "Removes the point at [code]index[/code] from the curve."
msgstr "从曲线中移除 [code]index[/code] 处的点。"
+msgid ""
+"Sets the left [enum TangentMode] for the point at [param index] to [param "
+"mode]."
+msgstr ""
+"将索引为 [param index] 的点的左侧 [enum TangentMode] 设置为 [param mode]。"
+
+msgid ""
+"Sets the left tangent angle for the point at [param index] to [param "
+"tangent]."
+msgstr "将索引为 [param index] 的点的左侧切线角度设置为 [param tangent]。"
+
msgid "Sets the offset from [code]0.5[/code]."
msgstr "设置相对于 [code]0.5[/code] 的偏移量。"
+msgid ""
+"Sets the right [enum TangentMode] for the point at [param index] to [param "
+"mode]."
+msgstr ""
+"将索引为 [param index] 的点的右侧 [enum TangentMode] 设置为 [param mode]。"
+
+msgid ""
+"Sets the right tangent angle for the point at [param index] to [param "
+"tangent]."
+msgstr "将索引为 [param index] 的点的右侧切线角度设置为 [param tangent]。"
+
+msgid "Assigns the vertical position [param y] to the point at [param index]."
+msgstr "将索引为 [param index] 的点的垂直位置设置为 [param y]。"
+
msgid "The number of points to include in the baked (i.e. cached) curve data."
msgstr "烘焙(即缓存)曲线数据中包含的点的数量。"
@@ -22643,6 +23496,59 @@ msgid "Node that projects a texture onto a [MeshInstance3D]."
msgstr "将纹理投影到 [MeshInstance3D] 上的节点。"
msgid ""
+"[Decal]s are used to project a texture onto a [Mesh] in the scene. Use "
+"Decals to add detail to a scene without affecting the underlying [Mesh]. "
+"They are often used to add weathering to building, add dirt or mud to the "
+"ground, or add variety to props. Decals can be moved at any time, making "
+"them suitable for things like blob shadows or laser sight dots.\n"
+"They are made of an [AABB] and a group of [Texture2D]s specifying [Color], "
+"normal, ORM (ambient occlusion, roughness, metallic), and emission. Decals "
+"are projected within their [AABB] so altering the orientation of the Decal "
+"affects the direction in which they are projected. By default, Decals are "
+"projected down (i.e. from positive Y to negative Y).\n"
+"The [Texture2D]s associated with the Decal are automatically stored in a "
+"texture atlas which is used for drawing the decals so all decals can be "
+"drawn at once. Godot uses clustered decals, meaning they are stored in "
+"cluster data and drawn when the mesh is drawn, they are not drawn as a post-"
+"processing effect after.\n"
+"[b]Note:[/b] Decals cannot affect an underlying material's transparency, "
+"regardless of its transparency mode (alpha blend, alpha scissor, alpha hash, "
+"opaque pre-pass). This means translucent or transparent areas of a material "
+"will remain translucent or transparent even if an opaque decal is applied on "
+"them.\n"
+"[b]Note:[/b] Decals are only supported in the Forward+ and Mobile rendering "
+"methods, not Compatibility. When using the Mobile rendering method, only 8 "
+"decals can be displayed on each mesh resource. Attempting to display more "
+"than 8 decals on a single mesh resource will result in decals flickering in "
+"and out as the camera moves.\n"
+"[b]Note:[/b] When using the Mobile rendering method, decals will only "
+"correctly affect meshes whose visibility AABB intersects with the decal's "
+"AABB. If using a shader to deform the mesh in a way that makes it go outside "
+"its AABB, [member GeometryInstance3D.extra_cull_margin] must be increased on "
+"the mesh. Otherwise, the decal may not be visible on the mesh."
+msgstr ""
+"[Decal] 用于将纹理投射到场景中的 [Mesh] 上。使用贴花可在不影响底层 [Mesh] 的"
+"情况下向场景中添加细节。它们通常用于为建筑物添加风化效果,为地面添加污垢或泥"
+"土,或为道具添加多样性。贴花可以随时移动,使其适用于斑点阴影或激光瞄准点之类"
+"的东西。\n"
+"贴花由一个 [AABB] 和一组用于指定 [Color]、法线、ORM(环境光遮蔽、粗糙度、金属"
+"度)和自发光的 [Texture2D] 组成。贴花在其 [AABB] 内投影,因此改变贴花的朝向会"
+"影响它们投影的方向。默认情况下,贴花向下投影(即从正 Y 到负 Y)。\n"
+"与贴花关联的 [Texture2D] 会自动存储在用于绘制贴花的纹理图集中,因此可以一次绘"
+"制所有贴花。Godot 使用集群贴花,这意味着贴花是存储在集群数据中的,会在绘制网"
+"格时绘制,而不是作为后期处理效果在此之后进行绘制。\n"
+"[b]注意:[/b]贴花不会影响底层材质的透明度,无论其透明度模式如何(Alpha 混合、"
+"Alpha 剪切、Alpha 哈希、不透明预通)。这意味着材质的半透明或透明区域将保持半"
+"透明或透明,即使在其上应用不透明贴花也是如此。\n"
+"[b]注意:[/b]贴花仅在支持 Forward+ 和 Mobile 渲染方式,不支持 Compatibility。"
+"使用 Mobile 渲染方式时,每个网格资源上最多只能显示 8 个贴花。尝试在单个网格资"
+"源上显示超过 8 个贴花,将导致贴花随着相机移动而闪烁。\n"
+"[b]注意:[/b]当使用 Mobile 渲染方式时,贴花只会正确影响其可视 AABB 与该贴花"
+"的 AABB 相交的网格。如果使用着色器变形网格,使其超出网格自身的 AABB,则必须增"
+"大网格上的 [member GeometryInstance3D.extra_cull_margin]。否则,贴花可能在该"
+"网格上不可见。"
+
+msgid ""
"Returns the [Texture2D] associated with the specified [enum DecalTexture]. "
"This is a convenience method, in most cases you should access the texture "
"directly.\n"
@@ -23732,6 +24638,20 @@ msgstr "静态版本的 [method rename]。仅支持绝对路径。"
msgid "Directional 2D light from a distance."
msgstr "来自远处的 2D 平行光。"
+msgid ""
+"A directional light is a type of [Light2D] node that models an infinite "
+"number of parallel rays covering the entire scene. It is used for lights "
+"with strong intensity that are located far away from the scene (for example: "
+"to model sunlight or moonlight).\n"
+"[b]Note:[/b] [DirectionalLight2D] does not support light cull masks (but it "
+"supports shadow cull masks). It will always light up 2D nodes, regardless of "
+"the 2D node's [member CanvasItem.light_mask]."
+msgstr ""
+"定向光是一种 [Light2D] 节点,它模拟覆盖整个场景的无限数量的平行光线。它用于远"
+"离场景的强光(例如:模拟日光或月光)。\n"
+"[b]注意:[/b][DirectionalLight2D] 不支持灯光剔除遮罩(但支持阴影剔除遮罩)。"
+"它将忽略 2D 节点的 [member CanvasItem.light_mask],始终点亮 2D 节点。"
+
msgid "2D lights and shadows"
msgstr "2D 灯光和阴影"
@@ -23845,6 +24765,136 @@ msgid "Returns index of the screen which contains specified rectangle."
msgstr "返回包含指定矩形的屏幕的索引。"
msgid ""
+"Adds a new radio-checkable item with text [param label] and icon [param "
+"icon] to the global menu with ID [param menu_root].\n"
+"Returns index of the inserted item, it's not guaranteed to be the same as "
+"[param index] value.\n"
+"An [param accelerator] can optionally be defined, which is a keyboard "
+"shortcut that can be pressed to trigger the menu button even if it's not "
+"currently open. The [param accelerator] is generally a combination of [enum "
+"KeyModifierMask]s and [enum Key]s using boolean OR such as "
+"[code]KEY_MASK_CTRL | KEY_A[/code] ([kbd]Ctrl + A[/kbd]).\n"
+"[b]Note:[/b] Radio-checkable items just display a checkmark, but don't have "
+"any built-in checking behavior and must be checked/unchecked manually. See "
+"[method global_menu_set_item_checked] for more info on how to control it.\n"
+"[b]Note:[/b] The [param callback] and [param key_callback] Callables need to "
+"accept exactly one Variant parameter, the parameter passed to the Callables "
+"will be the value passed to [param tag].\n"
+"[b]Note:[/b] This method is implemented on macOS.\n"
+"[b]Supported system menu IDs:[/b]\n"
+"[codeblock]\n"
+"\"_main\" - Main menu (macOS).\n"
+"\"_dock\" - Dock popup menu (macOS).\n"
+"[/codeblock]"
+msgstr ""
+"将带有文本 [param label] 和图标 [param icon] 的新单选项,添加到 ID 为 [param "
+"menu_root] 的全局菜单中。\n"
+"返回插入项的索引,不保证与 [param index] 值相同。\n"
+"可以选择定义一个 [param accelerator],这是一个键盘快捷键,可以按下它来触发菜"
+"单按钮,即使该菜单按钮当前没有打开。[param accelerator] 通常是 [enum "
+"KeyModifierMask] 和 [enum Key] 使用布尔 OR 的组合,例如 [code]KEY_MASK_CTRL "
+"| KEY_A[/code]([kbd]Ctrl + A[/kbd])。\n"
+"[b]注意:[/b]单选可勾选项只显示一个复选标记,但没有任何内置的勾选行为,必须手"
+"动勾选/取消勾选。有关如何控制它的更多信息,请参阅 [method "
+"global_menu_set_item_checked]。\n"
+"[b]注意:[/b][param callback] 和 [param key_callback] Callable 只需要接受一"
+"个 Variant 参数,传递给 Callable 的参数将是传递给 [param tag] 的值。\n"
+"[b]注意:[/b]这个方法是在 macOS 上实现的。\n"
+"[b]支持的系统菜单 ID:[/b]\n"
+"[codeblock]\n"
+"\"_main\" - 主菜单(macOS)。\n"
+"\"_dock\" - Dock 弹出菜单(macOS)。\n"
+"[/codeblock]"
+
+msgid ""
+"Adds a new item with text [param label] to the global menu with ID [param "
+"menu_root].\n"
+"Contrarily to normal binary items, multistate items can have more than two "
+"states, as defined by [param max_states]. Each press or activate of the item "
+"will increase the state by one. The default value is defined by [param "
+"default_state].\n"
+"Returns index of the inserted item, it's not guaranteed to be the same as "
+"[param index] value.\n"
+"An [param accelerator] can optionally be defined, which is a keyboard "
+"shortcut that can be pressed to trigger the menu button even if it's not "
+"currently open. The [param accelerator] is generally a combination of [enum "
+"KeyModifierMask]s and [enum Key]s using boolean OR such as "
+"[code]KEY_MASK_CTRL | KEY_A[/code] ([kbd]Ctrl + A[/kbd]).\n"
+"[b]Note:[/b] By default, there's no indication of the current item state, it "
+"should be changed manually.\n"
+"[b]Note:[/b] The [param callback] and [param key_callback] Callables need to "
+"accept exactly one Variant parameter, the parameter passed to the Callables "
+"will be the value passed to [param tag].\n"
+"[b]Note:[/b] This method is implemented on macOS.\n"
+"[b]Supported system menu IDs:[/b]\n"
+"[codeblock]\n"
+"\"_main\" - Main menu (macOS).\n"
+"\"_dock\" - Dock popup menu (macOS).\n"
+"[/codeblock]"
+msgstr ""
+"将带有文本 [param label] 的新项,添加到 ID 为 [param menu_root] 的全局菜"
+"单。\n"
+"与正常的二进制项目相反,多状态项目可以有两个以上的状态,如 [param "
+"max_states] 所定义。每次按下或激活该项都会将状态增加一个。默认值由 [param "
+"default_state] 定义。\n"
+"返回插入项的索引,不保证与 [param index] 值相同。\n"
+"可以选择定义一个 [param accelerator],这是一个键盘快捷键,可以按下它来触发菜"
+"单按钮,即使该菜单按钮当前没有打开。[param accelerator] 通常是 [enum "
+"KeyModifierMask] 和 [enum Key] 使用布尔 OR 的组合,例如 [code]KEY_MASK_CTRL "
+"| KEY_A[/code]([kbd]Ctrl + A[/kbd])。\n"
+"[b]注意:[/b]默认情况下,没有当前项状态的指示,应手动更改。\n"
+"[b]注意:[/b][param callback] 和 [param key_callback] Callable 只需要接受一"
+"个 Variant 参数,传递给 Callable 的参数将是传递给 [param tag] 的值。\n"
+"[b]注意:[/b]该方法在 macOS 上实现。\n"
+"[b]支持的系统菜单 ID:[/b]\n"
+"[codeblock]\n"
+"\"_main\" - 主菜单(macOS)。\n"
+"\"_dock\" - Dock 弹出菜单(macOS)。\n"
+"[/codeblock]"
+
+msgid ""
+"Adds a new radio-checkable item with text [param label] to the global menu "
+"with ID [param menu_root].\n"
+"Returns index of the inserted item, it's not guaranteed to be the same as "
+"[param index] value.\n"
+"An [param accelerator] can optionally be defined, which is a keyboard "
+"shortcut that can be pressed to trigger the menu button even if it's not "
+"currently open. The [param accelerator] is generally a combination of [enum "
+"KeyModifierMask]s and [enum Key]s using boolean OR such as "
+"[code]KEY_MASK_CTRL | KEY_A[/code] ([kbd]Ctrl + A[/kbd]).\n"
+"[b]Note:[/b] Radio-checkable items just display a checkmark, but don't have "
+"any built-in checking behavior and must be checked/unchecked manually. See "
+"[method global_menu_set_item_checked] for more info on how to control it.\n"
+"[b]Note:[/b] The [param callback] and [param key_callback] Callables need to "
+"accept exactly one Variant parameter, the parameter passed to the Callables "
+"will be the value passed to [param tag].\n"
+"[b]Note:[/b] This method is implemented on macOS.\n"
+"[b]Supported system menu IDs:[/b]\n"
+"[codeblock]\n"
+"\"_main\" - Main menu (macOS).\n"
+"\"_dock\" - Dock popup menu (macOS).\n"
+"[/codeblock]"
+msgstr ""
+"将带有文本 [param label] 的新单选可勾选项,添加到 ID 为 [param menu_root] 的"
+"全局菜单中。\n"
+"返回插入项的索引,不保证与 [param index] 值相同。\n"
+"可以选择定义一个 [param accelerator],这是一个键盘快捷键,可以按下它来触发菜"
+"单按钮,即使该菜单按钮当前没有打开。[param accelerator] 通常是 [enum "
+"KeyModifierMask] 和 [enum Key] 使用布尔 OR 的组合,例如 [code]KEY_MASK_CTRL "
+"| KEY_A[/code]([kbd]Ctrl + A[/kbd])。\n"
+"[b]注意:[/b]单选勾选项只显示一个复选标记,但没有任何内置的勾选行为,必须手动"
+"勾选/取消勾选。有关如何控制它的更多信息,请参阅 [method "
+"global_menu_set_item_checked]。\n"
+"[b]注意:[/b][param callback] 和 [param key_callback] Callable 只需要接受一"
+"个 Variant 参数,传递给 Callable 的参数将是传递给 [param tag] 的值。\n"
+"[b]注意:[/b] 该方法是在 macOS 上实现的。\n"
+"[b]支持的系统菜单 ID:[/b]\n"
+"[codeblock]\n"
+"\"_main\" - 主菜单(macOS)。\n"
+"\"_dock\" - Dock 弹出菜单(macOS)。\n"
+"[/codeblock]"
+
+msgid ""
"Returns the accelerator of the item at index [param idx]. Accelerators are "
"special combinations of keys that activate the item, no matter which control "
"is focused.\n"
@@ -24047,6 +25097,38 @@ msgstr ""
"[b]注意:[/b]该方法在 Windows 上实现。"
msgid ""
+"Returns an [Array] of voice information dictionaries.\n"
+"Each [Dictionary] contains two [String] entries:\n"
+"- [code]name[/code] is voice name.\n"
+"- [code]id[/code] is voice identifier.\n"
+"- [code]language[/code] is language code in [code]lang_Variant[/code] "
+"format. [code]lang[/code] part is a 2 or 3-letter code based on the ISO-639 "
+"standard, in lowercase. And [code]Variant[/code] part is an engine dependent "
+"string describing country, region or/and dialect.\n"
+"Note that Godot depends on system libraries for text-to-speech "
+"functionality. These libraries are installed by default on Windows and "
+"MacOS, but not on all Linux distributions. If they are not present, this "
+"method will return an empty list. This applies to both Godot users on Linux, "
+"as well as end-users on Linux running Godot games that use text-to-speech.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, Web, Linux (X11), "
+"macOS, and Windows."
+msgstr ""
+"返回一个语音信息字典的 [Array]。\n"
+"每个 [Dictionary] 包含两个 [String] 条目:\n"
+"- [code]name[/code] 是语音名称。\n"
+"- [code]id[/code] 是语音标识符。\n"
+"- [code]language[/code] 是语言代码,格式为 [code]lang_Variant[/code] 。"
+"[code]lang[/code] 部分是小写的基于 ISO-639 标准的 2 或 3 字母代码。而 "
+"[code]Variant[/code] 部分是一个依赖于引擎的字符串,描述国家、地区或/和方"
+"言。\n"
+"请注意,Godot 依赖于系统库来实现文本到语音的功能。这些库默认安装在 Windows "
+"和 MacOS 上,但并非安装在所有 Linux 发行版上。如果它们不存在,此方法将返回一"
+"个空列表。这适用于 Linux 上的 Godot 用户,以及在 Linux 上运行使用文本到语音"
+"的 Godot 游戏的最终用户。\n"
+"[b]注意:[/b]该方法在 Android、iOS、Web、Linux(X11)、macOS 和 Windows 上实"
+"现。"
+
+msgid ""
"Returns the on-screen keyboard's height in pixels. Returns 0 if there is no "
"keyboard or if it is currently hidden."
msgstr ""
@@ -24095,6 +25177,11 @@ msgstr ""
"[b]注意:[/b][method warp_mouse] 仅在 Windows、macOS 和 Linux 上受支持。它在 "
"Android、iOS 和 Web 上无效。"
+msgid ""
+"Returns ID of the active popup window, or [constant INVALID_WINDOW_ID] if "
+"there is none."
+msgstr "返回活动弹出窗口的 ID,如果没有则返回 [constant INVALID_WINDOW_ID]。"
+
msgid "Returns the current value of the given window's [param flag]."
msgstr "返回给定窗口当前的 [param flag] 值。"
@@ -24307,6 +25394,25 @@ msgstr ""
"[b]注意:[/b]行为可能因平台而异。"
msgid ""
+"Sets the V-Sync mode of the given window. See also [member ProjectSettings."
+"display/window/vsync/vsync_mode].\n"
+"See [enum DisplayServer.VSyncMode] for possible values and how they affect "
+"the behavior of your application.\n"
+"Depending on the platform and used renderer, the engine will fall back to "
+"[constant VSYNC_ENABLED] if the desired mode is not supported.\n"
+"[b]Note:[/b] V-Sync modes other than [constant VSYNC_ENABLED] are only "
+"supported in the Forward+ and Mobile rendering methods, not Compatibility."
+msgstr ""
+"设置给定窗口的垂直同步模式。另见 [member ProjectSettings.display/window/"
+"vsync/vsync_mode]。\n"
+"参阅 [enum DisplayServer.VSyncMode] 了解可能的值,以及它们如何影响应用程序的"
+"行为。\n"
+"根据平台和使用的渲染器,如果不支持所需的模式,引擎将回退到 [constant "
+"VSYNC_ENABLED]。\n"
+"[b]注意:[/b]除 [constant VSYNC_ENABLED] 以外的垂直同步模式,仅支持 Forward+ "
+"和 Mobile 渲染方式,不支持 Compatibility。"
+
+msgid ""
"Display server supports global menu. This allows the application to display "
"its menu items in the operating system's top bar. [b]macOS[/b]"
msgstr ""
@@ -24363,6 +25469,21 @@ msgstr ""
"(X11)、Web[/b]"
msgid ""
+"Display server supports spawning dialogs using the operating system's native "
+"look-and-feel. [b]macOS[/b]"
+msgstr "显示服务器支持使用操作系统的本地界面外观来生成对话框。[b]macOS[/b]"
+
+msgid ""
+"Display server supports [url=https://en.wikipedia.org/wiki/"
+"Input_method]Input Method Editor[/url], which is commonly used for inputting "
+"Chinese/Japanese/Korean text. This is handled by the operating system, "
+"rather than by Godot. [b]Windows, macOS, Linux (X11)[/b]"
+msgstr ""
+"显示服务器支持 [url=https://en.wikipedia.org/wiki/Input_method]输入法[/url],"
+"它通常用于输入中文、日文和韩文文本。这由操作系统处理,而不是由 Godot 处理。"
+"[b]Windows, macOS, Linux (X11)[/b]"
+
+msgid ""
"Display server supports changing the window icon (usually displayed in the "
"top-left corner). [b]Windows, macOS, Linux (X11)[/b]"
msgstr ""
@@ -25010,6 +26131,14 @@ msgid ""
"Returns [code]true[/code] if the attached remote instance can be debugged."
msgstr "如果附加的远程实例可以调试,则返回 [code]true[/code]。"
+msgid "Emitted when the attached remote instance exits a break state."
+msgstr "当连接的远程实例退出中断状态时触发。"
+
+msgid ""
+"Emitted when a remote instance is attached to this session (i.e. the session "
+"becomes active)."
+msgstr "当一个远程实例连接到该会话时触发(即该会话成为活动状态)。"
+
msgid "A script that is executed when exporting the project."
msgstr "在导出项目时执行的脚本。"
@@ -25983,12 +27112,38 @@ msgstr ""
"的控件。\n"
"[b]警告:[/b]删除和释放这个节点将使编辑器失效,并可能导致崩溃。"
+msgid ""
+"Returns the editor's [EditorCommandPalette] instance.\n"
+"[b]Warning:[/b] Removing and freeing this node will render a part of the "
+"editor useless and may cause a crash."
+msgstr ""
+"返回编辑器的 [EditorCommandPalette] 实例。\n"
+"[b]警告:[/b] 删除和释放此节点,将使编辑器的一部分失去作用,并可能导致崩溃。"
+
+msgid ""
+"Returns the current directory being viewed in the [FileSystemDock]. If a "
+"file is selected, its base directory will be returned using [method String."
+"get_base_dir] instead."
+msgstr ""
+"返回 [FileSystemDock] 中当前正在查看的目录。如果选择了一个文件,则将使用 "
+"[method String.get_base_dir] 返回其基本目录。"
+
msgid "Returns the current path being viewed in the [FileSystemDock]."
msgstr "返回在 [FileSystemDock] 中查看的当前路径。"
msgid "Returns the edited (current) scene's root [Node]."
msgstr "返回正在编辑的(当前)场景的根 [Node]。"
+msgid ""
+"Returns the editor control responsible for main screen plugins and tools. "
+"Use it with plugins that implement [method EditorPlugin._has_main_screen].\n"
+"[b]Warning:[/b] Removing and freeing this node will render a part of the "
+"editor useless and may cause a crash."
+msgstr ""
+"返回负责主屏幕插件和工具的编辑器控件。将其与实现了 [method EditorPlugin."
+"_has_main_screen] 的插件一起使用。\n"
+"[b]警告:[/b] 移除和释放这个节点将使编辑器的一部分失去作用,并可能导致崩溃。"
+
msgid "Returns the [EditorPaths] singleton."
msgstr "返回 [EditorPaths] 单例。"
@@ -26047,10 +27202,23 @@ msgstr ""
"返回编辑器的脚本编辑器 [ScriptEditor] 实例。\n"
"[b]警告:[/b]删除和释放这个节点将使编辑器的一部分失去作用,并可能导致崩溃。"
+msgid ""
+"Returns an array containing the paths of the currently selected files (and "
+"directories) in the [FileSystemDock]."
+msgstr "返回一个包含了 [FileSystemDock] 中当前所选文件(和目录)路径的数组。"
+
msgid "Returns the editor's [EditorSelection] instance."
msgstr "返回编辑器的 [EditorSelection] 实例。"
msgid ""
+"Shows the given property on the given [param object] in the editor's "
+"Inspector dock. If [param inspector_only] is [code]true[/code], plugins will "
+"not attempt to edit [param object]."
+msgstr ""
+"在编辑器的检查器面板中显示给定 [param object] 的属性。如果 [param "
+"inspector_only] 为 [code]true[/code] ,插件将不会试图编辑 [param object]。"
+
+msgid ""
"Returns [code]true[/code] if a scene is currently being played, [code]false[/"
"code] otherwise. Paused scenes are considered as being played."
msgstr ""
@@ -26768,6 +27936,15 @@ msgstr ""
"有关如何注册插件的示例,请参见 [method add_inspector_plugin]。"
msgid ""
+"Registers a new [EditorNode3DGizmoPlugin]. Gizmo plugins are used to add "
+"custom gizmos to the 3D preview viewport for a [Node3D].\n"
+"See [method add_inspector_plugin] for an example of how to register a plugin."
+msgstr ""
+"注册一个新的 [EditorNode3DGizmoPlugin]。小工具插件用于将自定义小工具添加到 "
+"[Node3D] 的 3D 预览视图。\n"
+"有关如何注册插件的示例,请参阅 [method add_inspector_plugin]。"
+
+msgid ""
"Returns the [EditorInterface] object that gives you control over Godot "
"editor's window and its functionalities."
msgstr ""
@@ -27668,6 +28845,13 @@ msgid "The editor theme preset to use."
msgstr "要使用的编辑器主题预设。"
msgid ""
+"If [code]true[/code], long press on touchscreen is treated as right click.\n"
+"[b]Note:[/b] Defaults to [code]true[/code] on touchscreen devices."
+msgstr ""
+"如果为 [code]true[/code],长按触摸屏被视为右键单击。\n"
+"[b]注意:[/b]在触摸屏设备上默认为 [code]true[/code]。"
+
+msgid ""
"The TLS certificate bundle to use for HTTP requests made within the editor "
"(e.g. from the AssetLib tab). If left empty, the [url=https://github.com/"
"godotengine/godot/blob/master/thirdparty/certs/ca-certificates.crt]included "
@@ -27850,6 +29034,251 @@ msgid ""
"names."
msgstr "虚函数,可以在覆盖后返回所支持的语言名称。"
+msgid ""
+"[EditorTranslationParserPlugin] is invoked when a file is being parsed to "
+"extract strings that require translation. To define the parsing and string "
+"extraction logic, override the [method _parse_file] method in script.\n"
+"Add the extracted strings to argument [code]msgids[/code] or "
+"[code]msgids_context_plural[/code] if context or plural is used.\n"
+"When adding to [code]msgids_context_plural[/code], you must add the data "
+"using the format [code][\"A\", \"B\", \"C\"][/code], where [code]A[/code] "
+"represents the extracted string, [code]B[/code] represents the context, and "
+"[code]C[/code] represents the plural version of the extracted string. If you "
+"want to add only context but not plural, put [code]\"\"[/code] for the "
+"plural slot. The idea is the same if you only want to add plural but not "
+"context. See the code below for concrete examples.\n"
+"The extracted strings will be written into a POT file selected by user under "
+"\"POT Generation\" in \"Localization\" tab in \"Project Settings\" menu.\n"
+"Below shows an example of a custom parser that extracts strings from a CSV "
+"file to write into a POT.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"@tool\n"
+"extends EditorTranslationParserPlugin\n"
+"\n"
+"func _parse_file(path, msgids, msgids_context_plural):\n"
+" var file = FileAccess.open(path, FileAccess.READ)\n"
+" var text = file.get_as_text()\n"
+" var split_strs = text.split(\",\", false)\n"
+" for s in split_strs:\n"
+" msgids.append(s)\n"
+" #print(\"Extracted string: \" + s)\n"
+"\n"
+"func _get_recognized_extensions():\n"
+" return [\"csv\"]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"\n"
+"[Tool]\n"
+"public partial class CustomParser : EditorTranslationParserPlugin\n"
+"{\n"
+" public override void _ParseFile(string path, Godot.Collections."
+"Array<string> msgids, Godot.Collections.Array<Godot.Collections.Array> "
+"msgidsContextPlural)\n"
+" {\n"
+" using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);\n"
+" string text = file.GetAsText();\n"
+" string[] splitStrs = text.Split(\",\", allowEmpty: false);\n"
+" foreach (string s in splitStrs)\n"
+" {\n"
+" msgids.Add(s);\n"
+" //GD.Print($\"Extracted string: {s}\");\n"
+" }\n"
+" }\n"
+"\n"
+" public override string[] _GetRecognizedExtensions()\n"
+" {\n"
+" return new string[] { \"csv\" };\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"To add a translatable string associated with context or plural, add it to "
+"[code]msgids_context_plural[/code]:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# This will add a message with msgid \"Test 1\", msgctxt \"context\", and "
+"msgid_plural \"test 1 plurals\".\n"
+"msgids_context_plural.append([\"Test 1\", \"context\", \"test 1 plurals\"])\n"
+"# This will add a message with msgid \"A test without context\" and "
+"msgid_plural \"plurals\".\n"
+"msgids_context_plural.append([\"A test without context\", \"\", "
+"\"plurals\"])\n"
+"# This will add a message with msgid \"Only with context\" and msgctxt \"a "
+"friendly context\".\n"
+"msgids_context_plural.append([\"Only with context\", \"a friendly context\", "
+"\"\"])\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// This will add a message with msgid \"Test 1\", msgctxt \"context\", and "
+"msgid_plural \"test 1 plurals\".\n"
+"msgidsContextPlural.Add(new Godot.Collections.Array{\"Test 1\", \"context\", "
+"\"test 1 Plurals\"});\n"
+"// This will add a message with msgid \"A test without context\" and "
+"msgid_plural \"plurals\".\n"
+"msgidsContextPlural.Add(new Godot.Collections.Array{\"A test without "
+"context\", \"\", \"plurals\"});\n"
+"// This will add a message with msgid \"Only with context\" and msgctxt \"a "
+"friendly context\".\n"
+"msgidsContextPlural.Add(new Godot.Collections.Array{\"Only with context\", "
+"\"a friendly context\", \"\"});\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] If you override parsing logic for standard script types "
+"(GDScript, C#, etc.), it would be better to load the [code]path[/code] "
+"argument using [method ResourceLoader.load]. This is because built-in "
+"scripts are loaded as [Resource] type, not [FileAccess] type.\n"
+"For example:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _parse_file(path, msgids, msgids_context_plural):\n"
+" var res = ResourceLoader.load(path, \"Script\")\n"
+" var text = res.source_code\n"
+" # Parsing logic.\n"
+"\n"
+"func _get_recognized_extensions():\n"
+" return [\"gd\"]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _ParseFile(string path, Godot.Collections.Array<string> "
+"msgids, Godot.Collections.Array<Godot.Collections.Array> "
+"msgidsContextPlural)\n"
+"{\n"
+" var res = ResourceLoader.Load<Script>(path, \"Script\");\n"
+" string text = res.SourceCode;\n"
+" // Parsing logic.\n"
+"}\n"
+"\n"
+"public override string[] _GetRecognizedExtensions()\n"
+"{\n"
+" return new string[] { \"gd\" };\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"To use [EditorTranslationParserPlugin], register it using the [method "
+"EditorPlugin.add_translation_parser_plugin] method first."
+msgstr ""
+"[EditorTranslationParserPlugin]在文件被解析以提取需要翻译的字符串时被调用。为"
+"了定义解析和提取字符串的逻辑,在脚本中覆盖 [method _parse_file] 方法。\n"
+"如果使用上下文或复数形式,则将提取的字符串添加到参数 [code]msgids[/code] 或 "
+"[code]msgids_context_plural[/code]。\n"
+"添加到 [code]msgids_context_plural[/code] 时,必须使用格式 [code][\"A\", "
+"\"B\", \"C\"][/code] 添加数据,其中 [code]A[/code] 表示提取的字符串,"
+"[code]B[/code] 表示上下文,[code]C[/code] 表示提取的字符串的复数形式。如果只"
+"想添加上下文而不添加复数形式,请将 [code]\"\"[/code] 用于复数形式槽。如果只想"
+"添加复数形式而不是上下文,做法也是一样的。有关具体示例,请参阅下面的代码。\n"
+"提取的字符串将被写入用户在“项目设置”菜单的“本地化”选项卡中的“POT 生成”下选择"
+"的 POT 文件中。\n"
+"下面显示了一个自定义解析器的示例,该解析器从 CSV 文件中提取字符串以写入 POT "
+"中。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"@tool\n"
+"extends EditorTranslationParserPlugin\n"
+"\n"
+"func _parse_file(path, msgids, msgids_context_plural):\n"
+" var file = FileAccess.open(path, FileAccess.READ)\n"
+" var text = file.get_as_text()\n"
+" var split_strs = text.split(\",\", false)\n"
+" for s in split_strs:\n"
+" msgids.append(s)\n"
+" #print(\"提取的字符串:\" + s)\n"
+"\n"
+"func _get_recognized_extensions():\n"
+" return [\"csv\"]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"\n"
+"[Tool]\n"
+"public partial class CustomParser : EditorTranslationParserPlugin\n"
+"{\n"
+" public override void _ParseFile(string path, Godot.Collections."
+"Array<string> msgids, Godot.Collections.Array<Godot.Collections.Array> "
+"msgidsContextPlural)\n"
+" {\n"
+" using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);\n"
+" string text = file.GetAsText();\n"
+" string[] splitStrs = text.Split(\",\", allowEmpty: false);\n"
+" foreach (string s in splitStrs)\n"
+" {\n"
+" msgids.Add(s);\n"
+" //GD.Print($\"提取的字符串:{s}\");\n"
+" }\n"
+" }\n"
+"\n"
+" public override string[] _GetRecognizedExtensions()\n"
+" {\n"
+" return new string[] { \"csv\" };\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"要添加一个与上下文或复数关联的可翻译字符串,请将其添加到 "
+"[code]msgids_context_plural[/code]:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 这将添加一条消息,其中 msgid 为“测试 1”、msgctxt 为“上下文”,以及 "
+"msgid_plural 为“测试 1 复数形式”。\n"
+"msgids_context_plural.append([\"测试 1\", \"上下文\", \"测试 1 复数形式\"])\n"
+"# 这将添加一条消息,其中 msgid 为“一个没有上下文的测试”、msgid_plural 为 “复"
+"数形式”。\n"
+"msgids_context_plural.append([\"一个没有上下文的测试\", \"\", \"复数形式"
+"\"])\n"
+"# 这将添加一条消息,其中 msgid 为“仅带有上下文”、msgctxt 为 “一条友好的上下"
+"文”。\n"
+"msgids_context_plural.append([\"仅带有上下文\", \"一条友好的上下文\", "
+"\"\"])\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 这将添加一条消息,其中 msgid 为“测试 1”、msgctxt 为“上下文”,以及 "
+"msgid_plural 为“测试 1 复数形式”。\n"
+"msgidsContextPlural.Add(new Godot.Collections.Array{\"测试 1\", \"上下文\", "
+"\"测试 1 复数形式\"});\n"
+"// 这将添加一条消息,其中 msgid 为“一个没有上下文的测试”、msgid_plural 为 “复"
+"数形式”。\n"
+"msgidsContextPlural.Add(new Godot.Collections.Array{\"一个没有上下文的测试"
+"\", \"\", \"复数形式\"});\n"
+"// 这将添加一条消息,其中 msgid 为“仅带有上下文”、msgctxt 为 “一条友好的上下"
+"文”。\n"
+"msgidsContextPlural.Add(new Godot.Collections.Array{\"仅带有上下文\", \"一条"
+"友好的上下文\", \"\"});\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]如果覆盖了标准脚本类型(GDScript、C# 等)的解析逻辑,最好使用 "
+"[method ResourceLoader.load] 加载 [code]path[/code] 参数。这是因为内置脚本被"
+"加载为 [Resource] 类型,而不是 [FileAccess] 类型。\n"
+"例如:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _parse_file(path, msgids, msgids_context_plural):\n"
+" var res = ResourceLoader.load(path, \"Script\")\n"
+" var text = res.source_code\n"
+" # 解析逻辑。\n"
+"\n"
+"func _get_recognized_extensions():\n"
+" return [\"gd\"]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _ParseFile(string path, Godot.Collections.Array<string> "
+"msgids, Godot.Collections.Array<Godot.Collections.Array> "
+"msgidsContextPlural)\n"
+"{\n"
+" var res = ResourceLoader.Load<Script>(path, \"Script\");\n"
+" string text = res.SourceCode;\n"
+" // 解析逻辑。\n"
+"}\n"
+"\n"
+"public override string[] _GetRecognizedExtensions()\n"
+"{\n"
+" return new string[] { \"gd\" };\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"要使用 [EditorTranslationParserPlugin],请先使用 [method EditorPlugin."
+"add_translation_parser_plugin] 方法注册它。"
+
msgid "Manages undo history of scenes opened in the editor."
msgstr "管理编辑器中打开场景的撤销历史。"
@@ -27870,6 +29299,24 @@ msgstr ""
"用删除的节点(而非“undo”调用!)。"
msgid ""
+"Create a new action. After this is called, do all your calls to [method "
+"add_do_method], [method add_undo_method], [method add_do_property], and "
+"[method add_undo_property], then commit the action with [method "
+"commit_action].\n"
+"The way actions are merged is dictated by the [param merge_mode] argument. "
+"See [enum UndoRedo.MergeMode] for details.\n"
+"If [param custom_context] object is provided, it will be used for deducing "
+"target history (instead of using the first operation)."
+msgstr ""
+"创建一个新的动作。在这个动作被调用后,执行对 [method add_do_method]、[method "
+"add_undo_method]、[method add_do_property] 和 [method add_undo_property] 的所"
+"有调用,然后用 [method commit_action] 提交这个动作。\n"
+"动作的合并方式由 [param merge_mode] 参数决定。有关详细信息,请参阅 [enum "
+"UndoRedo.MergeMode]。\n"
+"如果提供了 [param custom_context] 对象,它将被用于推断目标历史(而不是使用第"
+"一个操作)。"
+
+msgid ""
"Global history not associated with any scene, but with external resources "
"etc."
msgstr "全局历史,与场景无关,但与外部资源等相关。"
@@ -28188,10 +29635,20 @@ msgstr ""
"[code]\"192.168.1.1\"[/code]。"
msgid ""
+"The underlying [ENetConnection] created after [method create_client] and "
+"[method create_server]."
+msgstr ""
+"在 [method create_client] 和 [method create_server] 之后,创建的底层 "
+"[ENetConnection]。"
+
+msgid ""
"A wrapper class for an [url=http://enet.bespin.org/group__peer."
"html]ENetPeer[/url]."
msgstr "[url=http://enet.bespin.org/group__peer.html]ENetPeer[/url] 的包装类。"
+msgid "Returns the number of channels allocated for communication with peer."
+msgstr "返回为与对等体通信而分配的通道数。"
+
msgid "Returns the IP address of this peer."
msgstr "返回该对等体的 IP 地址。"
@@ -28201,6 +29658,46 @@ msgstr "返回该对等体的远程端口。"
msgid "Returns the current peer state. See [enum PeerState]."
msgstr "返回该对等体的当前状态。见 [enum PeerState]。"
+msgid ""
+"Returns the requested [code]statistic[/code] for this peer. See [enum "
+"PeerStatistic]."
+msgstr "返回此对等体请求的 [code]statistic[/code]。参见 [enum PeerStatistic]。"
+
+msgid ""
+"Returns [code]true[/code] if the peer is currently active (i.e. the "
+"associated [ENetConnection] is still valid)."
+msgstr ""
+"如果对等体当前处于活动状态(即关联的 [ENetConnection] 仍然有效),则返回 "
+"[code]true[/code]。"
+
+msgid ""
+"Request a disconnection from a peer. An [constant ENetConnection."
+"EVENT_DISCONNECT] will be generated during [method ENetConnection.service] "
+"once the disconnection is complete."
+msgstr ""
+"请求与对等体断开连接。一旦断开连接完成,在 [method ENetConnection.service] 期"
+"间,将生成一个 [constant ENetConnection.EVENT_DISCONNECT]。"
+
+msgid ""
+"Request a disconnection from a peer, but only after all queued outgoing "
+"packets are sent. An [constant ENetConnection.EVENT_DISCONNECT] will be "
+"generated during [method ENetConnection.service] once the disconnection is "
+"complete."
+msgstr ""
+"请求与对等体断开连接,但仅在发送完所有队列的传出数据包之后。一旦断开连接完"
+"成,在 [method ENetConnection.service] 期间,将生成一个 [constant "
+"ENetConnection.EVENT_DISCONNECT]。"
+
+msgid ""
+"Force an immediate disconnection from a peer. No [constant ENetConnection."
+"EVENT_DISCONNECT] will be generated. The foreign peer is not guaranteed to "
+"receive the disconnect notification, and is reset immediately upon return "
+"from this function."
+msgstr ""
+"强制立即断开与对等体的连接。不会生成 [constant ENetConnection."
+"EVENT_DISCONNECT]。不保证外部对等体会收到断开连接通知,并会在从此函数返回后立"
+"即重置。"
+
msgid "The peer is disconnected."
msgstr "该对等体已断开连接。"
@@ -28303,15 +29800,167 @@ msgid "Returns the main loop object (see [MainLoop] and [SceneTree])."
msgstr "返回主循环对象(请参阅[MainLoop]和[SceneTree])。"
msgid ""
+"Returns the total number of frames passed since engine initialization which "
+"is advanced on each [b]physics frame[/b]. See also [method "
+"get_process_frames].\n"
+"[method get_physics_frames] can be used to run expensive logic less often "
+"without relying on a [Timer]:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _physics_process(_delta):\n"
+" if Engine.get_physics_frames() % 2 == 0:\n"
+" pass # Run expensive logic only once every 2 physics frames here.\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _PhysicsProcess(double delta)\n"
+"{\n"
+" base._PhysicsProcess(delta);\n"
+"\n"
+" if (Engine.GetPhysicsFrames() % 2 == 0)\n"
+" {\n"
+" // Run expensive logic only once every 2 physics frames here.\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回自引擎初始化以来通过的总帧数,该帧数在每个[b]物理帧[/b]上行进。参阅 "
+"[method get_process_frames]。\n"
+"[method get_physics_frames] 可用于在不依赖 [Timer] 的情况下,减少运行昂贵的逻"
+"辑的次数:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _physics_process(_delta):\n"
+" if Engine.get_physics_frames() % 2 == 0:\n"
+" pass # 此处每 2 个物理帧仅运行一次昂贵的逻辑。\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _PhysicsProcess(double delta)\n"
+"{\n"
+" base._PhysicsProcess(delta);\n"
+"\n"
+" if (Engine.GetPhysicsFrames() % 2 == 0)\n"
+" {\n"
+" // 此处每 2 个物理帧仅运行一次昂贵的逻辑。\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Returns the fraction through the current physics tick we are at the time of "
"rendering the frame. This can be used to implement fixed timestep "
"interpolation."
msgstr "返回渲染帧时当前物理周期中的分数。可用于实现固定的时间步插值。"
+msgid ""
+"Returns the total number of frames passed since engine initialization which "
+"is advanced on each [b]process frame[/b], regardless of whether the render "
+"loop is enabled. See also [method get_frames_drawn] and [method "
+"get_physics_frames].\n"
+"[method get_process_frames] can be used to run expensive logic less often "
+"without relying on a [Timer]:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _process(_delta):\n"
+" if Engine.get_process_frames() % 2 == 0:\n"
+" pass # Run expensive logic only once every 2 process (render) "
+"frames here.\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Process(double delta)\n"
+"{\n"
+" base._Process(delta);\n"
+"\n"
+" if (Engine.GetProcessFrames() % 2 == 0)\n"
+" {\n"
+" // Run expensive logic only once every 2 physics frames here.\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回自引擎初始化以来通过的总帧数,无论渲染循环是否启用,每个[b]处理帧[/b]都会"
+"行进。另见 [method get_frames_drawn] 和 [method get_physics_frames]。\n"
+"[method get_process_frames] 可用于在不依赖 [Timer] 的情况下,减少运行昂贵的逻"
+"辑的次数:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _process(_delta):\n"
+" if Engine.get_process_frames() % 2 == 0:\n"
+" pass # 此处每 2 个处理(渲染)帧仅运行一次昂贵的逻辑。\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Process(double delta)\n"
+"{\n"
+" base._Process(delta);\n"
+"\n"
+" if (Engine.GetProcessFrames() % 2 == 0)\n"
+" {\n"
+" // 此处每 2 个处理(渲染)帧仅运行一次昂贵的逻辑。\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
msgid "Returns a list of available global singletons."
msgstr "返回可用全局单例的列表。"
msgid ""
+"Returns [code]true[/code] if the script is currently running inside the "
+"editor, [code]false[/code] otherwise. This is useful for [code]@tool[/code] "
+"scripts to conditionally draw editor helpers, or prevent accidentally "
+"running \"game\" code that would affect the scene state while in the "
+"editor:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"if Engine.is_editor_hint():\n"
+" draw_gizmos()\n"
+"else:\n"
+" simulate_physics()\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"if (Engine.IsEditorHint())\n"
+" DrawGizmos();\n"
+"else\n"
+" SimulatePhysics();\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"See [url=$DOCS_URL/tutorials/plugins/running_code_in_the_editor.html]Running "
+"code in the editor[/url] in the documentation for more information.\n"
+"[b]Note:[/b] To detect whether the script is run from an editor [i]build[/i] "
+"(e.g. when pressing [kbd]F5[/kbd]), use [method OS.has_feature] with the "
+"[code]\"editor\"[/code] argument instead. [code]OS.has_feature(\"editor\")[/"
+"code] will evaluate to [code]true[/code] both when the code is running in "
+"the editor and when running the project from the editor, but it will "
+"evaluate to [code]false[/code] when the code is run from an exported project."
+msgstr ""
+"如果脚本当前正在编辑器中运行,则返回 [code]true[/code],否则返回 "
+"[code]false[/code]。这对于 [code]@tool[/code] 脚本很有用,可以有条件地绘制编"
+"辑器助手,或者防止在编辑器中意外运行会影响场景状态的“游戏”代码:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"if Engine.is_editor_hint():\n"
+" draw_gizmos()\n"
+"else:\n"
+" simulate_physics()\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"if (Engine.IsEditorHint())\n"
+" DrawGizmos();\n"
+"else\n"
+" SimulatePhysics();\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"有关详细信息,请参阅文档中的[url=$DOCS_URL/tutorials/plugins/"
+"running_code_in_the_editor.html]《在编辑器中运行代码》[/url]。\n"
+"[b]注意:[/b]要检测脚本是否从编辑器[i]构建[/i]中运行(例如,当按 [kbd]F5[/"
+"kbd] 时),请改用 [method OS.has_feature] 和 [code]\"editor\"[/code] 参数。"
+"[code]OS.has_feature(\"editor\")[/code] 将在编辑器中运行代码和从编辑器运行项"
+"目时,被评估为 [code]true[/code];但当代码从导出的项目运行时,它将被评估为 "
+"[code]false[/code]。"
+
+msgid ""
"Returns [code]true[/code] if the game is inside the fixed process and "
"physics phase of the game loop."
msgstr "如果游戏在游戏循环的固定过程和物理阶段内,返回 [code]true[/code]。"
@@ -28457,6 +30106,19 @@ msgstr ""
"[code]true[/code] 时才有效。"
msgid ""
+"If [code]true[/code], enables the [code]adjustment_*[/code] properties "
+"provided by this resource. If [code]false[/code], modifications to the "
+"[code]adjustment_*[/code] properties will have no effect on the rendered "
+"scene.\n"
+"[b]Note:[/b] Adjustments are only supported in the Forward+ and Mobile "
+"rendering methods, not Compatibility."
+msgstr ""
+"如果为 [code]true[/code],则启用该资源提供的 [code]adjustment_*[/code] 属性。"
+"如果为 [code]false[/code],则对 [code]adjustment_*[/code] 属性的修改将不会对"
+"渲染场景产生影响。\n"
+"[b]注意:[/b]调整仅支持 Forward+ 和 Mobile 渲染方式,不支持 Compatibility。"
+
+msgid ""
"The global color saturation value of the rendered scene (default value is "
"1). Effective only if [code]adjustment_enabled[/code] is [code]true[/code]."
msgstr ""
@@ -28464,6 +30126,21 @@ msgstr ""
"code] 为 [code]true[/code] 时才有效。"
msgid ""
+"The ambient light's [Color]. Only effective if [member "
+"ambient_light_sky_contribution] is lower than [code]1.0[/code] (exclusive)."
+msgstr ""
+"环境光的 [Color]。仅当 [member ambient_light_sky_contribution] 低于 "
+"[code]1.0[/code](不包括)时,才有效。"
+
+msgid ""
+"The ambient light's energy. The higher the value, the stronger the light. "
+"Only effective if [member ambient_light_sky_contribution] is lower than "
+"[code]1.0[/code] (exclusive)."
+msgstr ""
+"环境光的能量。值越高,光线越强。仅当 [member ambient_light_sky_contribution] "
+"低于 [code]1.0[/code](不包括)时,才有效。"
+
+msgid ""
"Defines the amount of light that the sky brings on the scene. A value of "
"[code]0.0[/code] means that the sky's light emission has no effect on the "
"scene illumination, thus all ambient illumination is provided by the ambient "
@@ -28479,6 +30156,11 @@ msgstr ""
"[b]注意:[/b]内部会将 [member ambient_light_sky_contribution] 限制在 "
"[code]0.0[/code] 到 [code]1.0[/code] 之间(闭区间)。"
+msgid ""
+"The ambient light source to use for rendering materials and global "
+"illumination."
+msgstr "环境光源,用于渲染材质和全局照明。"
+
msgid "The ID of the camera feed to show in the background."
msgstr "在背景中显示的相机源的 ID。"
@@ -28487,6 +30169,27 @@ msgid ""
"BG_CANVAS] background mode."
msgstr "要显示的最大图层 ID。只有在使用 [constant BG_CANVAS] 背景模式时有效。"
+msgid ""
+"The [Color] displayed for clear areas of the scene. Only effective when "
+"using the [constant BG_COLOR] background mode."
+msgstr ""
+"场景中清除区域显示的 [Color]。仅在使用 [constant BG_COLOR] 背景模式时有效。"
+
+msgid ""
+"Multiplier for background energy. Increase to make background brighter, "
+"decrease to make background dimmer."
+msgstr "背景能量的倍数。增加可以使背景更亮,减少可以使背景更暗。"
+
+msgid ""
+"Luminance of background measured in nits (candela per square meter). Only "
+"used when [member ProjectSettings.rendering/lights_and_shadows/"
+"use_physical_light_units] is enabled. The default value is roughly "
+"equivalent to the sky at midday."
+msgstr ""
+"背景的亮度,单位是尼特(坎德拉/平方米)。仅当启用 [member ProjectSettings."
+"rendering/lights_and_shadows/use_physical_light_units] 时使用。默认值大致相当"
+"于正午时分的天空。"
+
msgid "The background mode. See [enum BGMode] for possible values."
msgstr "背景模式。可能的取值见 [enum BGMode]。"
@@ -28509,6 +30212,13 @@ msgstr ""
"说不是很有用,因为天空会被照亮。设置为 [code]1.0[/code] 时,雾的颜色完全来自 "
"[Sky]。设置为 [code]0.0[/code] 时,会禁用空气透视。"
+msgid ""
+"The [i]exponential[/i] fog density to use. Higher values result in a more "
+"dense fog. Fog rendering is exponential as in real life."
+msgstr ""
+"要使用的[i]指数[/i]形式雾密度。值越高雾越密。雾的渲染是指数式的,和现实生活中"
+"相同。"
+
msgid "If [code]true[/code], fog effects are enabled."
msgstr "如果为 [code]true[/code],则启用雾效果。"
@@ -28611,6 +30321,42 @@ msgid ""
"(blurriest)."
msgstr "第 7 级辉光的强度。这是最“全局”的级别(最模糊)。"
+msgid "The reflected (specular) light source."
+msgstr "反射(镜面反射)光源。"
+
+msgid ""
+"If [code]true[/code], enables signed distance field global illumination for "
+"meshes that have their [member GeometryInstance3D.gi_mode] set to [constant "
+"GeometryInstance3D.GI_MODE_STATIC]. SDFGI is a real-time global illumination "
+"technique that works well with procedurally generated and user-built levels, "
+"including in situations where geometry is created during gameplay. The "
+"signed distance field is automatically generated around the camera as it "
+"moves. Dynamic lights are supported, but dynamic occluders and emissive "
+"surfaces are not.\n"
+"[b]Note:[/b] SDFGI is only supported in the Forward+ rendering method, not "
+"Mobile or Compatibility.\n"
+"[b]Performance:[/b] SDFGI is relatively demanding on the GPU and is not "
+"suited to low-end hardware such as integrated graphics (consider "
+"[LightmapGI] instead). To improve SDFGI performance, enable [member "
+"ProjectSettings.rendering/global_illumination/gi/use_half_resolution] in the "
+"Project Settings.\n"
+"[b]Note:[/b] Meshes should have sufficiently thick walls to avoid light "
+"leaks (avoid one-sided walls). For interior levels, enclose your level "
+"geometry in a sufficiently large box and bridge the loops to close the mesh."
+msgstr ""
+"如果为 [code]true[/code],则为将 [member GeometryInstance3D.gi_mode] 设置为 "
+"[constant GeometryInstance3D.GI_MODE_STATIC] 的网格,启用有符号距离场全局照明"
+"(即 SDFGI)。SDFGI 是一种实时全局照明技术,适用于程序生成和用户构建的关卡,"
+"包括在游戏过程中创建几何体的情况。有符号距离场会在相机移动时自动围绕相机生"
+"成。支持动态光,但不支持动态遮挡物和自发光表面。\n"
+"[b]注意:[/b]SDFGI 只支持 Forward+ 渲染方式,不支持 Mobile 或 "
+"Compatibility。\n"
+"[b]性能:[/b]SDFGI 对 GPU 的要求比较高,不适合集成显卡等低端硬件(可以考虑 "
+"[LightmapGI])。要提高 SDFGI 性能,请在项目设置中启用 [member "
+"ProjectSettings.rendering/global_illumination/gi/use_half_resolution]。\n"
+"[b]注意:[/b]网格应该有足够厚的壁以避免漏光(避免单面壁)。对于内部关卡,将关"
+"卡几何体放入一个足够大的盒子中,并桥接循环边以闭合网格。"
+
msgid "The [Sky] resource used for this [Environment]."
msgstr "该 [Environment] 所使用的 [Sky] 资源。"
@@ -28626,6 +30372,24 @@ msgstr ""
"在AO纹理变暗的区域可见。"
msgid ""
+"If [code]true[/code], the screen-space ambient occlusion effect is enabled. "
+"This darkens objects' corners and cavities to simulate ambient light not "
+"reaching the entire object as in real life. This works well for small, "
+"dynamic objects, but baked lighting or ambient occlusion textures will do a "
+"better job at displaying ambient occlusion on large static objects. Godot "
+"uses a form of SSAO called Adaptive Screen Space Ambient Occlusion which is "
+"itself a form of Horizon Based Ambient Occlusion.\n"
+"[b]Note:[/b] SSAO is only supported in the Forward+ rendering method, not "
+"Mobile or Compatibility."
+msgstr ""
+"如果为 [code]true[/code],则启用屏幕空间环境光遮蔽效果。这会使物体的角落和空"
+"腔变暗,以模拟环境光像现实生活中那样不会到达整个物体。这适用于小型动态对象,"
+"但烘焙照明或环境光遮蔽纹理,在大型静态对象上显示环境光遮蔽方面效果更好。"
+"Godot 使用一种称为自适应屏幕空间环境光遮蔽的 SSAO 形式,它本身就是一种基于地"
+"平线的环境光遮蔽形式。\n"
+"[b]注意:[/b]SSAO 只支持 Forward+ 渲染方式,不支持 Mobile 或 Compatibility。"
+
+msgid ""
"The threshold for considering whether a given point on a surface is occluded "
"or not represented as an angle from the horizon mapped into the "
"[code]0.0-1.0[/code] range. A value of [code]1.0[/code] results in no "
@@ -28644,14 +30408,48 @@ msgstr ""
"是说在直射光下无法看到其效果。高于[code]0[/code]的数值将使SSAO效果在直射光下"
"可见。"
+msgid ""
+"If [code]true[/code], the screen-space indirect lighting effect is enabled. "
+"Screen space indirect lighting is a form of indirect lighting that allows "
+"diffuse light to bounce between nearby objects. Screen-space indirect "
+"lighting works very similarly to screen-space ambient occlusion, in that it "
+"only affects a limited range. It is intended to be used along with a form of "
+"proper global illumination like SDFGI or [VoxelGI]. Screen-space indirect "
+"lighting is not affected by individual light's [member Light3D."
+"light_indirect_energy].\n"
+"[b]Note:[/b] SSIL is only supported in the Forward+ rendering method, not "
+"Mobile or Compatibility."
+msgstr ""
+"如果为 [code]true[/code],则启用屏幕空间间接照明效果。屏幕空间间接照明是一种"
+"间接照明形式,它允许漫射光在附近的物体之间反射。屏幕空间间接照明与屏幕空间环"
+"境光遮蔽的工作方式非常相似,因为它只影响有限的范围。它旨在与 SDFGI 或 "
+"[VoxelGI] 等适当的全局照明形式一起使用。屏幕空间间接光照不受单个光源 [member "
+"Light3D.light_indirect_energy] 的影响。\n"
+"[b]注意:[/b]SSIL 只支持 Forward+ 渲染方式,不支持 Mobile 或 Compatibility。"
+
msgid "The depth tolerance for screen-space reflections."
msgstr "屏幕空间反射的深度公差。"
msgid ""
+"If [code]true[/code], screen-space reflections are enabled. Screen-space "
+"reflections are more accurate than reflections from [VoxelGI]s or "
+"[ReflectionProbe]s, but are slower and can't reflect surfaces occluded by "
+"others.\n"
+"[b]Note:[/b] SSR is only supported in the Forward+ rendering method, not "
+"Mobile or Compatibility."
+msgstr ""
+"如果为 [code]true[/code],则启用屏幕空间反射。屏幕空间反射比来自 [VoxelGI] "
+"或 [ReflectionProbe] 的反射更准确,但更慢并且不能反射被其他物体遮挡的表面。\n"
+"[b]注意:[/b]SSR 只支持 Forward+ 渲染方式,不支持 Mobile 或 Compatibility。"
+
+msgid ""
"The maximum number of steps for screen-space reflections. Higher values are "
"slower."
msgstr "屏幕空间反射的最大步数。数值越高,速度越慢。"
+msgid "The brightness of the emitted light from the volumetric fog."
+msgstr "从体积雾发出的光的亮度。"
+
msgid "Clears the background using a custom clear color."
msgstr "使用自定义的底色清除背景。"
@@ -28719,6 +30517,101 @@ msgid "A class that stores an expression you can execute."
msgstr "存储你可以执行的表达式的类。"
msgid ""
+"An expression can be made of any arithmetic operation, built-in math "
+"function call, method call of a passed instance, or built-in type "
+"construction call.\n"
+"An example expression text using the built-in math functions could be "
+"[code]sqrt(pow(3, 2) + pow(4, 2))[/code].\n"
+"In the following example we use a [LineEdit] node to write our expression "
+"and show the result.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var expression = Expression.new()\n"
+"\n"
+"func _ready():\n"
+" $LineEdit.text_submitted.connect(self._on_text_submitted)\n"
+"\n"
+"func _on_text_submitted(command):\n"
+" var error = expression.parse(command)\n"
+" if error != OK:\n"
+" print(expression.get_error_text())\n"
+" return\n"
+" var result = expression.execute()\n"
+" if not expression.has_execute_failed():\n"
+" $LineEdit.text = str(result)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"private Expression _expression = new Expression();\n"
+"\n"
+"public override void _Ready()\n"
+"{\n"
+" GetNode<LineEdit>(\"LineEdit\").TextSubmitted += OnTextEntered;\n"
+"}\n"
+"\n"
+"private void OnTextEntered(string command)\n"
+"{\n"
+" Error error = _expression.Parse(command);\n"
+" if (error != Error.Ok)\n"
+" {\n"
+" GD.Print(_expression.GetErrorText());\n"
+" return;\n"
+" }\n"
+" Variant result = _expression.Execute();\n"
+" if (!_expression.HasExecuteFailed())\n"
+" {\n"
+" GetNode<LineEdit>(\"LineEdit\").Text = result.ToString();\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"表达式可以由任何算术运算、内置数学函数调用、传递实例的方法调用或内置类型构造"
+"调用组成。\n"
+"一个使用内置数学函数的示例表达式文本可以是 [code]sqrt(pow(3, 2) + pow(4, 2))"
+"[/code]。\n"
+"在下面的示例中,我们使用 [LineEdit] 节点来编写表达式并显示结果。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var expression = Expression.new()\n"
+"\n"
+"func _ready():\n"
+" $LineEdit.text_submitted.connect(self._on_text_submitted)\n"
+"\n"
+"func _on_text_submitted(command):\n"
+" var error = expression.parse(command)\n"
+" if error != OK:\n"
+" print(expression.get_error_text())\n"
+" return\n"
+" var result = expression.execute()\n"
+" if not expression.has_execute_failed():\n"
+" $LineEdit.text = str(result)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"private Expression _expression = new Expression();\n"
+"\n"
+"public override void _Ready()\n"
+"{\n"
+" GetNode<LineEdit>(\"LineEdit\").TextSubmitted += OnTextEntered;\n"
+"}\n"
+"\n"
+"private void OnTextEntered(string command)\n"
+"{\n"
+" Error error = _expression.Parse(command);\n"
+" if (error != Error.Ok)\n"
+" {\n"
+" GD.Print(_expression.GetErrorText());\n"
+" return;\n"
+" }\n"
+" Variant result = _expression.Execute();\n"
+" if (!_expression.HasExecuteFailed())\n"
+" {\n"
+" GetNode<LineEdit>(\"LineEdit\").Text = result.ToString();\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Executes the expression that was previously parsed by [method parse] and "
"returns the result. Before you use the returned object, you should check if "
"the method failed by calling [method has_execute_failed].\n"
@@ -28730,9 +30623,6 @@ msgstr ""
"如果你在 [method parse] 中定义了输入变量,你可以在输入数组中以同样的顺序指定"
"它们的值。"
-msgid "Returns the error text if [method parse] has failed."
-msgstr "如果 [method parse] 失败了,返回错误文本。"
-
msgid "Returns [code]true[/code] if [method execute] has failed."
msgstr "如果 [method execute] 失败,返回 [code]true[/code]。"
@@ -28756,6 +30646,126 @@ msgid "Type to handle file reading and writing operations."
msgstr "用于处理文件读写操作的类型。"
msgid ""
+"File type. This is used to permanently store data into the user device's "
+"file system and to read from it. This can be used to store game save data or "
+"player configuration files, for example.\n"
+"Here's a sample on how to write and read from a file:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func save(content):\n"
+" var file = FileAccess.open(\"user://save_game.dat\", FileAccess.WRITE)\n"
+" file.store_string(content)\n"
+"\n"
+"func load():\n"
+" var file = FileAccess.open(\"user://save_game.dat\", FileAccess.READ)\n"
+" var content = file.get_as_text()\n"
+" return content\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public void Save(string content)\n"
+"{\n"
+" using var file = FileAccess.Open(\"user://save_game.dat\", FileAccess."
+"ModeFlags.Write);\n"
+" file.StoreString(content);\n"
+"}\n"
+"\n"
+"public string Load()\n"
+"{\n"
+" using var file = FileAccess.Open(\"user://save_game.dat\", FileAccess."
+"ModeFlags.Read);\n"
+" string content = file.GetAsText();\n"
+" return content;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"In the example above, the file will be saved in the user data folder as "
+"specified in the [url=$DOCS_URL/tutorials/io/data_paths.html]Data paths[/"
+"url] documentation.\n"
+"[FileAccess] will close when it's freed, which happens when it goes out of "
+"scope or when it gets assigned with [code]null[/code]. In C# the reference "
+"must be disposed after we are done using it, this can be done with the "
+"[code]using[/code] statement or calling the [code]Dispose[/code] method "
+"directly.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var file = FileAccess.open(\"res://something\") # File is opened and locked "
+"for use.\n"
+"file = null # File is closed.\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using var file = FileAccess.Open(\"res://something\"); // File is opened and "
+"locked for use.\n"
+"// The using statement calls Dispose when going out of scope.\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] To access project resources once exported, it is recommended to "
+"use [ResourceLoader] instead of the [FileAccess] API, as some files are "
+"converted to engine-specific formats and their original source files might "
+"not be present in the exported PCK package.\n"
+"[b]Note:[/b] Files are automatically closed only if the process exits "
+"\"normally\" (such as by clicking the window manager's close button or "
+"pressing [b]Alt + F4[/b]). If you stop the project execution by pressing "
+"[b]F8[/b] while the project is running, the file won't be closed as the game "
+"process will be killed. You can work around this by calling [method flush] "
+"at regular intervals."
+msgstr ""
+"文件类型。这用来将数据永久存储到用户设备的文件系统中,并可从中读取。例如,可"
+"以用来存储游戏保存数据或玩家配置文件。\n"
+"下面是一个关于如何写入和读取文件的示例:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func save(content):\n"
+" var file = FileAccess.open(\"user://save_game.dat\", FileAccess.WRITE)\n"
+" file.store_string(content)\n"
+"\n"
+"func load():\n"
+" var file = FileAccess.open(\"user://save_game.dat\", FileAccess.READ)\n"
+" var content = file.get_as_text()\n"
+" return content\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public void Save(string content)\n"
+"{\n"
+" using var file = FileAccess.Open(\"user://save_game.dat\", FileAccess."
+"ModeFlags.Write);\n"
+" file.StoreString(content);\n"
+"}\n"
+"\n"
+"public string Load()\n"
+"{\n"
+" using var file = FileAccess.Open(\"user://save_game.dat\", FileAccess."
+"ModeFlags.Read);\n"
+" string content = file.GetAsText();\n"
+" return content;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"在上面的例子中,文件将被保存在[url=$DOCS_URL/tutorials/io/data_paths.html]数"
+"据路径[/url]文件中指定的用户数据文件夹中。\n"
+"[FileAccess] 将在释放时关闭,这发生在变量超出作用域或被分配 [code]null[/"
+"code] 时。在 C# 中,引用必须在我们使用完后释放,这可以通过 [code]using[/"
+"code] 语句或直接调用 [code]Dispose[/code] 方法来完成。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var file = FileAccess.open(\"res://something\") # 文件已打开并锁定以供使"
+"用。\n"
+"file = null # 文件关闭。\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using var file = FileAccess.Open(\"res://something\"); // 文件已打开并锁定以"
+"供使用。\n"
+"// using 语句在超出作用域时调用 Dispose。\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]要在导出后访问项目资源,建议使用 [ResourceLoader] 而不是 "
+"[FileAccess] API,因为有些文件被转换为特定于引擎的格式,并且它们的原始源文件"
+"可能并不存在于导出的 PCK 包中。\n"
+"[b]注意:[/b]只有当进程“正常”退出时(例如通过单击窗口管理器的关闭按钮或按 "
+"[b]Alt + F4[/b]),文件才会自动关闭。如果在项目运行时按 [b]F8[/b] 停止项目执"
+"行,则不会关闭文件,因为游戏进程将被杀死。可以通过定期调用 [method flush] 来"
+"解决这个问题。"
+
+msgid ""
"Closes the currently opened file and prevents subsequent read/write "
"operations. Use [method flush] to persist the data to disk without closing "
"the file.\n"
@@ -28772,6 +30782,20 @@ msgstr ""
"[code]using[/code] 语句或直接调用 [code]Dispose[/code] 方法。"
msgid ""
+"Returns [code]true[/code] if the file exists in the given path.\n"
+"[b]Note:[/b] Many resources types are imported (e.g. textures or sound "
+"files), and their source asset will not be included in the exported game, as "
+"only the imported version is used. See [method ResourceLoader.exists] for an "
+"alternative approach that takes resource remapping into account.\n"
+"For a non-static, relative equivalent, use [method DirAccess.file_exists]."
+msgstr ""
+"如果文件存在于给定路径中,则返回 [code]true[/code]。\n"
+"[b]注意:[/b]许多资源类型是导入的(例如纹理或声音文件),它们的源资产不会包含"
+"在导出的游戏中,因为只使用导入的版本。有关考虑资源重新映射的替代方法,请参阅 "
+"[method ResourceLoader.exists]。\n"
+"对于非静态的相对等效项,请使用 [method DirAccess.file_exists]。"
+
+msgid ""
"Returns the next 16 bits from the file as an integer. See [method store_16] "
"for details on what values can be stored and retrieved this way."
msgstr ""
@@ -28799,6 +30823,9 @@ msgstr ""
"以整数形式返回文件中接下来的 8 位。请参阅 [method store_8],详细了解哪些值可"
"以通过这种方式存储和检索。"
+msgid "Returns next [param length] bytes of the file as a [PackedByteArray]."
+msgstr "将文件中接下来的 [param length] 个字节作为 [PackedByteArray] 返回。"
+
msgid "Returns the next 64 bits from the file as a floating-point number."
msgstr "将文件中接下来的 64 位作为浮点数返回。"
@@ -28809,6 +30836,19 @@ msgstr ""
"返回试图执行操作时发生的最后一个错误。请与 [enum Error] 中的 "
"[code]ERR_FILE_*[/code] 常量比较。"
+msgid ""
+"Returns the whole [param path] file contents as a [PackedByteArray] without "
+"any decoding."
+msgstr ""
+"将 [param path] 文件中的所有内容作为 [PackedByteArray] 返回,不进行任何解码。"
+
+msgid ""
+"Returns the whole [param path] file contents as a [String]. Text is "
+"interpreted as being UTF-8 encoded."
+msgstr ""
+"将 [param path] 文件中的所有内容作为 [String] 返回。作为 UTF-8 编码的文本解"
+"析。"
+
msgid "Returns the next 32 bits from the file as a floating-point number."
msgstr "将文件中接下来的 32 位作为浮点数返回。"
@@ -28852,10 +30892,54 @@ msgid ""
msgstr ""
"返回一个给定路径的文件的 SHA-256 字符串,如果失败则返回一个空的 [String]。"
+msgid ""
+"Returns the next [Variant] value from the file. If [param allow_objects] is "
+"[code]true[/code], decoding objects is allowed.\n"
+"Internally, this uses the same decoding mechanism as the [method "
+"@GlobalScope.bytes_to_var] method.\n"
+"[b]Warning:[/b] Deserialized objects can contain code which gets executed. "
+"Do not use this option if the serialized object comes from untrusted sources "
+"to avoid potential security threats such as remote code execution."
+msgstr ""
+"返回文件中的下一个 [Variant] 值。如果 [param allow_objects] 为 [code]true[/"
+"code],则允许解码对象。\n"
+"在内部,这使用与 [method @GlobalScope.bytes_to_var] 方法相同的解码机制。\n"
+"[b]警告:[/b]反序列化得到的对象可能包含被执行的代码。如果序列化的对象来自不受"
+"信任的来源,请不要使用这个选项,以避免潜在的安全威胁,如远程代码执行。"
+
msgid "Returns [code]true[/code] if the file is currently opened."
msgstr "如果文件当前被打开,返回 [code]true[/code]。"
msgid ""
+"Creates a new [FileAccess] object and opens a compressed file for reading or "
+"writing.\n"
+"[b]Note:[/b] [method open_compressed] can only read files that were saved by "
+"Godot, not third-party compression formats. See [url=https://github.com/"
+"godotengine/godot/issues/28999]GitHub issue #28999[/url] for a workaround.\n"
+"Returns [code]null[/code] if opening the file failed. You can use [method "
+"get_open_error] to check the error that occurred."
+msgstr ""
+"创建一个新的 [FileAccess] 对象,并打开一个压缩文件以进行读取或写入。\n"
+"[b]注意:[/b][method open_compressed] 只能读取 Godot 保存的文件,不能读取第三"
+"方压缩格式。有关解决方法,请参阅 [url=https://github.com/godotengine/godot/"
+"issues/28999]GitHub 问题 #28999[/url]。\n"
+"如果打开文件失败,则返回 [code]null[/code]。可以使用 [method get_open_error] "
+"来检查发生的错误。"
+
+msgid ""
+"Creates a new [FileAccess] object and opens an encrypted file in write or "
+"read mode. You need to pass a binary key to encrypt/decrypt it.\n"
+"[b]Note:[/b] The provided key must be 32 bytes long.\n"
+"Returns [code]null[/code] if opening the file failed. You can use [method "
+"get_open_error] to check the error that occurred."
+msgstr ""
+"创建一个新的 [FileAccess] 对象,并以写入或读取模式打开一个加密文件。需要传入"
+"一个二进制密钥来加密/解密它。\n"
+"[b]注意:[/b]提供的密钥必须是 32 字节长。\n"
+"如果打开文件失败,则返回 [code]null[/code]。可以使用 [method get_open_error] "
+"来检查发生的错误。"
+
+msgid ""
"Changes the file reading/writing cursor to the specified position (in bytes "
"from the beginning of the file)."
msgstr "将文件的读/写光标改变到指定的位置(从文件开始的字节数)。"
@@ -28869,6 +30953,124 @@ msgstr ""
"将文件的读/写光标改变到指定的位置(从文件的末端算起,以字节为单位)。\n"
"[b]注意:[/b]这是一个偏移量,所以你应该使用负数,否则光标会在文件的末端。"
+msgid ""
+"Stores an integer as 16 bits in the file.\n"
+"[b]Note:[/b] The [param value] should lie in the interval [code][0, 2^16 - 1]"
+"[/code]. Any other value will overflow and wrap around.\n"
+"To store a signed integer, use [method store_64] or store a signed integer "
+"from the interval [code][-2^15, 2^15 - 1][/code] (i.e. keeping one bit for "
+"the signedness) and compute its sign manually when reading. For example:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"const MAX_15B = 1 << 15\n"
+"const MAX_16B = 1 << 16\n"
+"\n"
+"func unsigned16_to_signed(unsigned):\n"
+" return (unsigned + MAX_15B) % MAX_16B - MAX_15B\n"
+"\n"
+"func _ready():\n"
+" var f = FileAccess.open(\"user://file.dat\", FileAccess.WRITE_READ)\n"
+" f.store_16(-42) # This wraps around and stores 65494 (2^16 - 42).\n"
+" f.store_16(121) # In bounds, will store 121.\n"
+" f.seek(0) # Go back to start to read the stored value.\n"
+" var read1 = f.get_16() # 65494\n"
+" var read2 = f.get_16() # 121\n"
+" var converted1 = unsigned16_to_signed(read1) # -42\n"
+" var converted2 = unsigned16_to_signed(read2) # 121\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Ready()\n"
+"{\n"
+" using var f = FileAccess.Open(\"user://file.dat\", FileAccess.ModeFlags."
+"WriteRead);\n"
+" f.Store16(unchecked((ushort)-42)); // This wraps around and stores 65494 "
+"(2^16 - 42).\n"
+" f.Store16(121); // In bounds, will store 121.\n"
+" f.Seek(0); // Go back to start to read the stored value.\n"
+" ushort read1 = f.Get16(); // 65494\n"
+" ushort read2 = f.Get16(); // 121\n"
+" short converted1 = (short)read1; // -42\n"
+" short converted2 = (short)read2; // 121\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"将一个整数以 16 位形式存储在文件中。\n"
+"[b]注意:[/b][param value] 应该位于 [code][0, 2^16 - 1][/code] 区间内。任何其"
+"他的值都会溢出并进行环绕。\n"
+"要存储有符号的整数,请使用 [method store_64] 或者从区间 [code][-2^15, 2^15 - "
+"1][/code] 中存储一个有符号的整数(即保留一位作为符号),在读取时手动计算其符"
+"号。例如:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"const MAX_15B = 1 << 15\n"
+"const MAX_16B = 1 << 16\n"
+"\n"
+"func unsigned16_to_signed(unsigned):\n"
+" return (unsigned + MAX_15B) % MAX_16B - MAX_15B\n"
+"\n"
+"func _ready():\n"
+" var f = FileAccess.open(\"user://file.dat\", FileAccess.WRITE_READ)\n"
+" f.store_16(-42) # 发生环绕,存储 65494 (2^16 - 42)。\n"
+" f.store_16(121) # 在范围内,存储 121。\n"
+" f.seek(0) # 回到开头,读取存储的值。\n"
+" var read1 = f.get_16() # 65494\n"
+" var read2 = f.get_16() # 121\n"
+" var converted1 = unsigned16_to_signed(read1) # -42\n"
+" var converted2 = unsigned16_to_signed(read2) # 121\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Ready()\n"
+"{\n"
+" using var f = FileAccess.Open(\"user://file.dat\", FileAccess.ModeFlags."
+"WriteRead);\n"
+" f.Store16(unchecked((ushort)-42)); // 发生环绕,存储 65494 (2^16 - "
+"42)。\n"
+" f.Store16(121); // 在范围内,存储 121。\n"
+" f.Seek(0); // 回到开头,读取存储的值。\n"
+" ushort read1 = f.Get16(); // 65494\n"
+" ushort read2 = f.Get16(); // 121\n"
+" short converted1 = (short)read1; // -42\n"
+" short converted2 = (short)read2; // 121\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Stores an integer as 32 bits in the file.\n"
+"[b]Note:[/b] The [param value] should lie in the interval [code][0, 2^32 - 1]"
+"[/code]. Any other value will overflow and wrap around.\n"
+"To store a signed integer, use [method store_64], or convert it manually "
+"(see [method store_16] for an example)."
+msgstr ""
+"将一个整数以 32 位形式存储在文件中。\n"
+"[b]注意:[/b][param value] 应该位于 [code][0, 2^32 - 1][/code] 区间内。任何其"
+"他的值都会溢出并环绕。\n"
+"要存储有符号的整数,请使用 [method store_64],或者手动转换(见 [method "
+"store_16] 的例子)。"
+
+msgid ""
+"Stores an integer as 64 bits in the file.\n"
+"[b]Note:[/b] The [param value] must lie in the interval [code][-2^63, 2^63 - "
+"1][/code] (i.e. be a valid [int] value)."
+msgstr ""
+"将一个整数以 64 位形式存储在文件中。\n"
+"[b]注意:[/b][param value] 必须位于 [code][-2^63, 2^63 - 1][/code] 的区间内"
+"(即有效的 [int] 值)。"
+
+msgid ""
+"Stores an integer as 8 bits in the file.\n"
+"[b]Note:[/b] The [param value] should lie in the interval [code][0, 255][/"
+"code]. Any other value will overflow and wrap around.\n"
+"To store a signed integer, use [method store_64], or convert it manually "
+"(see [method store_16] for an example)."
+msgstr ""
+"将一个整数以 8 位形式存储在文件中。\n"
+"[b]注意:[/b][param value] 应该位于 [code][0, 255][/code] 的区间内。任何其他"
+"的值都会溢出并环绕。\n"
+"要存储有符号的整数,请使用 [method store_64],或者手动转换(见 [method "
+"store_16] 的例子)。"
+
msgid "Stores the given array of bytes in the file."
msgstr "在文件中存储给定的字节数组。"
@@ -28890,6 +31092,28 @@ msgid "Stores a floating-point number in the file."
msgstr "将浮点数存储在文件中。"
msgid ""
+"Stores any Variant value in the file. If [param full_objects] is [code]true[/"
+"code], encoding objects is allowed (and can potentially include code).\n"
+"Internally, this uses the same encoding mechanism as the [method "
+"@GlobalScope.var_to_bytes] method.\n"
+"[b]Note:[/b] Not all properties are included. Only properties that are "
+"configured with the [constant PROPERTY_USAGE_STORAGE] flag set will be "
+"serialized. You can add a new usage flag to a property by overriding the "
+"[method Object._get_property_list] method in your class. You can also check "
+"how property usage is configured by calling [method Object."
+"_get_property_list]. See [enum PropertyUsageFlags] for the possible usage "
+"flags."
+msgstr ""
+"在文件中存储任何 Variant 值。如果 [param full_objects] 为 [code]true[/code],"
+"则允许编码对象(并且可能包含代码)。\n"
+"在内部,这使用与 [method @GlobalScope.var_to_bytes] 方法相同的编码机制。\n"
+"[b]注意:[/b]并非所有属性都包括在内。只有配置了 [constant "
+"PROPERTY_USAGE_STORAGE] 标志集的属性才会被序列化。可以通过覆盖类中的 [method "
+"Object._get_property_list] 方法来向属性添加新的使用标志。还可以通过调用 "
+"[method Object._get_property_list] 来检查属性使用的配置方式。有关可能的使用标"
+"志,请参阅 [enum PropertyUsageFlags]。"
+
+msgid ""
"Opens the file for read operations. The cursor is positioned at the "
"beginning of the file."
msgstr "打开文件进行读取操作。光标位于文件的开头。"
@@ -29373,6 +31597,54 @@ msgstr "返回字体样式标志,见 [enum TextServer.FontStyle]。"
msgid "Returns font style name."
msgstr "返回字体样式名称。"
+msgid ""
+"Returns the size of a bounding box of a single-line string, taking kerning, "
+"advance and subpixel positioning into account. See also [method "
+"get_multiline_string_size] and [method draw_string].\n"
+"For example, to get the string size as displayed by a single-line Label, "
+"use:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var string_size = $Label.get_theme_font(\"font\").get_string_size($Label."
+"text, HORIZONTAL_ALIGNMENT_LEFT, -1, $Label."
+"get_theme_font_size(\"font_size\"))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"Label label = GetNode<Label>(\"Label\");\n"
+"Vector2 stringSize = label.GetThemeFont(\"font\").GetStringSize(label.Text, "
+"HorizontalAlignment.Left, -1, label.GetThemeFontSize(\"font_size\"));\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] Since kerning, advance and subpixel positioning are taken into "
+"account by [method get_string_size], using separate [method get_string_size] "
+"calls on substrings of a string then adding the results together will return "
+"a different result compared to using a single [method get_string_size] call "
+"on the full string.\n"
+"[b]Note:[/b] Real height of the string is context-dependent and can be "
+"significantly different from the value returned by [method get_height]."
+msgstr ""
+"返回一个单行字符串的边界框的大小,考虑字距调整、提前量和子像素定位。另见 "
+"[method get_multiline_string_size] 和 [method draw_string]。\n"
+"例如,要获取单行 Label 所显示的字符串大小,请使用:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var string_size = $Label.get_theme_font(\"font\").get_string_size($Label."
+"text, HORIZONTAL_ALIGNMENT_LEFT, -1, $Label."
+"get_theme_font_size(\"font_size\"))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"Label label = GetNode<Label>(\"Label\");\n"
+"Vector2 stringSize = label.GetThemeFont(\"font\").GetStringSize(label.Text, "
+"HorizontalAlignment.Left, -1, label.GetThemeFontSize(\"font_size\"));\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]由于 [method get_string_size] 考虑了字距调整、提前量和子像素定"
+"位,因此对字符串的子字符串使用单独的 [method get_string_size] 调用,然后将结"
+"果加在一起,将返回与对完整字符串使用单个 [method get_string_size] 调用的返回"
+"值不同的结果 。\n"
+"[b]注意:[/b]字符串的实际高度取决于上下文,并且可能与 [method get_height] 返"
+"回的值有很大不同。"
+
msgid "Returns list of OpenType features supported by font."
msgstr "返回字体支持的 OpenType 特性列表。"
@@ -29501,6 +31773,18 @@ msgstr "行顶部的额外间距,单位为像素。"
msgid "A script implemented in the GDScript programming language."
msgstr "用 GDScript 编程语言实现的脚本。"
+msgid ""
+"A script implemented in the GDScript programming language. The script "
+"extends the functionality of all objects that instantiate it.\n"
+"[method new] creates a new instance of the script. [method Object."
+"set_script] extends an existing object, if that object's class matches one "
+"of the script's base classes."
+msgstr ""
+"一个用 GDScript 编程语言实现的脚本。该脚本扩展了实例化该对象后其所有对象的功"
+"能。\n"
+"[method new] 创建一个新的脚本实例。如果一个对象的类与脚本的基类之一匹配,则 "
+"[method Object.set_script] 会扩展该对象。"
+
msgid "GDScript documentation index"
msgstr "GDScript 文档索引"
@@ -29565,7 +31849,7 @@ msgstr "负方向的最小旋转,以挣脱并围绕 X 轴旋转。"
msgid ""
"The amount of rotational restitution across the X axis. The lower, the more "
"restitution occurs."
-msgstr "X 轴上的旋转恢复量。值越低,恢复量越大。"
+msgstr "X 轴上的旋转恢复量。值越小,产生的恢复量越大。"
msgid "The speed of all rotations across the X axis."
msgstr "跨越 X 轴的所有旋转的速度。"
@@ -29575,6 +31859,11 @@ msgid ""
"the X axis."
msgstr "正方向的最小旋转,以挣脱并绕 X 轴旋转。"
+msgid ""
+"The amount of rotational damping across the Y axis. The lower, the more "
+"damping occurs."
+msgstr "Y轴上的旋转阻尼量。值越小,产生的阻尼就越大。"
+
msgid "If [code]true[/code], rotation across the Y axis is limited."
msgstr "如果为 [code]true[/code],则跨越 Y 轴的旋转将受到限制。"
@@ -29607,6 +31896,11 @@ msgid ""
"the Y axis."
msgstr "正方向的最小旋转,以挣脱并绕 Y 轴旋转。"
+msgid ""
+"The amount of rotational damping across the Z axis. The lower, the more "
+"damping occurs."
+msgstr "跨越 Z 轴的旋转阻尼量。值越小,产生的阻尼就越大。"
+
msgid "If [code]true[/code], rotation across the Z axis is limited."
msgstr "如果为 [code]true[/code],则跨越 Z 轴的旋转将受到限制。"
@@ -29863,6 +32157,66 @@ msgstr ""
"个点相同。"
msgid ""
+"Inflates or deflates [param polygon] by [param delta] units (pixels). If "
+"[param delta] is positive, makes the polygon grow outward. If [param delta] "
+"is negative, shrinks the polygon inward. Returns an array of polygons "
+"because inflating/deflating may result in multiple discrete polygons. "
+"Returns an empty array if [param delta] is negative and the absolute value "
+"of it approximately exceeds the minimum bounding rectangle dimensions of the "
+"polygon.\n"
+"Each polygon's vertices will be rounded as determined by [param join_type], "
+"see [enum PolyJoinType].\n"
+"The operation may result in an outer polygon (boundary) and inner polygon "
+"(hole) produced which could be distinguished by calling [method "
+"is_polygon_clockwise].\n"
+"[b]Note:[/b] To translate the polygon's vertices specifically, multiply them "
+"to a [Transform2D]:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var polygon = PackedVector2Array([Vector2(0, 0), Vector2(100, 0), "
+"Vector2(100, 100), Vector2(0, 100)])\n"
+"var offset = Vector2(50, 50)\n"
+"polygon = Transform2D(0, offset) * polygon\n"
+"print(polygon) # prints [(50, 50), (150, 50), (150, 150), (50, 150)]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var polygon = new Vector2[] { new Vector2(0, 0), new Vector2(100, 0), new "
+"Vector2(100, 100), new Vector2(0, 100) };\n"
+"var offset = new Vector2(50, 50);\n"
+"polygon = new Transform2D(0, offset) * polygon;\n"
+"GD.Print((Variant)polygon); // prints [(50, 50), (150, 50), (150, 150), (50, "
+"150)]\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"按 [param delta] 单位(像素)膨胀或缩小 [param polygon]。如果 [param delta] "
+"为正,则使多边形向外增长。如果 [param delta] 为负,则使多边形向内收缩。返回一"
+"个多边形数组,因为膨胀/收缩可能会产生多个离散的多边形。如果 [param delta] 为"
+"负,且其绝对值大约超过多边形的最小边界矩形尺寸,则返回一个空数组。\n"
+"每个多边形的顶点将根据 [param join_type] 决定进行舍入,参见 [enum "
+"PolyJoinType]。\n"
+"该操作可能会产生一个外部多边形(边界)和内部多边形(孔),这可以通过调用 "
+"[method is_polygon_clockwise] 来区分。\n"
+"[b]注意:[/b]要具体平移多边形的顶点,将它们乘以一个 [Transform2D]:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var polygon = PackedVector2Array([Vector2(0, 0), Vector2(100, 0), "
+"Vector2(100, 100), Vector2(0, 100)])\n"
+"var offset = Vector2(50, 50)\n"
+"polygon = Transform2D(0, offset) * polygon\n"
+"print(polygon) # 输出 [(50, 50), (150, 50), (150, 150), (50, 150)]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var polygon = new Vector2[] { new Vector2(0, 0), new Vector2(100, 0), new "
+"Vector2(100, 100), new Vector2(0, 100) };\n"
+"var offset = new Vector2(50, 50);\n"
+"polygon = new Transform2D(0, offset) * polygon;\n"
+"GD.Print((Variant)polygon); // 输出 [(50, 50), (150, 50), (150, 150), (50, "
+"150)]\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Create regions where either subject or clip polygons (or both) are filled."
msgstr "创建区域,其中主体或剪辑多边形(或两者)被填充。"
@@ -29947,9 +32301,9 @@ msgid ""
"level of detail at farther distances.\n"
"Useful for testing level of detail transitions in the editor."
msgstr ""
-"改变网格过渡到较低细节层次的速度。值为 0 将强制网格达到最低细节层次,值为 1 "
-"将使用默认设置,更大的值将使网格在更远的距离处保持更高的细节层次。\n"
-"对于测试编辑器中的细节层次的过渡很有用。"
+"改变网格过渡到较低细节级别的速度。值为 0 将强制网格达到最低细节级别,值为 1 "
+"将使用默认设置,更大的值将使网格在更远的距离处保持更高的细节级别。\n"
+"对于测试编辑器中的细节级别的过渡很有用。"
msgid ""
"The material overlay for the whole geometry.\n"
@@ -29982,6 +32336,70 @@ msgstr "代表 [enum LightmapScale] 枚举的大小。"
msgid "Represents a GLTF camera."
msgstr "代表 GLTF 相机。"
+msgid "Represents a camera as defined by the base GLTF spec."
+msgstr "代表基础 GLTF 规格中定义的相机。"
+
+msgid "GLTF camera detailed specification"
+msgstr "GLTF 相机的详细规格"
+
+msgid "GLTF camera spec and example file"
+msgstr "GLTF 相机规格和示例文件"
+
+msgid "Creates a new GLTFCamera instance by parsing the given [Dictionary]."
+msgstr "通过解析给定的 [Dictionary] 新建 GLTFCamera 实例。"
+
+msgid "Create a new GLTFCamera instance from the given Godot [Camera3D] node."
+msgstr "从给定的 Godot [Camera3D] 节点新建 GLTFCamera 实例。"
+
+msgid "Serializes this GLTFCamera instance into a [Dictionary]."
+msgstr "将这个 GLTFCamera 实例序列化为 [Dictionary]。"
+
+msgid "Converts this GLTFCamera instance into a Godot [Camera3D] node."
+msgstr "将这个 GLTFCamera 实例转换为 Godot [Camera3D] 节点。"
+
+msgid ""
+"The distance to the far culling boundary for this camera relative to its "
+"local Z axis, in meters. This maps to GLTF's [code]zfar[/code] property."
+msgstr ""
+"该相机与远剔除边界的距离,相对于其本地 Z 轴,单位为米。映射到 GLTF 的 "
+"[code]zfar[/code] 属性。"
+
+msgid ""
+"The distance to the near culling boundary for this camera relative to its "
+"local Z axis, in meters. This maps to GLTF's [code]znear[/code] property."
+msgstr ""
+"该相机与近剔除边界的距离,相对于其本地 Z 轴,单位为米。映射到 GLTF 的 "
+"[code]znear[/code] 属性。"
+
+msgid ""
+"The FOV of the camera. This class and GLTF define the camera FOV in radians, "
+"while Godot uses degrees. This maps to GLTF's [code]yfov[/code] property. "
+"This value is only used for perspective cameras, when [member perspective] "
+"is true."
+msgstr ""
+"该相机的 FOV。这个类和 GLTF 在定义相机 FOV 时使用的都是弧度,但 Godot 使用的"
+"是度。映射到 GLTF 的 [code]yfov[/code] 属性。只在透视相机中使用,即 [member "
+"perspective] 为 true 时。"
+
+msgid ""
+"Whether or not the camera is in perspective mode. If false, the camera is in "
+"orthographic/orthogonal mode. This maps to GLTF's camera [code]type[/code] "
+"property. See [member Camera3D.projection] and the GLTF spec for more "
+"information."
+msgstr ""
+"该相机是否处于透视模式。如果为 false,则该相机处于正交模式。映射到 GLTF 的相"
+"机 [code]type[/code] 属性。详情见 [member Camera3D.projection] 及 GLTF 规格。"
+
+msgid ""
+"The size of the camera. This class and GLTF define the camera size magnitude "
+"as a radius in meters, while Godot defines it as a diameter in meters. This "
+"maps to GLTF's [code]ymag[/code] property. This value is only used for "
+"orthographic/orthogonal cameras, when [member perspective] is false."
+msgstr ""
+"该相机的大小。这个类和 GLTF 在定义相机大小尺度时使用的都是半径的米数,但 "
+"Godot 使用的是直径的米数。映射到 GLTF 的 [code]ymag[/code] 属性。只在正交相机"
+"中使用,即 [member perspective] 为 false 时。"
+
msgid "[GLTFDocument] extension class."
msgstr "[GLTFDocument] 扩展类。"
@@ -30309,6 +32727,78 @@ msgstr ""
"纹理的填充从偏移量 [member fill_from] 开始到 [member fill_to],两个方向都按照"
"相同的模式镜像重复。"
+msgid ""
+"[b]Note:[/b] Please be aware that this node will undergo extensive "
+"refactoring in a future 4.x version involving compatibility-breaking API "
+"changes.\n"
+"GraphEdit provides tools for creation, manipulation, and display of various "
+"graphs. Its main purpose in the engine is to power the visual programming "
+"systems, such as visual shaders, but it is also available for use in user "
+"projects.\n"
+"GraphEdit by itself is only an empty container, representing an infinite "
+"grid where [GraphNode]s can be placed. Each [GraphNode] represent a node in "
+"the graph, a single unit of data in the connected scheme. GraphEdit, in "
+"turn, helps to control various interactions with nodes and between nodes. "
+"When the user attempts to connect, disconnect, or close a [GraphNode], a "
+"signal is emitted in the GraphEdit, but no action is taken by default. It is "
+"the responsibility of the programmer utilizing this control to implement the "
+"necessary logic to determine how each request should be handled.\n"
+"[b]Performance:[/b] It is greatly advised to enable low-processor usage mode "
+"(see [member OS.low_processor_usage_mode]) when using GraphEdits."
+msgstr ""
+"[b]注意:[/b]请注意,此节点将在未来的 4.x 版本中进行大量重构,其中涉及破坏兼"
+"容性的 API 更改。\n"
+"GraphEdit 提供了用于创建、操作和显示各种图形的工具。它在引擎中的主要目的是为"
+"可视化编程系统提供动力,例如可视化着色器,但它也可以在用户项目中使用。\n"
+"GraphEdit 本身只是一个空容器,表示一个可以放置 [GraphNode] 的无限栅格。每个 "
+"[GraphNode] 代表图形中的一个节点,是连接方案中的单个数据单元。反过来,"
+"GraphEdit 有助于控制与节点和节点之间的各种交互。当用户尝试连接、断开或关闭 "
+"[GraphNode] 时,GraphEdit 中会发出一个信号,但默认情况下不执行任何操作。使用"
+"此控件的程序员有责任实施必要的逻辑,来确定应如何处理每个请求。\n"
+"[b]性能:[/b]强烈建议在使用 GraphEdit 时启用低处理器使用模式(参见 [member "
+"OS.low_processor_usage_mode])。"
+
+msgid ""
+"This virtual method can be used to insert additional error detection while "
+"the user is dragging a connection over a valid port.\n"
+"Return [code]true[/code] if the connection is indeed valid or return "
+"[code]false[/code] if the connection is impossible. If the connection is "
+"impossible, no snapping to the port and thus no connection request to that "
+"port will happen.\n"
+"In this example a connection to same node is suppressed:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _is_node_hover_valid(from, from_port, to, to_port):\n"
+" return from != to\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override bool _IsNodeHoverValid(StringName fromNode, int fromPort, "
+"StringName toNode, int toPort)\n"
+"{\n"
+" return fromNode != toNode;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"当用户在有效端口上拖动连接时,该虚拟方法可用于插入额外的错误检测。\n"
+"如果连接确实有效,则返回 [code]true[/code];如果连接不可能,则返回 "
+"[code]false[/code]。如果连接是不可能的,则不会捕捉到该端口,因此不会发起对该"
+"端口的连接请求。\n"
+"在该示例中,抑制了与同一节点的连接:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _is_node_hover_valid(from, from_port, to, to_port):\n"
+" return from != to\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override bool _IsNodeHoverValid(StringName fromNode, int fromPort, "
+"StringName toNode, int toPort)\n"
+"{\n"
+" return fromNode != toNode;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
msgid "Removes all connections between nodes."
msgstr "移除节点之间的所有连接。"
@@ -30431,6 +32921,49 @@ msgstr "吸附动按钮的图标。"
msgid "The background drawn under the grid."
msgstr "绘制在栅格下方的背景。"
+msgid ""
+"[b]Note:[/b] Please be aware that this node will undergo extensive "
+"refactoring in a future 4.x version involving compatibility-breaking API "
+"changes.\n"
+"GraphNode allows to create nodes for a [GraphEdit] graph with customizable "
+"content based on its child [Control]s. GraphNode is a [Container] and is "
+"responsible for placing its children on screen. This works similar to "
+"[VBoxContainer]. Children, in turn, provide GraphNode with so-called slots, "
+"each of which can have a connection port on either side. This is similar to "
+"how [TabContainer] uses children to create the tabs.\n"
+"Each GraphNode slot is defined by its index and can provide the node with up "
+"to two ports: one on the left, and one on the right. By convention the left "
+"port is also referred to as the input port and the right port is referred to "
+"as the output port. Each port can be enabled and configured individually, "
+"using different type and color. The type is an arbitrary value that you can "
+"define using your own considerations. The parent [GraphEdit] will receive "
+"this information on each connect and disconnect request.\n"
+"Slots can be configured in the Inspector dock once you add at least one "
+"child [Control]. The properties are grouped by each slot's index in the "
+"\"Slot\" section.\n"
+"[b]Note:[/b] While GraphNode is set up using slots and slot indices, "
+"connections are made between the ports which are enabled. Because of that "
+"[GraphEdit] uses port's index and not slot's index. You can use [method "
+"get_connection_input_slot] and [method get_connection_output_slot] to get "
+"the slot index from the port index."
+msgstr ""
+"[b]注意:[/b]请注意,此节点将在未来的 4.x 版本中进行大量重构,其中涉及破坏兼"
+"容性的 API 更改。\n"
+"GraphNode 允许为 [GraphEdit] 图形创建节点,并根据其子 [Control] 定制内容。"
+"GraphNode 是一个 [Container] 并负责将其子节点放置在屏幕上。这类似于 "
+"[VBoxContainer]。反过来,子节点为 GraphNode 提供所谓的插槽,每个插槽的两侧都"
+"可以有一个连接端口。这类似于 [TabContainer] 使用子项创建选项卡的方式。\n"
+"每个 GraphNode 插槽由其索引定义,并且可以为节点提供最多两个端口:一个在左侧,"
+"一个在右侧。按照惯例,左侧端口也被称为输入端口,右侧端口被称为输出端口。每个"
+"端口都可以单独启用和配置,以使用不同的类型和颜色。该类型是您可以根据自己的考"
+"虑来定义的任意值。父 [GraphEdit] 将在每个连接和断开连接请求中收到此信息。\n"
+"添加至少一个子 [Control] 后,可以在检查器停靠面板中配置插槽。这些属性在“插"
+"槽”部分中按每个插槽的索引进行分组。\n"
+"[b]注意:[/b]虽然 GraphNode 是使用插槽和插槽索引设置的,但连接是在启用的端口"
+"之间建立的。因为 [GraphEdit] 使用端口的索引,而不是插槽的索引。可以使用 "
+"[method get_connection_input_slot] 和 [method get_connection_output_slot] 从"
+"端口索引中获取插槽索引。"
+
msgid "Disables all input and output slots of the GraphNode."
msgstr "禁用 GraphNode 的所有输入和输出槽。"
@@ -30650,6 +33183,18 @@ msgid "Clear all cells."
msgstr "清除所有单元格。"
msgid ""
+"Returns the [RID] of the navigation map this GridMap node uses for its cell "
+"baked navigation meshes.\n"
+"This function returns always the map set on the GridMap node and not the map "
+"on the NavigationServer. If the map is changed directly with the "
+"NavigationServer API the GridMap node will not be aware of the map change."
+msgstr ""
+"返回该 GridMap 节点用于其单元格烘焙导航网格的导航地图的 [RID]。\n"
+"该函数始终返回在 GridMap 节点上设置的地图,而不是 NavigationServer 上的地图。"
+"如果直接使用 NavigationServer API 更改地图,则 GridMap 节点将不会感知到地图的"
+"更改。"
+
+msgid ""
"Returns an array of [Vector3] with the non-empty cell coordinates in the "
"grid map."
msgstr "返回一个包含网格中非空单元格坐标的 [Vector3] 数组。"
@@ -30751,6 +33296,114 @@ msgstr "沟槽的长度。沟槽是从关键原点沿着关节局部 Y 轴朝向
msgid "Context to compute cryptographic hashes over multiple iterations."
msgstr "在多次迭代中计算加密哈希的上下文。"
+msgid ""
+"The HashingContext class provides an interface for computing cryptographic "
+"hashes over multiple iterations. This is useful for example when computing "
+"hashes of big files (so you don't have to load them all in memory), network "
+"streams, and data streams in general (so you don't have to hold buffers).\n"
+"The [enum HashType] enum shows the supported hashing algorithms.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"const CHUNK_SIZE = 1024\n"
+"\n"
+"func hash_file(path):\n"
+" # Check that file exists.\n"
+" if not FileAccess.file_exists(path):\n"
+" return\n"
+" # Start a SHA-256 context.\n"
+" var ctx = HashingContext.new()\n"
+" ctx.start(HashingContext.HASH_SHA256)\n"
+" # Open the file to hash.\n"
+" var file = FileAccess.open(path, FileAccess.READ)\n"
+" # Update the context after reading each chunk.\n"
+" while not file.eof_reached():\n"
+" ctx.update(file.get_buffer(CHUNK_SIZE))\n"
+" # Get the computed hash.\n"
+" var res = ctx.finish()\n"
+" # Print the result as hex string and array.\n"
+" printt(res.hex_encode(), Array(res))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public const int ChunkSize = 1024;\n"
+"\n"
+"public void HashFile(string path)\n"
+"{\n"
+" // Check that file exists.\n"
+" if (!FileAccess.FileExists(path))\n"
+" {\n"
+" return;\n"
+" }\n"
+" // Start a SHA-256 context.\n"
+" var ctx = new HashingContext();\n"
+" ctx.Start(HashingContext.HashType.Sha256);\n"
+" // Open the file to hash.\n"
+" using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);\n"
+" // Update the context after reading each chunk.\n"
+" while (!file.EofReached())\n"
+" {\n"
+" ctx.Update(file.GetBuffer(ChunkSize));\n"
+" }\n"
+" // Get the computed hash.\n"
+" byte[] res = ctx.Finish();\n"
+" // Print the result as hex string and array.\n"
+" GD.PrintT(res.HexEncode(), (Variant)res);\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"HashingContext 类提供了一个接口,用于在多次迭代中计算加密哈希值。这在计算大文"
+"件的哈希值(因此不必将它们全部加载到内存中)、网络流、和一般数据流(因此不必"
+"持有缓冲区)时很有用。\n"
+"[enum HashType] 枚举显示了支持的哈希算法。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"const CHUNK_SIZE = 1024\n"
+"\n"
+"func hash_file(path):\n"
+" # 检查文件是否存在。\n"
+" if not FileAccess.file_exists(path):\n"
+" return\n"
+" # 启动一个 SHA-256 上下文。\n"
+" var ctx = HashingContext.new()\n"
+" ctx.start(HashingContext.HASH_SHA256)\n"
+" # 打开文件进行哈希处理。\n"
+" var file = FileAccess.open(path, FileAccess.READ)\n"
+" # 读取每个块后更新上下文。\n"
+" while not file.eof_reached():\n"
+" ctx.update(file.get_buffer(CHUNK_SIZE))\n"
+" # 获取计算的哈希值。\n"
+" var res = ctx.finish()\n"
+" # 将结果打印为十六进制字符串和数组。\n"
+" printt(res.hex_encode(), Array(res))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public const int ChunkSize = 1024;\n"
+"\n"
+"public void HashFile(string path)\n"
+"{\n"
+" // 检查文件是否存在。\n"
+" if (!FileAccess.FileExists(path))\n"
+" {\n"
+" return;\n"
+" }\n"
+" // 启动一个 SHA-256 上下文。\n"
+" var ctx = new HashingContext();\n"
+" ctx.Start(HashingContext.HashType.Sha256);\n"
+" // 打开文件进行哈希处理。\n"
+" using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);\n"
+" // 读取每个块后更新上下文。\n"
+" while (!file.EofReached())\n"
+" {\n"
+" ctx.Update(file.GetBuffer(ChunkSize));\n"
+" }\n"
+" // 获取计算的哈希值。\n"
+" byte[] res = ctx.Finish();\n"
+" // 将结果打印为十六进制字符串和数组。\n"
+" GD.PrintT(res.HexEncode(), (Variant)res);\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
msgid "Closes the current context, and return the computed hash."
msgstr "关闭当前上下文,并返回计算出的哈希值。"
@@ -31088,6 +33741,75 @@ msgstr "在中间区域绘制的抓取图标。"
msgid "Low-level hyper-text transfer protocol client."
msgstr "低级别的超文本传输协议客户端。"
+msgid ""
+"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
+"to make HTTP requests to download web content, upload files and other data "
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
+"[b]Note:[/b] This client only needs to connect to a host once (see [method "
+"connect_to_host]) to send multiple requests. Because of this, methods that "
+"take URLs usually take just the part after the host instead of the full URL, "
+"as the client is already connected to a host. See [method request] for a "
+"full example and to get started.\n"
+"A [HTTPClient] should be reused between multiple requests or to connect to "
+"different hosts instead of creating one client per request. Supports "
+"Transport Layer Security (TLS), including server certificate verification. "
+"HTTP status codes in the 2xx range indicate success, 3xx redirection (i.e. "
+"\"try again, but over here\"), 4xx something was wrong with the request, and "
+"5xx something went wrong on the server's side.\n"
+"For more information on HTTP, see https://developer.mozilla.org/en-US/docs/"
+"Web/HTTP (or read RFC 2616 to get it straight from the source: https://tools."
+"ietf.org/html/rfc2616).\n"
+"[b]Note:[/b] When exporting to Android, make sure to enable the "
+"[code]INTERNET[/code] permission in the Android export preset before "
+"exporting the project or using one-click deploy. Otherwise, network "
+"communication of any kind will be blocked by Android.\n"
+"[b]Note:[/b] It's recommended to use transport encryption (TLS) and to avoid "
+"sending sensitive information (such as login credentials) in HTTP GET URL "
+"parameters. Consider using HTTP POST requests or HTTP headers for such "
+"information instead.\n"
+"[b]Note:[/b] When performing HTTP requests from a project exported to Web, "
+"keep in mind the remote server may not allow requests from foreign origins "
+"due to [url=https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS]CORS[/"
+"url]. If you host the server in question, you should modify its backend to "
+"allow requests from foreign origins by adding the [code]Access-Control-Allow-"
+"Origin: *[/code] HTTP header.\n"
+"[b]Note:[/b] TLS support is currently limited to TLS 1.0, TLS 1.1, and TLS "
+"1.2. Attempting to connect to a TLS 1.3-only server will return an error.\n"
+"[b]Warning:[/b] TLS certificate revocation and certificate pinning are "
+"currently not supported. Revoked certificates are accepted as long as they "
+"are otherwise valid. If this is a concern, you may want to use automatically "
+"managed certificates with a short validity period."
+msgstr ""
+"超文本传输协议客户端(有时称为“用户代理”)。用于发出 HTTP 请求以下载网络内"
+"容,上传文件和其他数据、或与各种服务通信,以及其他用例。\n"
+"请参阅 [HTTPRequest] 节点以获取更高级别的替代方案。\n"
+"[b]注意:[/b]这个客户端只需要连接一个主机一次(见[method connect_to_host]),"
+"就可以发送多个请求。因此,使用 URL 的方法通常只使用主机后面的部分而不是完整"
+"的 URL,因为客户端已经连接到主机。请参阅 [method request] 以获取完整示例并开"
+"始使用。\n"
+"[HTTPClient] 应该在多个请求之间重用、或连接到不同的主机,而不是为每个请求创建"
+"一个客户端。支持传输层安全 (TLS),包括服务器证书验证。2xx 范围内的 HTTP 状态"
+"代码表示成功,3xx 表示重定向(即“再试一次,但在这里”),4xx 表示请求有问题,"
+"5xx 表示服务器端出了问题。\n"
+"有关 HTTP 的更多信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/"
+"HTTP(或阅读 RFC 2616 以直接从源代码获取它:https://tools.ietf.org/html /"
+"rfc2616)。\n"
+"[b]注意:[/b]导出到 Android 时,在导出项目或使用一键部署前,请确保在 Android "
+"导出预设中启用 [code]INTERNET[/code] 权限。否则,任何类型的网络通信都将被 "
+"Android 阻止。\n"
+"[b]注意:[/b]建议使用传输加密(TLS)并避免在 HTTP GET URL 参数中发送敏感信息"
+"(例如登录凭据)。考虑改用 HTTP POST 请求或 HTTP 标头来获取此类信息。\n"
+"[b]注意:[/b]当从导出到 Web 的项目执行 HTTP 请求时,请记住,由于 "
+"[url=https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS]CORS[/url],远程"
+"服务器可能不允许来自站外的请求。如果托管到有问题的服务器,应该修改其后台,以"
+"通过添加 [code]Access-Control-Allow-Origin: *[/code] HTTP 标头来允许来自站外"
+"的请求。\n"
+"[b]注意:[/b]TLS 支持目前仅限于 TLS 1.0、TLS 1.1 和 TLS 1.2。尝试连接到仅支"
+"持 TLS 1.3 的服务器时将返回一个错误。\n"
+"[b]警告:[/b]目前不支持 TLS 证书撤销和证书绑定。只要吊销的证书在其他方面有"
+"效,就会被接受。如果这是一个问题,您可能希望使用有效期较短的自动管理的证书。"
+
msgid "HTTP client class"
msgstr "HTTP 客户端类"
@@ -31098,6 +33820,20 @@ msgid "Closes the current connection, allowing reuse of this [HTTPClient]."
msgstr "关闭当前连接,允许重用此[HTTPClient]。"
msgid ""
+"Connects to a host. This needs to be done before any requests are sent.\n"
+"If no [param port] is specified (or [code]-1[/code] is used), it is "
+"automatically set to 80 for HTTP and 443 for HTTPS. You can pass the "
+"optional [param tls_options] parameter to customize the trusted "
+"certification authorities, or the common name verification when using HTTPS. "
+"See [method TLSOptions.client] and [method TLSOptions.client_unsafe]."
+msgstr ""
+"连接到主机。这需要在发送任何请求之前完成。\n"
+"如果未指定 [param port](或使用 [code]-1[/code]),则自动将其设置为 80(用于 "
+"HTTP)和 443(用于 HTTPS)。可以传入可选的 [param tls_options] 参数来自定义受"
+"信任的证书颁发机构,或者使用 HTTPS 时的通用名称验证。请参阅 [method "
+"TLSOptions.client] 和 [method TLSOptions.client_unsafe]。"
+
+msgid ""
"Returns the response's body length.\n"
"[b]Note:[/b] Some Web servers may not send a body length. In this case, the "
"value returned will be [code]-1[/code]. If using chunked transfer encoding, "
@@ -31153,6 +33889,80 @@ msgid ""
"results with [method get_status]."
msgstr "调用此方法才能对请求进行处理。使用 [method get_status] 获取检查。"
+msgid ""
+"Generates a GET/POST application/x-www-form-urlencoded style query string "
+"from a provided dictionary, e.g.:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var fields = {\"username\": \"user\", \"password\": \"pass\"}\n"
+"var query_string = http_client.query_string_from_dict(fields)\n"
+"# Returns \"username=user&password=pass\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var fields = new Godot.Collections.Dictionary { { \"username\", \"user\" }, "
+"{ \"password\", \"pass\" } };\n"
+"string queryString = httpClient.QueryStringFromDict(fields);\n"
+"// Returns \"username=user&password=pass\"\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"Furthermore, if a key has a [code]null[/code] value, only the key itself is "
+"added, without equal sign and value. If the value is an array, for each "
+"value in it a pair with the same key is added.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var fields = {\"single\": 123, \"not_valued\": null, \"multiple\": [22, 33, "
+"44]}\n"
+"var query_string = http_client.query_string_from_dict(fields)\n"
+"# Returns \"single=123&not_valued&multiple=22&multiple=33&multiple=44\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var fields = new Godot.Collections.Dictionary\n"
+"{\n"
+" { \"single\", 123 },\n"
+" { \"notValued\", default },\n"
+" { \"multiple\", new Godot.Collections.Array { 22, 33, 44 } },\n"
+"};\n"
+"string queryString = httpClient.QueryStringFromDict(fields);\n"
+"// Returns \"single=123&not_valued&multiple=22&multiple=33&multiple=44\"\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"从提供的字典生成 GET/POST application/x-www-form-urlencoded 样式的查询字符"
+"串,例如:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var fields = {\"username\": \"user\", \"password\": \"pass\"}\n"
+"var query_string = http_client.query_string_from_dict(fields)\n"
+"# 返回 \"username=user&password=pass\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var fields = new Godot.Collections.Dictionary { { \"username\", \"user\" }, "
+"{ \"password\", \"pass\" } };\n"
+"string queryString = httpClient.QueryStringFromDict(fields);\n"
+"// 返回 \"username=user&password=pass\"\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"此外,如果键具有 [code]null[/code] 值,则仅添加键本身,而不添加等号和值。如果"
+"该值是一个数组,则添加该相同键,与其中的每个值组成一对。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var fields = {\"single\": 123, \"not_valued\": null, \"multiple\": [22, 33, "
+"44]}\n"
+"var query_string = http_client.query_string_from_dict(fields)\n"
+"# 返回 \"single=123&not_valued&multiple=22&multiple=33&multiple=44\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var fields = new Godot.Collections.Dictionary\n"
+"{\n"
+" { \"single\", 123 },\n"
+" { \"notValued\", default },\n"
+" { \"multiple\", new Godot.Collections.Array { 22, 33, 44 } },\n"
+"};\n"
+"string queryString = httpClient.QueryStringFromDict(fields);\n"
+"// 返回 \"single=123&not_valued&multiple=22&multiple=33&multiple=44\"\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
msgid "Reads one chunk from the response."
msgstr "从响应中读取一块数据。"
@@ -32949,6 +35759,22 @@ msgstr ""
"通道 9 是为打击乐器保留的,其余通道供非打击乐器使用。"
msgid ""
+"If the message is [constant MIDI_MESSAGE_CONTROL_CHANGE], this indicates the "
+"controller number, otherwise this is zero. Controllers include devices such "
+"as pedals and levers."
+msgstr ""
+"如果消息是 [constant MIDI_MESSAGE_CONTROL_CHANGE],则表示控制器号,否则为零。"
+"控制器包含踏板、推杆等设备。"
+
+msgid ""
+"If the message is [constant MIDI_MESSAGE_CONTROL_CHANGE], this indicates the "
+"controller value, otherwise this is zero. Controllers include devices such "
+"as pedals and levers."
+msgstr ""
+"如果消息是 [constant MIDI_MESSAGE_CONTROL_CHANGE],则表示控制器值,否则为零。"
+"控制器包含踏板、推杆等设备。"
+
+msgid ""
"The instrument of this input event. This value ranges from 0 to 127. Refer "
"to the instrument list on the General MIDI wikipedia article to see a list "
"of instruments, except that this value is 0-index, so subtract one from "
@@ -32960,6 +35786,28 @@ msgstr ""
"都减一。标准钢琴的乐器号为 0。"
msgid ""
+"Returns a value indicating the type of message for this MIDI signal. This is "
+"a member of the [enum MIDIMessage] enum.\n"
+"For MIDI messages between 0x80 and 0xEF, only the left half of the bits are "
+"returned as this value, as the other part is the channel (ex: 0x94 becomes "
+"0x9). For MIDI messages from 0xF0 to 0xFF, the value is returned as-is.\n"
+"Notes will return [constant MIDI_MESSAGE_NOTE_ON] when activated, but they "
+"might not always return [constant MIDI_MESSAGE_NOTE_OFF] when deactivated, "
+"therefore your code should treat the input as stopped if some period of time "
+"has passed.\n"
+"For more information, see the MIDI message status byte list chart linked "
+"above."
+msgstr ""
+"返回表示这个 MIDI 信号类型的值,是 [enum MIDIMessage] 枚举的成员。\n"
+"对于在 0x80 和 0xEF 之间的 MIDI 消息,这个值返回的是左半部分的比特位,另一半"
+"是通道(例:0x94 会变成 0x9)。对于在 0xF0 到 0xFF 之间的 MIDI 消息,这个值是"
+"原样返回的。\n"
+"激活音符时会返回 [constant MIDI_MESSAGE_NOTE_ON],但失活时并不一定会返回 "
+"[constant MIDI_MESSAGE_NOTE_OFF],因此你的代码应该在经过一段时间后将输入处理"
+"为停止。\n"
+"更多消息请参阅上面链接的 MIDI 消息状态字节列表。"
+
+msgid ""
"The pitch index number of this MIDI signal. This value ranges from 0 to 127. "
"On a piano, middle C is 60, and A440 is 69, see the \"MIDI note\" column of "
"the piano key frequency chart on Wikipedia for more information."
@@ -32972,6 +35820,19 @@ msgid ""
"devices, this value is always zero."
msgstr "MIDI 信号的压力。这个值在 0 到 127 之间。对于很多设备,这个值总是 0。"
+msgid ""
+"The velocity of the MIDI signal. This value ranges from 0 to 127. For a "
+"piano, this corresponds to how quickly the key was pressed, and is rarely "
+"above about 110 in practice. Note that some MIDI devices may send a "
+"[constant MIDI_MESSAGE_NOTE_ON] message with zero velocity and expect this "
+"to be treated the same as a [constant MIDI_MESSAGE_NOTE_OFF] message, but "
+"device implementations vary so Godot reports event data exactly as received."
+msgstr ""
+"MIDI 信号的速度。这个值在 0 到 127 之间。对于钢琴,这对应的是按键有多块,实际"
+"很少超过 110。请注意,部分 MIDI 设备可能会发送速度为零的 [constant "
+"MIDI_MESSAGE_NOTE_ON] 并期望进行和 [constant MIDI_MESSAGE_NOTE_OFF] 一样的处"
+"理,但因设备实现而异,所以 Godot 会原样汇报事件数据。"
+
msgid "Base input event type for mouse events."
msgstr "鼠标事件的基本输入事件类型。"
@@ -32979,6 +35840,11 @@ msgid "Stores general mouse events information."
msgstr "存储一般的鼠标事件信息。"
msgid ""
+"The mouse button mask identifier, one of or a bitwise combination of the "
+"[enum MouseButton] button masks."
+msgstr "鼠标按键掩码标识符,[enum MouseButton] 按钮掩码或将其按位组合。"
+
+msgid ""
"When received in [method Node._input] or [method Node._unhandled_input], "
"returns the mouse's position in the root [Viewport] using the coordinate "
"system of the root [Viewport].\n"
@@ -33012,6 +35878,11 @@ msgstr "包含鼠标点击信息。见 [method Node._input]。"
msgid "Mouse and input coordinates"
msgstr "鼠标和输入坐标"
+msgid ""
+"The mouse button identifier, one of the [enum MouseButton] button or button "
+"wheel constants."
+msgstr "鼠标按键标识符,[enum MouseButton] 按钮或按钮滚轮常量。"
+
msgid "If [code]true[/code], the mouse button's state is a double-click."
msgstr "如果为 [code]true[/code],鼠标按钮的状态是双击。"
@@ -33036,6 +35907,25 @@ msgid "Input event type for mouse motion events."
msgstr "鼠标移动事件的输入事件类型。"
msgid ""
+"Contains mouse and pen motion information. Supports relative, absolute "
+"positions and velocity. See [method Node._input].\n"
+"[b]Note:[/b] By default, this event is only emitted once per frame rendered "
+"at most. If you need more precise input reporting, set [member Input."
+"use_accumulated_input] to [code]false[/code] to make events emitted as often "
+"as possible. If you use InputEventMouseMotion to draw lines, consider "
+"implementing [url=https://en.wikipedia.org/wiki/"
+"Bresenham%27s_line_algorithm]Bresenham's line algorithm[/url] as well to "
+"avoid visible gaps in lines if the user is moving the mouse quickly."
+msgstr ""
+"包含鼠标和笔的运动信息。支持相对、绝对位置和速度。见 [method Node._input]。\n"
+"[b]注意:[/b]默认情况下,该事件每个渲染帧最多只会发出一个。如果你需要更精确的"
+"输入汇报,请将 [member Input.use_accumulated_input] 设置为 [code]false[/"
+"code],尽可能频繁地发出事件。如果你使用 InputEventMouseMotion 来画线,请考虑"
+"同时实现[url=https://zh.wikipedia.org/zh-cn/"
+"%E5%B8%83%E9%9B%B7%E6%A3%AE%E6%BC%A2%E5%A7%86%E7%9B%B4%E7%B7%9A%E6%BC%94%E7%AE%97%E6%B3%95]"
+"布雷森汉姆直线算法[/url],以避免在用户快速移动鼠标时出现可见的线条空隙。"
+
+msgid ""
"Returns [code]true[/code] when using the eraser end of a stylus pen.\n"
"[b]Note:[/b] This property is implemented on Linux, macOS and Windows."
msgstr ""
@@ -33234,6 +36124,22 @@ msgstr ""
msgid "Removes an action from the [InputMap]."
msgstr "从 [InputMap] 中删除一个动作。"
+msgid ""
+"Returns [code]true[/code] if the given event is part of an existing action. "
+"This method ignores keyboard modifiers if the given [InputEvent] is not "
+"pressed (for proper release detection). See [method action_has_event] if you "
+"don't want this behavior.\n"
+"If [param exact_match] is [code]false[/code], it ignores additional input "
+"modifiers for [InputEventKey] and [InputEventMouseButton] events, and the "
+"direction for [InputEventJoypadMotion] events."
+msgstr ""
+"如果给定的事件是现有动作的一部分,返回 [code]true[/code]。如果给定的 "
+"[InputEvent] 没有被按下,这个方法会忽略键盘(为了正确地检测释放)。如果你不想"
+"要这种行为,请参阅 [method action_has_event]。\n"
+"如果 [param exact_match] 是 [code]false[/code],它会忽略 [InputEventKey] 和 "
+"[InputEventMouseButton] 事件的额外输入修饰符,以及 [InputEventJoypadMotion] "
+"事件的方向。"
+
msgid "Returns an array of all actions in the [InputMap]."
msgstr "返回 [InputMap] 中所有动作的数组。"
@@ -33253,6 +36159,27 @@ msgid "Placeholder for the root [Node] of a [PackedScene]."
msgstr "[PackedScene] 根 [Node] 的占位符。"
msgid ""
+"Turning on the option [b]Load As Placeholder[/b] for an instantiated scene "
+"in the editor causes it to be replaced by an [InstancePlaceholder] when "
+"running the game, this will not replace the node in the editor. This makes "
+"it possible to delay actually loading the scene until calling [method "
+"create_instance]. This is useful to avoid loading large scenes all at once "
+"by loading parts of it selectively.\n"
+"The [InstancePlaceholder] does not have a transform. This causes any child "
+"nodes to be positioned relatively to the [Viewport] from point (0,0), rather "
+"than their parent as displayed in the editor. Replacing the placeholder with "
+"a scene with a transform will transform children relatively to their parent "
+"again."
+msgstr ""
+"在编辑器中为实例化的场景打开[b]加载为占位符[/b]选项会导致在运行游戏时将其替换"
+"为 [InstancePlaceholder]。这样就可以将场景的实际加载推迟到调用 [method "
+"create_instance] 时。这对于通过选择性加载部分场景来避免一次性加载大场景很有"
+"用。\n"
+"[InstancePlaceholder] 不具备变换属性。因此任何子节点都会相对于 [Viewport] 从 "
+"(0, 0) 点开始定位,而不是在编辑器中显示的父节点。用一个具有变换属性的场景来替"
+"换占位符,将使子节点再次相对于它们的父节点进行变换。"
+
+msgid ""
"Call this method to actually load in the node. The created node will be "
"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
"tree. The [Node]'s reference is also returned for convenience.\n"
@@ -33265,6 +36192,27 @@ msgstr ""
"[b]注意:[/b][method create_instance] 不是线程安全的。从线程中调用时请使用 "
"[method Object.call_deferred]。"
+msgid ""
+"Gets the path to the [PackedScene] resource file that is loaded by default "
+"when calling [method create_instance]. Not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
+msgstr ""
+"获取调用 [method create_instance] 时默认加载的 [PackedScene] 资源文件的路径。"
+"不是线程安全的。如果从线程调用,请使用 [method Object.call_deferred]。"
+
+msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [param with_order] is [code]true[/code], a key named [code].order[/code] "
+"(note the leading period) is added to the dictionary. This [code].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"
+"如果 [param with_order] 为 [code]true[/code],会在字典中加入 [code].order[/"
+"code] 字段(注意有个前缀的点)。这个 [code].order[/code] 字段是属性名称 "
+"[String] 的 [Array],指定属性的应用顺序(索引为 0 的是第一个)。"
+
msgid "Integer built-in type."
msgstr "整数内置类型。"
@@ -33661,9 +36609,44 @@ msgstr ""
msgid "Creates an idle interval in a [Tween] animation."
msgstr "在 [Tween] 动画中创建空闲间隔。"
+msgid ""
+"[IntervalTweener] is used to make delays in a tweening sequence. See [method "
+"Tween.tween_interval] for more usage information.\n"
+"[b]Note:[/b] [method Tween.tween_interval] is the only correct way to create "
+"[IntervalTweener]. Any [IntervalTweener] created manually will not function "
+"correctly."
+msgstr ""
+"[IntervalTweener] 可用于在补间序列中制作延迟。更多用法信息请参阅 [method "
+"Tween.tween_interval]。\n"
+"[b]注意:[/b]创建 [IntervalTweener] 的唯一正确方法是 [method Tween."
+"tween_interval]。任何手动创建的 [IntervalTweener] 都无法正常工作。"
+
msgid "Internet protocol (IP) support functions such as DNS resolution."
msgstr "网际协议(IP)支持函数,如 DNS 解析。"
+msgid ""
+"IP contains support functions for the Internet Protocol (IP). TCP/IP support "
+"is in different classes (see [StreamPeerTCP] and [TCPServer]). IP provides "
+"DNS hostname resolution support, both blocking and threaded."
+msgstr ""
+"IP 包含网际协议(IP)的支持函数。TCP/IP 的支持在其他类中(请参阅 "
+"[StreamPeerTCP] 和 [TCPServer])。IP 提供 DNS 主机名解析支持,包括阻塞式和线"
+"程式。"
+
+msgid ""
+"Removes all of a [param hostname]'s cached references. If no [param "
+"hostname] is given, all cached IP addresses are removed."
+msgstr ""
+"移除所有 [param hostname] 主机名的缓存引用。如果没有给出 [param hostname],所"
+"有缓存的 IP 地址将被删除。"
+
+msgid ""
+"Removes a given item [param id] from the queue. This should be used to free "
+"a queue after it has completed to enable more queries to happen."
+msgstr ""
+"从队列中删除一个给定的项目 [param id]。这应该被用来在队列完成后释放队列,以便"
+"进行更多的查询。"
+
msgid "Returns all the user's current IPv4 and IPv6 addresses as an array."
msgstr "以数组形式返回所有用户的当前 IPv4 和 IPv6 地址。"
@@ -33692,12 +36675,51 @@ msgstr ""
"[/codeblock]"
msgid ""
+"Returns a queued hostname's IP address, given its queue [param id]. Returns "
+"an empty string on error or if resolution hasn't happened yet (see [method "
+"get_resolve_item_status])."
+msgstr ""
+"给定队列 [param id],返回排队主机名的 IP 地址。出现错误或解析尚未发生时返回一"
+"个空字符串(见 [method get_resolve_item_status])。"
+
+msgid ""
"Returns resolved addresses, or an empty array if an error happened or "
"resolution didn't happen yet (see [method get_resolve_item_status])."
msgstr ""
"如果发生错误或尚未发生解析,则返回已解析的地址或空数组(请参阅 [method "
"get_resolve_item_status])。"
+msgid ""
+"Returns a queued hostname's status as a [enum ResolverStatus] constant, "
+"given its queue [param id]."
+msgstr ""
+"给定队列 [param id],以 [enum ResolverStatus] 常量的形式返回排队主机名的状"
+"态。"
+
+msgid ""
+"Returns a given hostname's IPv4 or IPv6 address when resolved (blocking-type "
+"method). The address type returned depends on the [enum Type] constant given "
+"as [param ip_type]."
+msgstr ""
+"在解析时返回一个给定的主机名的 IPv4 或 IPv6 地址(阻塞类型方法)。返回的地址"
+"类型取决于作为 [param ip_type] 的 [enum Type] 常量。"
+
+msgid ""
+"Resolves a given hostname in a blocking way. Addresses are returned as an "
+"[Array] of IPv4 or IPv6 addresses depending on [param ip_type]."
+msgstr ""
+"以阻塞方式解析给定的主机名。地址作为 IPv4 或 IPv6 的 [Array] 数组返回,具体取"
+"决于 [param ip_type]。"
+
+msgid ""
+"Creates a queue item to resolve a hostname to an IPv4 or IPv6 address "
+"depending on the [enum Type] constant given as [param ip_type]. Returns the "
+"queue ID if successful, or [constant RESOLVER_INVALID_ID] on error."
+msgstr ""
+"创建一个队列项目,根据 [enum Type] 常量 [param ip_type],将主机名解析为 IPv4 "
+"或 IPv6 地址。如果成功,则返回队列 ID,否则返回 [constant "
+"RESOLVER_INVALID_ID]。"
+
msgid "DNS hostname resolver status: No status."
msgstr "DNS 主机名解析器状态:无状态。"
@@ -33753,6 +36775,15 @@ msgid ""
msgstr "确保当前选择可见,根据需要调整滚动位置。"
msgid ""
+"Returns the item index at the given [param position].\n"
+"When there is no item at that point, -1 will be returned if [param exact] is "
+"[code]true[/code], and the closest item index will be returned otherwise."
+msgstr ""
+"在给定的位置 [param position] 返回项目索引。\n"
+"当此时没有项目时,如果精确 [param exact] 为 [code]true[/code],则将返回 -1,"
+"否则将返回最近的项目索引。"
+
+msgid ""
"Returns the custom background color of the item specified by [param idx] "
"index."
msgstr "返回项目的自定义背景色,项目由索引 [param idx] 指定。"
@@ -34037,6 +37068,9 @@ msgstr "允许通过按住 [kbd]Ctrl[/kbd] 或 [kbd]Shift[/kbd] 来选择多个
msgid "Default text [Color] of the item."
msgstr "项目的默认文本颜色 [Color]。"
+msgid "The tint of text outline of the item."
+msgstr "项目文本轮廓的色调。"
+
msgid "Text [Color] used when the item is selected."
msgstr "选择项目时使用的文本颜色 [Color]。"
@@ -34054,6 +37088,20 @@ msgstr "项目的图标和文本之间的间距。"
msgid "The vertical spacing between each line of text."
msgstr "每行文字之间的行距。"
+msgid ""
+"The size of the item text outline.\n"
+"[b]Note:[/b] If using a font with [member FontFile."
+"multichannel_signed_distance_field] enabled, its [member FontFile."
+"msdf_pixel_range] must be set to at least [i]twice[/i] the value of "
+"[theme_item outline_size] for outline rendering to look correct. Otherwise, "
+"the outline may appear to be cut off earlier than intended."
+msgstr ""
+"项目文本轮廓的大小。\n"
+"[b]注意:[/b]如果使用启用了 [member FontFile."
+"multichannel_signed_distance_field] 的字体,其 [member FontFile."
+"msdf_pixel_range] 必须至少设置为 [theme_item outline_size] 的[i]两倍[/i],轮"
+"廓渲染才能看起来正确。否则,轮廓可能会比预期的更早被切断。"
+
msgid "The vertical spacing between items."
msgstr "项目菜单之间的垂直间距。"
@@ -34439,6 +37487,20 @@ msgstr "文本阴影效果的颜色 [Color]。"
msgid "Vertical space between lines in multiline [Label]."
msgstr "多行 [Label] 中,行与行之间的垂直间距。"
+msgid ""
+"Text outline size.\n"
+"[b]Note:[/b] If using a font with [member FontFile."
+"multichannel_signed_distance_field] enabled, its [member FontFile."
+"msdf_pixel_range] must be set to at least [i]twice[/i] the value of "
+"[theme_item outline_size] for outline rendering to look correct. Otherwise, "
+"the outline may appear to be cut off earlier than intended."
+msgstr ""
+"文字轮廓的大小。\n"
+"[b]注意:[/b]如果使用启用了 [member FontFile."
+"multichannel_signed_distance_field] 的字体,其 [member FontFile."
+"msdf_pixel_range] 必须至少设置为 [theme_item outline_size] 的[i]两倍[/i],轮"
+"廓渲染才能看起来正确。否则,轮廓可能会比预期的更早被切断。"
+
msgid "The horizontal offset of the text's shadow."
msgstr "文本阴影的水平偏移。"
@@ -34522,6 +37584,9 @@ msgstr "该 [Label3D] 的文本颜色 [Color]。"
msgid "The text drawing offset (in pixels)."
msgstr "文本绘制偏移(单位为像素)。"
+msgid "The tint of text outline."
+msgstr "文本轮廓的色调。"
+
msgid ""
"Sets the render priority for the text outline. Higher priority objects will "
"be sorted in front of lower priority objects.\n"
@@ -34989,6 +38054,17 @@ msgstr ""
"ProjectSettings.rendering/lightmapping/bake_quality/"
"high_quality_probe_ray_count] 来调整此预设的质量。"
+msgid ""
+"Highest bake quality (slowest bake times). The quality of this preset can be "
+"adjusted by changing [member ProjectSettings.rendering/lightmapping/"
+"bake_quality/ultra_quality_ray_count] and [member ProjectSettings.rendering/"
+"lightmapping/bake_quality/ultra_quality_probe_ray_count]."
+msgstr ""
+"最高的烘焙质量(最慢的烘焙时间)。可以通过更改 [member ProjectSettings."
+"rendering/lightmapping/bake_quality/high_quality_ray_count] 和 [member "
+"ProjectSettings.rendering/lightmapping/bake_quality/"
+"ultra_quality_probe_ray_count] 来调整此预设的质量。"
+
msgid "Lowest level of subdivision (fastest bake times, smallest file sizes)."
msgstr "最低级别的细分(烘焙时间最快,文件大小最小)。"
@@ -35091,6 +38167,21 @@ msgid "The built-in GPU-based lightmapper for use with [LightmapGI]."
msgstr "内置的基于 GPU 的光照贴图器,与 [LightmapGI] 一起使用。"
msgid ""
+"LightmapperRD (\"RD\" stands for [RenderingDevice]) is the built-in GPU-"
+"based lightmapper for use with [LightmapGI]. On most dedicated GPUs, it can "
+"bake lightmaps much faster than most CPU-based lightmappers. LightmapperRD "
+"uses compute shaders to bake lightmaps, so it does not require CUDA or "
+"OpenCL libraries to be installed to be usable.\n"
+"[b]Note:[/b] Only usable when using the Vulkan backend (Forward+ or Mobile), "
+"not OpenGL."
+msgstr ""
+"LightmapperRD(“RD”代表 [RenderingDevice])是基于 GPU 的内置光照贴图器,可与 "
+"[LightmapGI] 一起使用。在大多数专用 GPU 上,它可以比大多数基于 CPU 的光照贴图"
+"更快地烘焙光照贴图。LightmapperRD 使用计算着色器来烘焙光照贴图,因此它不需要"
+"安装 CUDA 或 OpenCL 库即可使用。\n"
+"[b]注意:[/b] 仅在使用 Vulkan 后端(Forward+ 或移动),而不是 OpenGL 时可用。"
+
+msgid ""
"Represents a single manually placed probe for dynamic object lighting with "
"[LightmapGI]."
msgstr "表示使用 [LightmapGI] 进行动态物体照明的单个手动放置的探针。"
@@ -35478,6 +38569,13 @@ msgstr "插入软连字符(SHY)字符。"
msgid "Represents the size of the [enum MenuItems] enum."
msgstr "代表 [enum MenuItems] 枚举的大小。"
+msgid ""
+"Color of the [LineEdit]'s caret (text cursor). This can be set to a fully "
+"transparent color to hide the caret entirely."
+msgstr ""
+"[LineEdit] 的插入符号(文本光标)的颜色。可以设置为完全透明的颜色,从而完全隐"
+"藏光标。"
+
msgid "Color used as default tint for the clear button."
msgstr "用作清除按钮默认色调的颜色。"
@@ -35487,6 +38585,9 @@ msgstr "按下清除按钮时使用的颜色。"
msgid "Default font color."
msgstr "默认字体颜色。"
+msgid "The tint of text outline of the [LineEdit]."
+msgstr "[LineEdit] 文本轮廓的色调。"
+
msgid "Font color for [member placeholder_text]."
msgstr "[member placeholder_text] 的字体颜色。"
@@ -35571,6 +38672,9 @@ msgstr ""
msgid "Text [Color] used when the [LinkButton] is being hovered."
msgstr "当 [LinkButton] 被悬停时使用的文本颜色 [Color]。"
+msgid "The tint of text outline of the [LinkButton]."
+msgstr "[LinkButton] 的文本轮廓的色调。"
+
msgid "Text [Color] used when the [LinkButton] is being pressed."
msgstr "当 [LinkButton] 被按下时使用的文本颜色 [Color]。"
@@ -35906,6 +39010,9 @@ msgstr "菜单项处于悬停状态时使用的文字 [Color]。"
msgid "Text [Color] used when the menu item is being hovered and pressed."
msgstr "菜单项处于悬停且按下状态时使用的文字 [Color]。"
+msgid "The tint of text outline of the menu item."
+msgstr "菜单项文本轮廓的色调。"
+
msgid "Text [Color] used when the menu item is being pressed."
msgstr "菜单项处于按下状态时使用的文字 [Color]。"
@@ -36005,6 +39112,9 @@ msgstr ""
msgid "Text [Color] used when the [MenuButton] is being hovered."
msgstr "该 [MenuButton] 处于悬停状态时的字体 [Color]。"
+msgid "The tint of text outline of the [MenuButton]."
+msgstr "该 [MenuButton] 的文本轮廓的色调。"
+
msgid "Text [Color] used when the [MenuButton] is being pressed."
msgstr "当 [MenuButton] 被按下时使用的字体 [Color] 颜色。"
@@ -36223,6 +39333,13 @@ msgstr "表示该自定义通道包含的是半精度浮点数颜色,编码为
msgid ""
"Indicates this custom channel contains full float colors, in a "
+"[PackedFloat32Array]. Only the red channel is used."
+msgstr ""
+"表示该自定义通道包含的是全精度浮点数颜色,使用 [PackedFloat32Array]。仅使用红"
+"色通道。"
+
+msgid ""
+"Indicates this custom channel contains full float colors, in a "
"[PackedFloat32Array]. Only red and green channels are used."
msgstr ""
"表示该自定义通道包含的是全精度浮点数颜色,使用 [PackedFloat32Array]。仅使用"
@@ -36455,9 +39572,6 @@ msgstr "网格实例与场景相结合的节点。"
msgid "The [Mesh] resource for the instance."
msgstr "该实例的 [Mesh] 资源。"
-msgid "Sets the skin to be used by this instance."
-msgstr "设置此实例要使用的蒙皮。"
-
msgid "Library of meshes."
msgstr "网格库。"
@@ -37558,9 +40672,15 @@ msgstr "在地图上新建两个地点之间的链接。"
msgid "Returns the ending position of this [code]link[/code]."
msgstr "返回该 [code]link[/code] 的结束位置。"
+msgid "Returns the enter cost of this [param link]."
+msgstr "返回 [param link] 链接的进入消耗。"
+
msgid "Returns the starting position of this [code]link[/code]."
msgstr "返回该 [code]link[/code] 的起始位置。"
+msgid "Returns the travel cost of this [param link]."
+msgstr "返回 [param link] 链接的移动消耗。"
+
msgid "Sets the exit position for the [code]link[/code]."
msgstr "设置 [code]link[/code] 的出口位置。"
@@ -37599,9 +40719,15 @@ msgstr "设置用于焊接兼容地区边界的地图边界连接边距。"
msgid "Creates a new region."
msgstr "创建一个新的地区。"
+msgid "Returns the enter cost of this [param region]."
+msgstr "返回 [param region] 地区的进入消耗。"
+
msgid "Returns the region's navigation layers."
msgstr "返回该地区的导航层。"
+msgid "Returns the travel cost of this [param region]."
+msgstr "返回 [param region] 地区的移动消耗。"
+
msgid "Sets the [param enter_cost] for this [param region]."
msgstr "设置 [param region] 地区的进入消耗 [param enter_cost]。"
@@ -39325,6 +42451,9 @@ msgstr "该 [OptionButton] 处于悬停状态时使用的文本 [Color]。"
msgid "Text [Color] used when the [OptionButton] is being hovered and pressed."
msgstr "该 [OptionButton] 处于悬停且按下状态时使用的文本 [Color]。"
+msgid "The tint of text outline of the [OptionButton]."
+msgstr "该 [OptionButton] 的文本轮廓的色调。"
+
msgid "Text [Color] used when the [OptionButton] is being pressed."
msgstr "当 [OptionButton] 被按下时使用的文本 [Color]。"
@@ -39621,6 +42750,18 @@ msgstr "铃声目录路径。"
msgid "A packed array of bytes."
msgstr "字节紧缩数组。"
+msgid ""
+"An array specifically designed to hold bytes. Packs data tightly, so it "
+"saves memory for large array sizes.\n"
+"[PackedByteArray] also provides methods to encode/decode various types to/"
+"from bytes. The way values are encoded is an implementation detail and "
+"shouldn't be relied upon when interacting with external apps."
+msgstr ""
+"专门设计用于存放字节的数组。数据是紧密存放的,因此能够在数组较大时节省内"
+"存。\n"
+"[PackedByteArray] 还提供了在许多类型和字节之间进行编码/解码的方法。这些值的编"
+"码方式属于实现细节,与外部应用程序交互时不应依赖这种编码。"
+
msgid "Constructs an empty [PackedByteArray]."
msgstr "构造空的 [PackedByteArray]。"
@@ -39990,6 +43131,13 @@ msgstr "如果数组内容不同,则返回 [code]true[/code]。"
msgid "A packed array of [Color]s."
msgstr "[Color] 紧缩数组。"
+msgid ""
+"An array specifically designed to hold [Color]. Packs data tightly, so it "
+"saves memory for large array sizes."
+msgstr ""
+"专门设计用于存放 [Color] 的数组。数据是紧密存放的,因此能够在数组较大时节省内"
+"存。"
+
msgid "Constructs an empty [PackedColorArray]."
msgstr "构造空的 [PackedColorArray]。"
@@ -40017,6 +43165,15 @@ msgstr "[PackedDataContainer] 的引用计数版本。"
msgid "A packed array of 32-bit floating-point values."
msgstr "32 位浮点数紧缩数组。"
+msgid ""
+"An array specifically designed to hold 32-bit floating-point values (float). "
+"Packs data tightly, so it saves memory for large array sizes.\n"
+"If you need to pack 64-bit floats tightly, see [PackedFloat64Array]."
+msgstr ""
+"专门设计用于存放 32 位浮点值(float)的数组。数据是紧密存放的,因此能够在数组"
+"较大时节省内存。\n"
+"如果你需要紧密存放 64 位浮点数,请参阅 [PackedFloat64Array]。"
+
msgid "Constructs an empty [PackedFloat32Array]."
msgstr "构造空的 [PackedFloat32Array]。"
@@ -40039,6 +43196,17 @@ msgstr "更改给定索引处的浮点数。"
msgid "A packed array of 64-bit floating-point values."
msgstr "64 位浮点数紧缩数组。"
+msgid ""
+"An array specifically designed to hold 64-bit floating-point values "
+"(double). Packs data tightly, so it saves memory for large array sizes.\n"
+"If you only need to pack 32-bit floats tightly, see [PackedFloat32Array] for "
+"a more memory-friendly alternative."
+msgstr ""
+"专门设计用于存放 64 位浮点值(double)的数组。数据是紧密存放的,因此能够在数"
+"组较大时节省内存。\n"
+"如果你只需要紧密存放 32 位浮点数,请参阅 [PackedFloat32Array],是对内存更友好"
+"的选择。"
+
msgid "Constructs an empty [PackedFloat64Array]."
msgstr "构造空的 [PackedFloat64Array]。"
@@ -40058,6 +43226,22 @@ msgstr "在该数组的末尾追加一个 [PackedFloat64Array]。"
msgid "A packed array of 32-bit integers."
msgstr "32 位整数紧缩数组。"
+msgid ""
+"An array specifically designed to hold 32-bit integer values. Packs data "
+"tightly, so it saves memory for large array sizes.\n"
+"[b]Note:[/b] This type stores signed 32-bit integers, which means it can "
+"take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. [code]"
+"[-2147483648, 2147483647][/code]. Exceeding those bounds will wrap around. "
+"In comparison, [int] uses signed 64-bit integers which can hold much larger "
+"values. If you need to pack 64-bit integers tightly, see [PackedInt64Array]."
+msgstr ""
+"专门设计用于存放 32 位整数值的数组。数据是紧密存放的,因此能够在数组较大时节"
+"省内存。\n"
+"[b]注意:[/b]该类型存储的是 32 位有符号整数,也就是说它可以取区间 [code]"
+"[-2^31, 2^31 - 1][/code] 内的值,即 [code][-2147483648, 2147483647][/code]。"
+"超过这些界限将环绕往复。相比之下,[int] 使用带符号的 64 位整数,可以容纳更大"
+"的值。如果您需要紧密存放 64 位整数,请参阅 [PackedInt64Array]。"
+
msgid "Constructs an empty [PackedInt32Array]."
msgstr "构造空的 [PackedInt32Array]。"
@@ -40076,6 +43260,22 @@ msgstr "在该数组的末尾追加一个 [PackedInt32Array]。"
msgid "A packed array of 64-bit integers."
msgstr "64 位整数紧缩数组。"
+msgid ""
+"An array specifically designed to hold 64-bit integer values. Packs data "
+"tightly, so it saves memory for large array sizes.\n"
+"[b]Note:[/b] This type stores signed 64-bit integers, which means it can "
+"take values in the interval [code][-2^63, 2^63 - 1][/code], i.e. [code]"
+"[-9223372036854775808, 9223372036854775807][/code]. Exceeding those bounds "
+"will wrap around. If you only need to pack 32-bit integers tightly, see "
+"[PackedInt32Array] for a more memory-friendly alternative."
+msgstr ""
+"专门设计用于存放 64 位整数值的数组。数据是紧密存放的,因此能够在数组较大时节"
+"省内存。\n"
+"[b]注意:[/b]该类型存储的是 64 位有符号整数,也就是说它可以取区间 [code]"
+"[-2^63, 2^63 - 1][/code] 内的值,即 [code][-9223372036854775808, "
+"9223372036854775807][/code]。超过这些界限将环绕往复。如果你只需要紧密存放 32 "
+"位整数,请参阅 [PackedInt32Array],是对内存更友好的选择。"
+
msgid "Constructs an empty [PackedInt64Array]."
msgstr "构造空的 [PackedInt64Array]。"
@@ -40131,6 +43331,25 @@ msgstr ""
msgid "A packed array of [String]s."
msgstr "[String] 紧缩数组。"
+msgid ""
+"An array specifically designed to hold [String]s. Packs data tightly, so it "
+"saves memory for large array sizes.\n"
+"If you want to join the strings in the array, use [method String.join].\n"
+"[codeblock]\n"
+"var string_array = PackedStringArray([\"hello\", \"world\"])\n"
+"var string = \" \".join(string_array)\n"
+"print(string) # \"hello world\"\n"
+"[/codeblock]"
+msgstr ""
+"专门设计用于存放 [String] 的数组。数据是紧密存放的,因此能够在数组较大时节省"
+"内存。\n"
+"如果要连接数组中的字符串,请使用 [method String.join]。\n"
+"[codeblock]\n"
+"var string_array = PackedStringArray([\"hello\", \"world\"])\n"
+"var string = \" \".join(string_array)\n"
+"print(string) # \"hello world\"\n"
+"[/codeblock]"
+
msgid "Constructs an empty [PackedStringArray]."
msgstr "构造空的 [PackedStringArray]。"
@@ -40152,9 +43371,19 @@ msgstr "在数组的末尾追加字符串元素。"
msgid "Changes the [String] at the given index."
msgstr "更改给定索引处的 [String]。"
+msgid "Returns a [PackedByteArray] with each string encoded as bytes."
+msgstr "返回 [PackedByteArray],每个字符串都被编码为字节。"
+
msgid "A packed array of [Vector2]s."
msgstr "[Vector2] 紧缩数组。"
+msgid ""
+"An array specifically designed to hold [Vector2]. Packs data tightly, so it "
+"saves memory for large array sizes."
+msgstr ""
+"专门设计用于存放 [Vector2] 的数组。数据是紧密存放的,因此能够在数组较大时节省"
+"内存。"
+
msgid "2D Navigation Astar Demo"
msgstr "2D 导航 Astar 演示"
@@ -40180,9 +43409,19 @@ msgstr "在末尾插入一个 [Vector2]。"
msgid "Changes the [Vector2] at the given index."
msgstr "更改给定索引处的 [Vector2]。"
+msgid "Returns a [PackedByteArray] with each vector encoded as bytes."
+msgstr "返回 [PackedByteArray],每个向量都被编码为字节。"
+
msgid "A packed array of [Vector3]s."
msgstr "[Vector3] 紧缩数组。"
+msgid ""
+"An array specifically designed to hold [Vector3]. Packs data tightly, so it "
+"saves memory for large array sizes."
+msgstr ""
+"专门设计用于存放 [Vector3] 的数组。数据是紧密存放的,因此能够在数组较大时节省"
+"内存。"
+
msgid "Constructs an empty [PackedVector3Array]."
msgstr "构造空的 [PackedVector3Array]。"
@@ -42326,6 +45565,24 @@ msgstr "用于悬停文本的 [Color]。"
msgid "[Color] used for labeled separators' text. See [method add_separator]."
msgstr "用于标注分隔符文本的颜色 [Color]。见 [method add_separator]。"
+msgid "The tint of text outline of the labeled separator."
+msgstr "带标签分隔符的文本轮廓的色调。"
+
+msgid "The horizontal space between the item's elements."
+msgstr "菜单项元素之间的水平间距。"
+
+msgid "Width of the single indentation level."
+msgstr "单个缩进级别的宽度。"
+
+msgid "Horizontal padding to the right of the items (or left, in RTL layout)."
+msgstr "所有菜单项右侧的水平内边距(RTL 布局中为左侧)。"
+
+msgid "Horizontal padding to the left of the items (or right, in RTL layout)."
+msgstr "所有菜单项左侧的水平内边距(RTL 布局中为右侧)。"
+
+msgid "The size of the labeled separator text outline."
+msgstr "带标签分隔符的文本轮廓的大小。"
+
msgid "The vertical space between each menu item."
msgstr "每个菜单项之间的垂直间距。"
@@ -42335,6 +45592,9 @@ msgstr "用于菜单项的 [Font] 字体。"
msgid "[Font] used for the labeled separator."
msgstr "用于带文字分隔线的 [Font] 字体。"
+msgid "Font size of the labeled separator."
+msgstr "带标签分隔符的字体大小。"
+
msgid "Font size of the menu items."
msgstr "菜单项的字体大小。"
@@ -42471,6 +45731,9 @@ msgstr "进度从下到上填充。"
msgid "The color of the text."
msgstr "文本的颜色。"
+msgid "The tint of text outline of the [ProgressBar]."
+msgstr "[ProgressBar] 的文本轮廓的色调。"
+
msgid "The color of the text's shadow."
msgstr "文本阴影的颜色。"
@@ -47034,9 +50297,127 @@ msgstr "硬件支持多线程。这个枚举目前在 Godot 3.x 中没有使用
msgid "Base class for all resources."
msgstr "所有资源的基类。"
+msgid ""
+"Resource is the base class for all Godot-specific resource types, serving "
+"primarily as data containers. Since they inherit from [RefCounted], "
+"resources are reference-counted and freed when no longer in use. They can "
+"also be nested within other resources, and saved on disk. Once loaded from "
+"disk, further attempts to load a resource by [member resource_path] returns "
+"the same reference. [PackedScene], one of the most common [Object]s in a "
+"Godot project, is also a resource, uniquely capable of storing and "
+"instantiating the [Node]s it contains as many times as desired.\n"
+"In GDScript, resources can loaded from disk by their [member resource_path] "
+"using [method @GDScript.load] or [method @GDScript.preload].\n"
+"[b]Note:[/b] In C#, resources will not be freed instantly after they are no "
+"longer in use. Instead, garbage collection will run periodically and will "
+"free resources that are no longer in use. This means that unused resources "
+"will linger on for a while before being removed."
+msgstr ""
+"资源是所有 Godot 特定资源类型的基类,主要作为数据容器。因为资源继承自 "
+"[RefCounted],所以进行了引用计数,不再使用时会被释放。资源也可以嵌套到其他资"
+"源里、保存到磁盘上。一旦从磁盘加载,后续尝试使用 [member resource_path] 加载"
+"资源时都会返回相同的引用。[PackedScene] 也是一种资源,它是 Godot 项目中最常用"
+"的 [Object] 之一,独特的能力是可以将若干 [Node] 保存起来、随意进行实例化。\n"
+"在 GDScript 中,可以根据 [member resource_path] 从磁盘上加载资源,使用 "
+"[method @GDScript.load] 或 [method @GDScript.preload] 即可。\n"
+"[b]注意:[/b]在 C# 中,资源不再被使用后不会立即被释放。相反,垃圾回收将定期运"
+"行,并释放不再使用的资源。这意味着未使用的资源在被删除之前会停留一段时间。"
+
msgid "Resources"
msgstr "资源"
+msgid ""
+"Override this method to return a custom [RID] when [method get_rid] is "
+"called."
+msgstr "可以覆盖此方法,从而在调用 [method get_rid] 时返回自定义 [RID]。"
+
+msgid ""
+"Duplicates this resource, returning a new resource with its [code]export[/"
+"code]ed or [constant PROPERTY_USAGE_STORAGE] properties copied from the "
+"original.\n"
+"If [param subresources] is [code]false[/code], a shallow copy is returned; "
+"nested resources within subresources are not duplicated and are shared from "
+"the original resource. If [param subresources] is [code]true[/code], a deep "
+"copy is returned; nested subresources will be duplicated and are not "
+"shared.\n"
+"Subresource properties with the [constant PROPERTY_USAGE_ALWAYS_DUPLICATE] "
+"flag are always duplicated even with [param subresources] set to "
+"[code]false[/code], and properties with the [constant "
+"PROPERTY_USAGE_NEVER_DUPLICATE] flag are never duplicated even with [param "
+"subresources] set to [code]true[/code].\n"
+"[b]Note:[/b] For custom resources, this method will fail if [method Object."
+"_init] has been defined with required parameters."
+msgstr ""
+"制作该资源的副本,返回资源中,[code]export[/code] 的属性以及 [constant "
+"PROPERTY_USAGE_STORAGE] 的属性都会从原始资源中复制。\n"
+"如果 [param subresources] 为 [code]false[/code],则返回的是浅拷贝;子资源中的"
+"嵌套资源不会被复制,仍然会被共享。如果 [param subresources] 为 [code]true[/"
+"code],则返回的是深拷贝;会制作嵌套子资源的副本,不会进行共享。\n"
+"带有 [constant PROPERTY_USAGE_ALWAYS_DUPLICATE] 标志的子资源属性始终会被复"
+"制,即便 [param subresources] 为 [code]false[/code]。而带有 [constant "
+"PROPERTY_USAGE_NEVER_DUPLICATE] 标志的子资源属性始终不会被复制,即便 [param "
+"subresources] 为 [code]true[/code]。\n"
+"[b]注意:[/b]对于自定义资源,如果定义 [method Object._init] 时使用了必填的参"
+"数,则此方法会失败。"
+
+msgid ""
+"Emits the [signal changed] signal. This method is called automatically for "
+"built-in resources.\n"
+"[b]Note:[/b] For custom resources, it's recommended to call this method "
+"whenever a meaningful change occurs, such as a modified property. This "
+"ensures that custom [Object]s depending on the resource are properly "
+"updated.\n"
+"[codeblock]\n"
+"var damage:\n"
+" set(new_value):\n"
+" if damage != new_value:\n"
+" damage = new_value\n"
+" emit_changed()\n"
+"[/codeblock]"
+msgstr ""
+"发出 [signal changed] 更改信号。内置资源会自动调用此方法。\n"
+"[b]注意:[/b]对于自定义资源,推荐在发生任何有意义的变化时都调用此方法,例如修"
+"改属性时。这样能够保证依赖于此资源的自定义 [Object] 能够正确更新其属性。\n"
+"[codeblock]\n"
+"var damage:\n"
+" set(new_value):\n"
+" if damage != new_value:\n"
+" damage = new_value\n"
+" emit_changed()\n"
+"[/codeblock]"
+
+msgid ""
+"If [member resource_local_to_scene] is set to [code]true[/code] and the "
+"resource has been loaded from a [PackedScene] instantiation, returns the "
+"root [Node] of the scene where this resource is used. Otherwise, returns "
+"[code]null[/code]."
+msgstr ""
+"如果 [member resource_local_to_scene] 为 [code]true[/code],并且该资源是从 "
+"[PackedScene] 实例中加载的,则返回使用该资源的场景的根 [Node]。否则返回 "
+"[code]null[/code]。"
+
+msgid ""
+"Returns the [RID] of this resource (or an empty RID). Many resources (such "
+"as [Texture2D], [Mesh], and so on) are high-level abstractions of resources "
+"stored in a specialized server ([DisplayServer], [RenderingServer], etc.), "
+"so this function will return the original [RID]."
+msgstr ""
+"返回该资源的 [RID](或者空的 RID)。许多资源(如 [Texture2D]、[Mesh] 等)是存"
+"储在服务器([DisplayServer]、[RenderingServer] 等)中的资源的高级抽象,所以这"
+"个函数将返回原始的 [RID]。"
+
+msgid ""
+"If [code]true[/code], the resource is duplicated for each instance of all "
+"scenes using it. At run-time, the resource can be modified in one scene "
+"without affecting other instances (see [method PackedScene.instantiate]).\n"
+"[b]Note:[/b] Changing this property at run-time has no effect on already "
+"created duplicate resources."
+msgstr ""
+"如果为 [code]true[/code],那么在本地场景的各个实例中,该资源都会被唯一化。在"
+"运行时,在某个场景中对该资源的修改不会影响其他实例(见 [method PackedScene."
+"instantiate])。\n"
+"[b]注意:[/b]运行时,在已创建副本的资源上修改该属性不会有效果。"
+
msgid "Loads a specific resource type from a file."
msgstr "从文件中加载特定资源类型。"
@@ -47167,11 +50548,41 @@ msgid ""
"code] prefix)."
msgstr "不要保存编辑器特定的元数据(由其 [code]__editor[/code] 前缀标识)。"
+msgid "Save as big endian (see [member FileAccess.big_endian])."
+msgstr "保存为大端序(见 [member FileAccess.big_endian])。"
+
+msgid ""
+"Compress the resource on save using [constant FileAccess.COMPRESSION_ZSTD]. "
+"Only available for binary resource types."
+msgstr ""
+"在保存时使用 [constant FileAccess.COMPRESSION_ZSTD] 压缩资源。仅适用于二进制"
+"资源类型。"
+
msgid ""
"Take over the paths of the saved subresources (see [method Resource."
"take_over_path])."
msgstr "接管保存的子资源的路径(见 [method Resource.take_over_path])。"
+msgid "Singleton for managing a cache of resource UIDs within a project."
+msgstr "用于管理项目中资源 UID 缓存的单例。"
+
+msgid ""
+"Returns the path that the given UID value refers to.\n"
+"Fails with an error if the UID does not exist, so be sure to check [method "
+"has_id] beforehand."
+msgstr ""
+"返回给定 UID 值引用的路径。\n"
+"如果 UID 不存在则失败并报错,因此请务必使用 [method has_id] 事先检查。"
+
+msgid "Returns whether the given UID value is known to the cache."
+msgstr "返回给定的 UID 值是否为缓存所知。"
+
+msgid "Converts the given UID to a [code]uid://[/code] string value."
+msgstr "将给定的 UID 转换为 [code]uid://[/code] 字符串值。"
+
+msgid "Extracts the UID value from the given [code]uid://[/code] string."
+msgstr "从给定的 [code]uid://[/code] 字符串中提取 UID 值。"
+
msgid "A custom effect for use with [RichTextLabel]."
msgstr "与 [RichTextLabel] 一起使用的自定义效果。"
@@ -47294,6 +50705,14 @@ msgid "Adds a newline tag to the tag stack."
msgstr "在标签栈中添加一个换行标签。"
msgid ""
+"The assignment version of [method append_text]. Clears the tag stack and "
+"inserts the new content."
+msgstr "[method append_text] 的赋值版本。清空标签栈并插入新内容。"
+
+msgid "Parses BBCode parameter [param expressions] into a dictionary."
+msgstr "将 BBCode 参数 [param expressions] 解析为字典。"
+
+msgid ""
"Terminates the current tag. Use after [code]push_*[/code] methods to close "
"BBCodes manually. Does not need to follow [code]add_*[/code] methods."
msgstr ""
@@ -47308,22 +50727,22 @@ msgid ""
"the same as adding a [code][b][/code] tag if not currently in a [code][i][/"
"code] tag."
msgstr ""
-"在标签栈中添加一个 [code][font][/code] 标签,字体为黑体。如果当前没有 [code]"
-"[i][/code] 标签,这与添加一个 [code][b][/code] 标签相同。"
+"在标签栈中添加 [code][font][/code] 标签,字体为黑体。如果当前没有 [code][i][/"
+"code] 标签,则与添加 [code][b][/code] 标签相同。"
msgid ""
"Adds a [code][font][/code] tag with a bold italics font to the tag stack."
-msgstr "在标签栈中添加一个 [code][font][/code] 标签,字体为粗斜体。"
+msgstr "在标签栈中添加 [code][font][/code] 标签,字体为粗斜体。"
msgid ""
"Adds a [code][cell][/code] tag to the tag stack. Must be inside a [code]"
"[table][/code] tag. See [method push_table] for details."
msgstr ""
-"在标签栈中添加一个 [code][cell][/code] 标签。必须位于 [code][table][/code] 标"
-"签内。详见 [method push_table]。"
+"在标签栈中添加 [code][cell][/code] 标签。必须位于 [code][table][/code] 标签"
+"内。详见 [method push_table]。"
msgid "Adds a [code][color][/code] tag to the tag stack."
-msgstr "在标签栈中添加一个 [code][color][/code] 标签。"
+msgstr "在标签栈中添加 [code][color][/code] 标签。"
msgid "Adds a [code][fgcolor][/code] tag to the tag stack."
msgstr "向标签栈中添加 [code][fgcolor][/code] 标签。"
@@ -47331,22 +50750,55 @@ msgstr "向标签栈中添加 [code][fgcolor][/code] 标签。"
msgid ""
"Adds a [code][font][/code] tag to the tag stack. Overrides default fonts for "
"its duration."
+msgstr "在标签栈中添加 [code][font][/code] 标签。在其有效期内覆盖默认字体。"
+
+msgid ""
+"Adds a [code][font_size][/code] tag to the tag stack. Overrides default font "
+"size for its duration."
+msgstr ""
+"在标签栈中添加 [code][font_size][/code] 标签。在其有效期内覆盖默认字体大小。"
+
+msgid ""
+"Adds a [code][hint][/code] tag to the tag stack. Same as BBCode [code]"
+"[hint=something]{text}[/hint][/code]."
msgstr ""
-"在标签栈中添加一个 [code][font][/code] 标签。在其有效期内覆盖默认字体。"
+"向标签栈中添加 [code][hint][/code] 标签。类似于 BBCode 的 [code]"
+"[hint=something]{text}[/hint][/code]。"
msgid ""
"Adds a [code][font][/code] tag with a italics font to the tag stack. This is "
"the same as adding a [code][i][/code] tag if not currently in a [code][b][/"
"code] tag."
msgstr ""
-"在标签栈中添加一个 [code][font][/code] 标签,字体为斜体。如果当前没有 [code]"
-"[b][/code] 标签,这与添加 [code][i][/code] 标签相同。"
+"在标签栈中添加 [code][font][/code] 标签,字体为斜体。如果当前没有 [code][b][/"
+"code] 标签,这与添加 [code][i][/code] 标签相同。"
+
+msgid ""
+"Adds a meta tag to the tag stack. Similar to the BBCode [code][url=something]"
+"{text}[/url][/code], but supports non-[String] metadata types."
+msgstr ""
+"在标签栈中添加元标签。类似于 BBCode 的 [code][url=something]{text}[/url][/"
+"code],但支持非 [String] 元数据类型。"
msgid "Adds a [code][font][/code] tag with a monospace font to the tag stack."
-msgstr "在标签栈中添加一个 [code][font][/code] 标签,该标签为等宽字体。"
+msgstr "在标签栈中添加 [code][font][/code] 标签,该标签为等宽字体。"
msgid "Adds a [code][font][/code] tag with a normal font to the tag stack."
-msgstr "在标签栈中添加一个具有正常字体的 [code][font][/code] 标签。"
+msgstr "在标签栈中添加具有正常字体的 [code][font][/code] 标签。"
+
+msgid ""
+"Adds a [code][outline_color][/code] tag to the tag stack. Adds text outline "
+"for its duration."
+msgstr ""
+"在标签栈中添加 [code][outline_color][/code] 标签。在其有效期内为文本添加轮"
+"廓。"
+
+msgid ""
+"Adds a [code][outline_size][/code] tag to the tag stack. Overrides default "
+"text outline size for its duration."
+msgstr ""
+"在标签栈中添加 [code][outline_size][/code] 标签。在其有效期内覆盖默认的文本轮"
+"廓大小。"
msgid "Adds a [code][p][/code] tag to the tag stack."
msgstr "向标签栈中添加 [code][p][/code] 标签。"
@@ -47383,6 +50835,14 @@ msgstr "设置表格的单元格边框颜色。"
msgid "Sets inner padding of a table cell."
msgstr "设置表格的单元格内边距。"
+msgid ""
+"Sets color of a table cell. Separate colors for alternating rows can be "
+"specified."
+msgstr "设置某个表格单元格的颜色。可以为交替行指定单独的颜色。"
+
+msgid "Sets minimum and maximum size overrides for a table cell."
+msgstr "设置某个表格单元格的最小和最大尺寸覆盖。"
+
msgid "If [code]true[/code], the label uses BBCode formatting."
msgstr "如果为 [code]true[/code],则该标签使用 BBCode 格式。"
@@ -47468,9 +50928,15 @@ msgstr "每个列表项都有罗马数字标记。"
msgid "Each list item has a filled circle marker."
msgstr "每个列表项都有实心圆标记。"
+msgid "Selects the whole [RichTextLabel] text."
+msgstr "全选 [TextEdit] 文本。"
+
msgid "The default text color."
msgstr "默认文本颜色。"
+msgid "The default tint of text outline."
+msgstr "文本轮廓的默认色调。"
+
msgid "The color of the font's shadow."
msgstr "字体阴影的颜色。"
@@ -47817,6 +51283,9 @@ msgstr ""
"这个类不能直接实例化,它是作为 [method PackedScene.get_state] 的结果为一个给"
"定的场景检索的。"
+msgid "Returns the list of bound parameters for the signal at [param idx]."
+msgstr "返回 [param idx] 处信号的绑定参数列表。"
+
msgid ""
"Returns the number of signal connections in the scene.\n"
"The [code]idx[/code] argument used to query connection metadata in other "
@@ -47827,10 +51296,33 @@ msgstr ""
"用于查询其他 [code]get_connection_*[/code] 方法中的连接元数据的 [code]idx[/"
"code] 参数,范围是 [code][0, get_connection_count() - 1][/code]。"
+msgid ""
+"Returns the connection flags for the signal at [param idx]. See [enum Object."
+"ConnectFlags] constants."
+msgstr ""
+"返回 [param idx] 处的信号的连接标志。见 [enum Object.ConnectFlags] 常量。"
+
+msgid "Returns the method connected to the signal at [param idx]."
+msgstr "返回连接到 [param idx] 处信号的方法。"
+
msgid "Returns the name of the signal at [param idx]."
msgstr "返回索引为 [param idx] 的信号的名称。"
msgid ""
+"Returns the path to the node that owns the signal at [param idx], relative "
+"to the root node."
+msgstr "返回拥有 [param idx] 处信号的节点路径,相对于根节点。"
+
+msgid ""
+"Returns the path to the node that owns the method connected to the signal at "
+"[param idx], relative to the root node."
+msgstr ""
+"返回到拥有连接到 [param idx] 处的信号的方法的节点的路径,相对于根节点。"
+
+msgid "Returns the number of unbound parameters for the signal at [param idx]."
+msgstr "返回 [param idx] 处信号的解绑参数数量。"
+
+msgid ""
"Returns the number of nodes in the scene.\n"
"The [code]idx[/code] argument used to query node data in other "
"[code]get_node_*[/code] methods in the interval [code][0, get_node_count() - "
@@ -48032,6 +51524,9 @@ msgstr "作为资源存储的类。"
msgid "Scripting documentation index"
msgstr "脚本文档索引"
+msgid "Returns [code]true[/code] if the script can be instantiated."
+msgstr "如果该脚本可以被实例化,则返回 [code]true[/code]。"
+
msgid "Returns the script directly inherited by this script."
msgstr "返回由该脚本直接继承的脚本。"
@@ -48220,6 +51715,9 @@ msgstr "启用滚动,滚动条隐藏。"
msgid "The background [StyleBox] of the [ScrollContainer]."
msgstr "[ScrollContainer] 的背景 [StyleBox]。"
+msgid "Segment shape resource for 2D physics."
+msgstr "用于 2D 物理的线段形状资源。"
+
msgid "The segment's first point position."
msgstr "该段的第一点的位置。"
@@ -48342,11 +51840,93 @@ msgid "The [Shape3D]-derived shape to be used for collision queries."
msgstr "派生自 [Shape3D] 的形状,用于碰撞查询。"
msgid "A shortcut for binding input."
-msgstr "绑定输入的快捷方式。"
+msgstr "用于绑定输入的快捷键。"
+
+msgid ""
+"Shortcuts are commonly used for interacting with a [Control] element from an "
+"[InputEvent] (also known as hotkeys).\n"
+"One shortcut can contain multiple [InputEvent]'s, allowing the possibility "
+"of triggering one action with multiple different inputs."
+msgstr ""
+"快捷键通常用于通过 [InputEvent] 与 [Control] 元素进行交互(也叫热键)。\n"
+"一个快捷键可以包含多个 [InputEvent],因此能够使用多种不同的输入触发某个动作。"
+
+msgid "Returns the shortcut's first valid [InputEvent] as a [String]."
+msgstr "返回该快捷键的第一个有效 [InputEvent] 的 [String] 形式。"
+
+msgid ""
+"Returns whether [member events] contains an [InputEvent] which is valid."
+msgstr "返回 [member events] 是否包含有效的 [InputEvent]。"
+
+msgid ""
+"Returns whether any [InputEvent] in [member events] equals [param event]."
+msgstr "返回 [member events] 中是否有等于 [param event] 的 [InputEvent]。"
+
+msgid ""
+"The shortcut's [InputEvent] array.\n"
+"Generally the [InputEvent] used is an [InputEventKey], though it can be any "
+"[InputEvent], including an [InputEventAction]."
+msgstr ""
+"快捷键的 [InputEvent] 数组。\n"
+"通常使用的 [InputEvent] 是 [InputEventKey],尽管也可以是任何 [InputEvent],包"
+"括 [InputEventAction]。"
msgid "Built-in type representing a signal defined in an object."
msgstr "内置类型,代表对象中定义的某个信号。"
+msgid ""
+"[Signal] is a built-in [Variant] type that represents a signal of an "
+"[Object] instance. Like all [Variant] types, it can be stored in variables "
+"and passed to functions. Signals allow all connected [Callable]s (and by "
+"extension their respective objects) to listen and react to events, without "
+"directly referencing one another. This keeps the code flexible and easier to "
+"manage.\n"
+"In GDScript, signals can be declared with the [code]signal[/code] keyword. "
+"In C#, you may use the [code][Signal][/code] attribute on a delegate.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"signal attacked\n"
+"\n"
+"# Additional arguments may be declared.\n"
+"# These arguments must be passed when the signal is emitted.\n"
+"signal item_dropped(item_name, amount)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"[Signal]\n"
+"delegate void AttackedEventHandler();\n"
+"\n"
+"// Additional arguments may be declared.\n"
+"// These arguments must be passed when the signal is emitted.\n"
+"[Signal]\n"
+"delegate void ItemDroppedEventHandler(string itemName, int amount);\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"信号 [Signal] 是内置的 [Variant] 类型,代表 [Object] 实例的某个信息。信号和所"
+"有 [Variant] 类型一样,可以在变量中存储、传递给函数。信号能够让所有连接的 "
+"[Callable](及相应扩展对象)监听事件并作出反应,不必直接互相引用。这样就能让"
+"代码更灵活、更易于管理。\n"
+"在 GDScript 中,信号可以使用 [code]signal[/code] 关键字声明。在 C# 中,你可以"
+"在代理上使用 [code][Signal][/code] 属性。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"signal attacked\n"
+"\n"
+"# 可以声明额外的参数。\n"
+"# 这些参数必须在发出信号时传递。\n"
+"signal item_dropped(item_name, amount)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"[Signal]\n"
+"delegate void AttackedEventHandler();\n"
+"\n"
+"// 可以声明额外的参数。\n"
+"// 这些参数必须在发出信号时传递。\n"
+"[Signal]\n"
+"delegate void ItemDroppedEventHandler(string itemName, int amount);\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
msgid "Using Signals"
msgstr "使用信号"
@@ -48363,6 +51943,67 @@ msgid ""
"Creates a new [Signal] named [param signal] in the specified [param object]."
msgstr "在指定对象 [param object] 中新建名称 [param signal] 的 [Signal]。"
+msgid ""
+"Connects this signal to the specified [param callable]. Optional [param "
+"flags] can be also added to configure the connection's behavior (see [enum "
+"Object.ConnectFlags] constants). You can provide additional arguments to the "
+"connected [param callable] by using [method Callable.bind].\n"
+"A signal can only be connected once to the same [Callable]. If the signal is "
+"already connected, returns [constant ERR_INVALID_PARAMETER] and pushes an "
+"error message, unless the signal is connected with [constant Object."
+"CONNECT_REFERENCE_COUNTED]. To prevent this, use [method is_connected] first "
+"to check for existing connections.\n"
+"[codeblock]\n"
+"for button in $Buttons.get_children():\n"
+" button.pressed.connect(_on_pressed.bind(button))\n"
+"\n"
+"func _on_pressed(button):\n"
+" print(button.name, \" was pressed\")\n"
+"[/codeblock]"
+msgstr ""
+"将此信号连接到指定的 [param callable]。还可以添加 [param flags] 对连接的行为"
+"进行配置(见 [enum Object.ConnectFlags] 常量)。可以使用 [method Callable."
+"bind] 为连接的 [param callable] 提供额外的参数。\n"
+"一个信号只能和同一个 [Callable] 连接一次。如果该信号已连接,则会返回 "
+"[constant ERR_INVALID_PARAMETER] 并推入错误消息,除非信号是用 [constant "
+"Object.CONNECT_REFERENCE_COUNTED] 连接的。要防止这个问题,请先使用 [method "
+"is_connected] 检查已有连接。\n"
+"[codeblock]\n"
+"for button in $Buttons.get_children():\n"
+" button.pressed.connect(_on_pressed.bind(button))\n"
+"\n"
+"func _on_pressed(button):\n"
+" print(button.name, \" 被按下了\")\n"
+"[/codeblock]"
+
+msgid ""
+"Disconnects this signal from the specified [Callable]. If the connection "
+"does not exist, generates an error. Use [method is_connected] to make sure "
+"that the connection exists."
+msgstr ""
+"将该信号与给定的 [Callable] 断开连接。如果该连接不存在,则会生成错误。请使用 "
+"[method is_connected] 来确保连接存在。"
+
+msgid ""
+"Emits this signal. All [Callable]s connected to this signal will be "
+"triggered. This method supports a variable number of arguments, so "
+"parameters can be passed as a comma separated list."
+msgstr ""
+"发出该信号。与该信号相连的所有 [Callable] 都将被触发。此方法支持可变数量的参"
+"数,所以参数可以用逗号分隔列表的形式传递。"
+
+msgid ""
+"Returns an [Array] of connections for this signal. Each connection is "
+"represented as a [Dictionary] that contains three entries:\n"
+"- [code]signal[/code] is a reference to this signal;\n"
+"- [code]callable[/code] is a reference to the connected [Callable];\n"
+"- [code]flags[/code] is a combination of [enum Object.ConnectFlags]."
+msgstr ""
+"返回该信号的连接 [Array]。连接用 [Dictionary] 表示,包含三个条目:\n"
+"- [code]signal[/code] 是对此信号的引用。\n"
+"- [code]callable[/code] 是对连接的 [Callable] 的引用。\n"
+"- [code]flags[/code] 是 [enum Object.ConnectFlags] 的组合。"
+
msgid "Returns the name of this signal."
msgstr "返回该信号的名称。"
@@ -48580,6 +52221,9 @@ msgstr ""
"如果为 [code]true[/code],指示 IK 求解器在解算器链时考虑次要磁铁目标(极点目"
"标)。使用磁铁位置(磁极目标)来控制 IK 链的弯曲。"
+msgid "A resource that operates on [Bone2D] nodes in a [Skeleton2D]."
+msgstr "对 [Skeleton2D] 中的 [Bone2D] 节点进行操作的资源。"
+
msgid ""
"Returns the maximum angle constraint for the joint at [param joint_idx]."
msgstr "返回索引为 [param joint_idx] 的关节的最大角约束。"
@@ -48820,6 +52464,9 @@ msgstr ""
"[b]警告:[/b]这是一个必要的内部节点,移除和释放它可能会导致崩溃。如果你想隐藏"
"它或它的任何子节点,请使用其 [member CanvasItem.visible] 属性。"
+msgid "Changes the alignment of the underlying [LineEdit]."
+msgstr "更改底层 [LineEdit] 的对齐方式。"
+
msgid ""
"If [code]true[/code], the [SpinBox] will be editable. Otherwise, it will be "
"read only."
@@ -49026,6 +52673,15 @@ msgstr "当 [member texture] 更改时发出。"
msgid "2D sprite node in a 3D world."
msgstr "3D 世界中的 2D 精灵节点。"
+msgid ""
+"A node that displays a 2D texture in a 3D environment. The texture displayed "
+"can be a region from a larger atlas texture, or a frame from a sprite sheet "
+"animation. See also [SpriteBase3D] where properties such as the billboard "
+"mode are defined."
+msgstr ""
+"在 3D 环境中显示 2D 纹理的节点。显示的纹理可以是来自较大图集纹理的区域,也可"
+"以是来自精灵表动画的帧。另见 [SpriteBase3D],定义有公告板模式等属性。"
+
msgid "2D sprite node in 3D environment."
msgstr "3D 环境中的 2D 精灵节点。"
@@ -49448,6 +53104,19 @@ msgstr "为 [code]true[/code] 时,该 [StreamPeer] 进行编解码时会使用
msgid "Data buffer stream peer."
msgstr "数据缓冲区流对等体。"
+msgid ""
+"Data buffer stream peer that uses a byte array as the stream. This object "
+"can be used to handle binary data from network sessions. To handle binary "
+"data stored in files, [FileAccess] can be used directly.\n"
+"A [StreamPeerBuffer] object keeps an internal cursor which is the offset in "
+"bytes to the start of the buffer. Get and put operations are performed at "
+"the cursor position and will move the cursor accordingly."
+msgstr ""
+"使用字节数组作为流的数据缓冲区流对等体。该对象可用于处理来自网络会话的二进制"
+"数据。要处理保存在文件中的二进制数据,可以直接使用 [FileAccess]。\n"
+"[StreamPeerBuffer] 对象会保存一个内部指针,是距离该缓冲区开头的字节偏移量。"
+"Get 和 put 操作都在该指针处进行,并会将其进行对应的移动。"
+
msgid "Clears the [member data_array] and resets the cursor."
msgstr "清除 [member data_array] 并重置指针。"
@@ -49870,6 +53539,51 @@ msgstr ""
"[method begins_with]。"
msgid ""
+"Returns the index of the [b]first[/b] occurrence of [param what] in this "
+"string, or [code]-1[/code] if there are none. The search's start can be "
+"specified with [param from], continuing to the end of the string.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"print(\"Team\".find(\"I\")) # Prints -1\n"
+"\n"
+"print(\"Potato\".find(\"t\")) # Prints 2\n"
+"print(\"Potato\".find(\"t\", 3)) # Prints 4\n"
+"print(\"Potato\".find(\"t\", 5)) # Prints -1\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Print(\"Team\".Find(\"I\")); // Prints -1\n"
+"\n"
+"GD.Print(\"Potato\".Find(\"t\")); // Prints 2\n"
+"GD.Print(\"Potato\".Find(\"t\", 3)); // Prints 4\n"
+"GD.Print(\"Potato\".Find(\"t\", 5)); // Prints -1\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] If you just want to know whether the string contains [param "
+"what], use [method contains]. In GDScript, you may also use the [code]in[/"
+"code] operator."
+msgstr ""
+"返回 [param what] 在该字符串中[b]第一次[/b]出现的索引,如果不存在则返回 "
+"[code]-1[/code]。搜索的起点可以用 [param from] 指定,持续到字符串结尾。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"print(\"Team\".find(\"I\")) # 输出 -1\n"
+"\n"
+"print(\"Potato\".find(\"t\")) # 输出 2\n"
+"print(\"Potato\".find(\"t\", 3)) # 输出 4\n"
+"print(\"Potato\".find(\"t\", 5)) # 输出 -1\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Print(\"Team\".Find(\"I\")); // 输出 -1\n"
+"\n"
+"GD.Print(\"Potato\".Find(\"t\")); // 输出 2\n"
+"GD.Print(\"Potato\".Find(\"t\", 3)); // 输出 4\n"
+"GD.Print(\"Potato\".Find(\"t\", 5)); // 输出 -1\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]如果你只是想要知道该字符串中是否包含 [param what],请使用 "
+"[method contains]。在 GDScript 中,你还可以使用 [code]in[/code] 运算符。"
+
+msgid ""
"Returns the index of the [b]first[/b] [b]case-insensitive[/b] occurrence of "
"[param what] in this string, or [code]-1[/code] if there are none. The "
"starting search index can be specified with [param from], continuing to the "
@@ -49880,6 +53594,68 @@ msgstr ""
"串的末尾。"
msgid ""
+"Formats the string by replacing all occurrences of [param placeholder] with "
+"the elements of [param values].\n"
+"[param values] can be a [Dictionary] or an [Array]. Any underscores in "
+"[param placeholder] will be replaced with the corresponding keys in advance. "
+"Array elements use their index as keys.\n"
+"[codeblock]\n"
+"# Prints \"Waiting for Godot is a play by Samuel Beckett, and Godot Engine "
+"is named after it.\"\n"
+"var use_array_values = \"Waiting for {0} is a play by {1}, and {0} Engine is "
+"named after it.\"\n"
+"print(use_array_values.format([\"Godot\", \"Samuel Beckett\"]))\n"
+"\n"
+"# Prints \"User 42 is Godot.\"\n"
+"print(\"User {id} is {name}.\".format({\"id\": 42, \"name\": \"Godot\"}))\n"
+"[/codeblock]\n"
+"Some additional handling is performed when [param values] is an [Array]. If "
+"[param placeholder] does not contain an underscore, the elements of the "
+"[param values] array will be used to replace one occurrence of the "
+"placeholder in order; If an element of [param values] is another 2-element "
+"array, it'll be interpreted as a key-value pair.\n"
+"[codeblock]\n"
+"# Prints \"User 42 is Godot.\"\n"
+"print(\"User {} is {}.\".format([42, \"Godot\"], \"{}\"))\n"
+"print(\"User {id} is {name}.\".format([[\"id\", 42], [\"name\", "
+"\"Godot\"]]))\n"
+"[/codeblock]\n"
+"See also the [url=$DOCS_URL/tutorials/scripting/gdscript/"
+"gdscript_format_string.html]GDScript format string[/url] tutorial.\n"
+"[b]Note:[/b] In C#, it's recommended to [url=https://learn.microsoft.com/en-"
+"us/dotnet/csharp/language-reference/tokens/interpolated]interpolate strings "
+"with \"$\"[/url], instead."
+msgstr ""
+"通过将所有出现的 [param placeholder] 替换为 [param values] 的元素来格式化字符"
+"串。\n"
+"[param values] 可以是 [Dictionary] 或 [Array]。[param placeholder] 中的任何下"
+"划线将被预先被替换为对应的键。数组元素使用它们的索引作为键。\n"
+"[codeblock]\n"
+"# 输出:Waiting for Godot 是 Samuel Beckett 的戏剧,Godot 引擎由此得名。\n"
+"var use_array_values = \"Waiting for {0} 是 {1} 的戏剧,{0} 引擎由此得"
+"名。\"\n"
+"print(use_array_values.format([\"Godot\", \"Samuel Beckett\"]))\n"
+"\n"
+"# 输出:第 42 号用户是 Godot。\n"
+"print(\"第 {id} 号用户是 {name}。\".format({\"id\": 42, \"name\": "
+"\"Godot\"}))\n"
+"[/codeblock]\n"
+"当 [param values] 是 [Array] 时还会执行一些额外的处理。 如果 [param "
+"placeholder] 不包含下划线,则 [param values] 数组的元素将用于按顺序替换出现的"
+"占位符;如果 [param values] 的元素是另一个 2 元素数组,则它将被解释为键值"
+"对。\n"
+"[codeblock]\n"
+"# 输出:第 42 号用户是 Godot。\n"
+"print(\"第 {} 号用户是 {}。\".format([42, \"Godot\"], \"{}\"))\n"
+"print(\"第 {id} 号用户是 {name}。\".format([[\"id\", 42], [\"name\", "
+"\"Godot\"]]))\n"
+"[/codeblock]\n"
+"另请参阅 [url=$DOCS_URL/tutorials/scripting/gdscript/gdscript_format_string."
+"html]GDScript 格式化字符串[/url]教程。\n"
+"[b]注意:[/b]在 C# 中推荐改为[url=https://learn.microsoft.com/en-us/dotnet/"
+"csharp/language-reference/tokens/interpolated]使用“$”插入字符串[/url]。"
+
+msgid ""
"If the string is a valid file path, returns the base directory name.\n"
"[codeblock]\n"
"var dir_path = \"/path/to/file.txt\".get_base_dir() # dir_path is \"/path/"
@@ -50242,6 +54018,50 @@ msgstr ""
"%E4%BF%9D%E7%95%99IP%E5%9C%B0%E5%9D%80]保留 IP 地址[/url]是有效的。"
msgid ""
+"Returns the concatenation of [param parts]' elements, with each element "
+"separated by the string calling this method. This method is the opposite of "
+"[method split].\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var fruits = [\"Apple\", \"Orange\", \"Pear\", \"Kiwi\"]\n"
+"\n"
+"print(\", \".join(fruits)) # Prints \"Apple, Orange, Pear, Kiwi\"\n"
+"print(\"---\".join(fruits)) # Prints \"Apple---Orange---Pear---Kiwi\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var fruits = new string[] {\"Apple\", \"Orange\", \"Pear\", \"Kiwi\"};\n"
+"\n"
+"// In C#, this method is static.\n"
+"GD.Print(string.Join(\", \", fruits)); // Prints \"Apple, Orange, Pear, "
+"Kiwi\"\n"
+"GD.Print(string.Join(\"---\", fruits)); // Prints \"Apple---Orange---Pear---"
+"Kiwi\"\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回将 [param parts] 中的元素连接组成的字符串,元素间使用调用该方法的字符串进"
+"行分隔。该方法和 [method split] 相反。\n"
+"[b]示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var fruits = [\"Apple\", \"Orange\", \"Pear\", \"Kiwi\"]\n"
+"\n"
+"print(\", \".join(fruits)) # 输出 \"Apple, Orange, Pear, Kiwi\"\n"
+"print(\"---\".join(fruits)) # 输出 \"Apple---Orange---Pear---Kiwi\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var fruits = new string[] {\"Apple\", \"Orange\", \"Pear\", \"Kiwi\"};\n"
+"\n"
+"// 这个方法在 C# 中是静态的。\n"
+"GD.Print(string.Join(\", \", fruits)); // 输出 \"Apple, Orange, Pear, "
+"Kiwi\"\n"
+"GD.Print(string.Join(\"---\", fruits)); // 输出 \"Apple---Orange---Pear---"
+"Kiwi\"\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Returns a copy of the string with special characters escaped using the JSON "
"standard. Because it closely matches the C standard, it is possible to use "
"[method c_unescape] to unescape the string, if necessary."
@@ -51140,6 +54960,44 @@ msgstr ""
msgid "An optimized string type for unique names."
msgstr "针对唯一名称优化的字符串类型。"
+msgid ""
+"[StringName]s are immutable strings designed for general-purpose "
+"representation of unique names (also called \"string interning\"). "
+"[StringName] ensures that only one instance of a given name exists (so two "
+"[StringName]s with the same value are the same object). Comparing them is "
+"much faster than with regular [String]s, because only the pointers are "
+"compared, not the whole strings.\n"
+"You will usually just pass a [String] to methods expecting a [StringName] "
+"and it will be automatically converted, but you may occasionally want to "
+"construct a [StringName] ahead of time with the [StringName] constructor or, "
+"in GDScript, the literal syntax [code]&\"example\"[/code].\n"
+"See also [NodePath], which is a similar concept specifically designed to "
+"store pre-parsed node paths.\n"
+"Some string methods have corresponding variations. Variations suffixed with "
+"[code]n[/code] ([method countn], [method findn], [method replacen], etc.) "
+"are [b]case-insensitive[/b] (they make no distinction between uppercase and "
+"lowercase letters). Method variations prefixed with [code]r[/code] ([method "
+"rfind], [method rsplit], etc.) are reversed, and start from the end of the "
+"string, instead of the beginning.\n"
+"[b]Note:[/b] In a boolean context, a [StringName] will evaluate to "
+"[code]false[/code] if it is empty ([code]StringName(\"\")[/code]). "
+"Otherwise, a [StringName] will always evaluate to [code]true[/code]."
+msgstr ""
+"[StringName] 是不可变的字符串,用于唯一名称的通用表示(也叫“字符串内嵌”)。"
+"[StringName] 能够保证给定的名称只存在一个实例(这样值相同的两个 [StringName] "
+"就是同一个对象)。进行比较时比普通 [String] 要快很多,因为只需要比较指针,不"
+"需要比较完整的字符串。\n"
+"对于需要 [StringName] 的方法,你通常可以只传 [String],会自动进行转换,不过有"
+"时候你可能会想要提前使用 [StringName] 构造函数来构造 [StringName],在 "
+"GDScript 中也可以用 [code]&\"example\"[/code] 语法。\n"
+"另见 [NodePath],这是与此类似的概念,针对存储预解析的节点路径设计。\n"
+"部分字符串方法有对应的变体。后缀 [code]n[/code] 的变体([method countn]、"
+"[method findn]、[method replacen] 等)[b]大小写不敏感[/b](不区分大写字符和小"
+"写字符)。前缀 [code]r[/code] 的方法变体([method rfind]、[method rsplit] "
+"等)是逆序的,会从字符串末尾开始,而不是从开头开始。\n"
+"[b]注意:[/b]转换为布尔值时,空的 [StringName]([code]StringName(\"\")[/"
+"code])为 [code]false[/code],其他 [StringName] 均为 [code]true[/code]。"
+
msgid "Constructs an empty [StringName]."
msgstr "构造空的 [StringName]。"
@@ -51187,6 +55045,13 @@ msgstr ""
"url]。"
msgid ""
+"Appends [param right] at the end of this [StringName], returning a [String]. "
+"This is also known as a string concatenation."
+msgstr ""
+"将 [param right] 追加到该 [StringName] 的末尾,返回的是 [String]。也称作字符"
+"串连接。"
+
+msgid ""
"Returns [code]true[/code] if this [StringName] is equivalent to the given "
"[String]."
msgstr "如果该 [StringName] 与给定的 [String] 等价,则返回 [code]true[/code]。"
@@ -52210,6 +56075,9 @@ msgstr "[theme_item drop_mark] 图标的调制颜色。"
msgid "Font color of disabled tabs."
msgstr "禁用选项卡的字体颜色。"
+msgid "The tint of text outline of the tab name."
+msgstr "选项卡名称的文本轮廓的色调。"
+
msgid "Font color of the currently selected tab."
msgstr "当前所选选项卡的字体颜色。"
@@ -52219,6 +56087,20 @@ msgstr "其他未被选中的选项卡的字体颜色。"
msgid "The horizontal separation between the elements inside tabs."
msgstr "选项卡内元素之间的水平分隔。"
+msgid ""
+"The size of the tab text outline.\n"
+"[b]Note:[/b] If using a font with [member FontFile."
+"multichannel_signed_distance_field] enabled, its [member FontFile."
+"msdf_pixel_range] must be set to at least [i]twice[/i] the value of "
+"[theme_item outline_size] for outline rendering to look correct. Otherwise, "
+"the outline may appear to be cut off earlier than intended."
+msgstr ""
+"选项卡文字轮廓的大小。\n"
+"[b]注意:[/b]如果使用启用了 [member FontFile."
+"multichannel_signed_distance_field] 的字体,其 [member FontFile."
+"msdf_pixel_range] 必须至少设置为 [theme_item outline_size] 的[i]两倍[/i],轮"
+"廓渲染才能看起来正确。否则,轮廓可能会比预期的更早被切断。"
+
msgid "The font used to draw tab names."
msgstr "用于绘制选项卡名称的字体。"
@@ -52486,12 +56368,30 @@ msgstr "删除选定的文本。"
msgid "Deselects the current selection."
msgstr "取消当前选择。"
+msgid "Returns the column the editing caret is at."
+msgstr "返回编辑光标所在的列。"
+
msgid "Returns the number of carets in this [TextEdit]."
msgstr "返回该 [TextEdit] 中的光标数。"
+msgid "Returns the caret pixel draw position."
+msgstr "返回光标的像素绘制位置。"
+
+msgid "Returns the line the editing caret is on."
+msgstr "返回编辑光标所在的行。"
+
msgid "Returns the first visible line."
msgstr "返回第一个可见行。"
+msgid "Returns the name of the gutter at the given index."
+msgstr "返回给定索引处边栏的名称。"
+
+msgid "Returns the type of the gutter at the given index."
+msgstr "返回给定索引处边栏的类型。"
+
+msgid "Returns the width of the gutter at the given index."
+msgstr "返回给定索引处边栏的宽度。"
+
msgid "Returns the [HScrollBar] used by [TextEdit]."
msgstr "设置该 [TextEdit] 所使用的 [HScrollBar]。"
@@ -52652,6 +56552,12 @@ msgstr ""
msgid "Sets the text for [param gutter] on [param line] to [param text]."
msgstr "将边栏 [param gutter] 在第 [param line] 行的文本设置为 [param text]。"
+msgid "Sets the current selection mode."
+msgstr "设置当前的选区模式。"
+
+msgid "Sets the tab size for the [TextEdit] to use."
+msgstr "设置该 [TextEdit] 使用的制表符大小。"
+
msgid ""
"Provide custom tooltip text. The callback method must take the following "
"args: [code]hovered_word: String[/code]."
@@ -52830,6 +56736,20 @@ msgstr "自定义绘制。"
msgid "Sets the background [Color] of this [TextEdit]."
msgstr "设置该 [TextEdit] 的背景 [Color]。"
+msgid "[Color] of the text behind the caret when using a block caret."
+msgstr "使用块状光标时,光标下文本的 [Color]。"
+
+msgid ""
+"[Color] of the caret. This can be set to a fully transparent color to hide "
+"the caret entirely."
+msgstr "光标的 [Color]。可以设为完全透明的颜色,从而完全隐藏光标。"
+
+msgid "The tint of text outline of the [TextEdit]."
+msgstr "该 [TextEdit] 的文本轮廓的色调。"
+
+msgid "Sets the font [Color] when [member editable] is disabled."
+msgstr "设置禁用 [member editable] 时的字体 [Color]。"
+
msgid ""
"Sets the highlight [Color] of multiple occurrences. [member "
"highlight_all_occurrences] has to be enabled."
@@ -52839,6 +56759,10 @@ msgstr ""
msgid "Sets the [StyleBox] of this [TextEdit]."
msgstr "设置这个 [TextEdit] 的 [StyleBox]。"
+msgid ""
+"Sets the [StyleBox] of this [TextEdit] when [member editable] is disabled."
+msgstr "设置这个 [TextEdit] 在禁用 [member editable] 时的 [StyleBox]。"
+
msgid "Returns TextServer buffer RID."
msgstr "返回 TextServer 缓冲区 RID。"
@@ -54468,6 +58392,10 @@ msgstr "返回地形集的数量。"
msgid "Returns the number of terrains in the given terrain set."
msgstr "返回给定地形集中的地形数。"
+msgid ""
+"Returns if there is an alternative-level proxy for the given identifiers."
+msgstr "返回给定的标识符是否存在备选级别的代理。"
+
msgid "Returns if there is a coodinates-level proxy for the given identifiers."
msgstr "返回给定的标识符是否存在坐标级别的代理。"
@@ -56516,13 +60444,6 @@ msgid "Resumes a paused or stopped [Tween]."
msgstr "恢复已暂停或已停止的 [Tween]。"
msgid ""
-"Sets the default ease type for [PropertyTweener]s and [MethodTweener]s "
-"animated by this [Tween]."
-msgstr ""
-"设置由这个 [Tween] 进行动画的 [PropertyTweener] 和 [MethodTweener] 的默认缓动"
-"类型。"
-
-msgid ""
"Sets the number of times the tweening sequence will be repeated, i.e. "
"[code]set_loops(2)[/code] will run the animation twice.\n"
"Calling this method without arguments will make the [Tween] run infinitely, "
@@ -56574,13 +60495,6 @@ msgid ""
msgstr "补间的速度缩放。影响所有 [Tweener] 及其延迟。"
msgid ""
-"Sets the default transition type for [PropertyTweener]s and [MethodTweener]s "
-"animated by this [Tween]."
-msgstr ""
-"设置由这个 [Tween] 进行动画的 [PropertyTweener] 和 [MethodTweener] 的默认过渡"
-"类型。"
-
-msgid ""
"Stops the tweening and resets the [Tween] to its initial state. This will "
"not remove any appended [Tweener]s."
msgstr "停止补间,并将该 [Tween] 重置为初始状态。不会移除已追加的 [Tweener]。"
@@ -60778,6 +64692,9 @@ msgstr ""
msgid "Real-time global illumination (GI) probe."
msgstr "实时全局光照(GI)探测。"
+msgid "VoxelGI"
+msgstr "VoxelGI"
+
msgid "Calls [method bake] with [code]create_visual_debug[/code] enabled."
msgstr "在启用 [code]create_visual_debug[/code] 的情况下调用 [method bake] 。"
@@ -61673,6 +65590,29 @@ msgstr ""
msgid "Moves the [Window] on top of other windows and focuses it."
msgstr "将该 [Window] 移动到其他窗口的顶部并聚焦。"
+msgid ""
+"Popups the [Window] at the center of the current screen, with optionally "
+"given minimum size.\n"
+"If the [Window] is embedded, it will be centered in the parent [Viewport] "
+"instead.\n"
+"[b]Note:[/b] Calling it with the default value of [param minsize] is "
+"equivalent to calling it with [member size]."
+msgstr ""
+"在当前屏幕的中心弹出该 [Window],可以选择给定最小尺寸。\n"
+"如果该 [Window] 是嵌入的,它将在父 [Viewport] 中居中。\n"
+"[b]注意:[/b]用 [param minsize] 的默认值调用它等同于用 [member size] 调用它。"
+
+msgid ""
+"Popups the [Window] centered inside its parent [Window].\n"
+"[code]fallback_ratio[/code] determines the maximum size of the [Window], in "
+"relation to its parent.\n"
+"[b]Note:[/b] Calling it with the default value of [param minsize] is "
+"equivalent to calling it with [member size]."
+msgstr ""
+"在父 [Window] 中居中弹出该 [Window]。\n"
+"[code]fallback_ratio[/code] 确定 [Window] 相对于其父级的最大尺寸。\n"
+"[b]注意:[/b]用 [param minsize] 的默认值调用它等同于用 [member size] 调用它。"
+
msgid "Sets a specified window flag."
msgstr "设置指定的窗口标志。"