diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-03-15 02:29:27 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-03-15 02:29:27 +0100 |
commit | d23922ffebe48f29126c003411495737d07e5a9f (patch) | |
tree | b21c934f431b49bc47861bc03817c4aa6ab7cf6e | |
parent | fc7adaab7b3856a7831d402ea2bbb27efe7b7d8a (diff) |
i18n: Sync translations with Weblate
40 files changed, 40779 insertions, 2292 deletions
diff --git a/doc/translations/es.po b/doc/translations/es.po index 69fe1e2aa2..faa87d0327 100644 --- a/doc/translations/es.po +++ b/doc/translations/es.po @@ -44,12 +44,15 @@ # Fernando Sacó <saco.fernando@gmail.com>, 2023. # Damien Monasterios <monasterio13septiembre@gmail.com>, 2023. # andres gallegos <andresgg.prog@gmail.com>, 2023. +# Dariem Lázaro García López <dariemgl@gmail.com>, 2023. +# Adrian Migueles <adrianmigueles14@gmail.com>, 2023. +# Joinner Medina <devjoi2018@gmail.com>, 2023. 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-18 04:11+0000\n" -"Last-Translator: andres gallegos <andresgg.prog@gmail.com>\n" +"PO-Revision-Date: 2023-03-12 20:08+0000\n" +"Last-Translator: Joinner Medina <devjoi2018@gmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot-class-reference/es/>\n" "Language: es\n" @@ -57,7 +60,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.2-dev\n" msgid "Description" msgstr "Descripción" @@ -164,10 +167,88 @@ msgstr "" msgid "Built-in GDScript functions." msgstr "Funciones GDScript integradas." +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 "" +"Una lista de funciones de utilidad y anotaciones específicas de GDScript " +"accesibles desde cualquier script.\n" +"Para la lista de funciones globales y constantes ver [@GlobalScope]." + msgid "GDScript exports" msgstr "Exportaciones de Scripts GD" 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 "" +"Devuelve un [Color] construido a partir de rojo ([param r8]), verde ([param " +"g8]), azul ([param b8]) y opcionalmente alfa ([param a8]), cada uno dividido " +"por [code]255.0[/code] para obtener su valor final.\n" +"[codeblock]\n" +"var red = Color8(255, 0, 0) # Igual que Color(1, " +"0, 0)\n" +"var dark_blue = Color8(0, 0, 51) # Igual que Color(0, 0, " +"0.2).\n" +"var my_color = Color8(306, 255, 0, 102) # Igual 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 "" +"Afirma que la [condición param] es [code]true[/code]. Si la [condición " +"param] es [code]false[/code], se genera un error. Cuando se ejecuta desde el " +"editor, el proyecto en ejecución también se pausará hasta que lo reanude. " +"Esto se puede utilizar como una forma más fuerte de [method @GlobalScope." +"push_error] para informar de errores a los desarrolladores del proyecto o a " +"los usuarios del complemento.\n" +"Se puede mostrar un [param message] opcional además del mensaje genérico " +"\"Assertion failed\". Puede utilizarlo para proporcionar detalles " +"adicionales sobre por qué falló la aserción.\n" +"[b]Advertencia:[/b] Por razones de rendimiento, el código dentro de [method " +"assert] sólo se ejecuta en construcciones de depuración o cuando se ejecuta " +"el proyecto desde el editor. No incluya código que tenga efectos secundarios " +"en una llamada a [method assert]. De lo contrario, el proyecto se comportará " +"de forma diferente cuando se exporte en modo release.\n" +"[codeblock]\n" +"# Imagina que siempre queremos que la velocidad esté entre 0 y 20.\n" +"var speed = -10\n" +"assert(speed < 20) # Verdadero, el programa continuará.\n" +"assert(speed >= 0) # Falso, el programa se detendrá.\n" +"assert(speed >= 0 and speed < 20) # También puedes combinar las dos " +"sentencias condicionales en una sola comprobación.\n" +"assert(speed < 20, \"el límite de velocidad es 20\") # Muestra un mensaje.\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" @@ -185,6 +266,36 @@ msgstr "" "[/codeblock]" msgid "" +"Converts [param what] to [param type] in the best way possible. The [param " +"type] uses the [enum Variant.Type] values.\n" +"[codeblock]\n" +"var a = [4, 2.5, 1.2]\n" +"print(a is Array) # Prints true\n" +"\n" +"var b = convert(a, TYPE_PACKED_BYTE_ARRAY)\n" +"print(b) # Prints [4, 2, 1]\n" +"print(b is Array) # Prints false\n" +"[/codeblock]" +msgstr "" +"Convierte [param what] a [param type] de la mejor forma posible. El [param " +"type] usa los valores [enum Variant.Type].\n" +"[codeblock]\n" +"var a = [4, 2.5, 1.2]\n" +"print(a is Array) # Prints true\n" +"\n" +"var b = convert(a, TYPE_PACKED_BYTE_ARRAY)\n" +"print(b) # Prints [4, 2, 1]\n" +"print(b is Array) # Prints false\n" +"[/codeblock]" + +msgid "" +"Converts a [param dictionary] (created with [method inst_to_dict]) back to " +"an Object instance. Can be useful for deserializing." +msgstr "" +"Convierte un [param dictionary] (creado con [method inst_to_dict]) en una " +"instancia de objeto. Puede ser útil para deserializar datos." + +msgid "" "Returns an array with the given range. [method range] can be called in three " "ways:\n" "[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and " @@ -20718,15 +20829,6 @@ msgstr "" "utilice [method affine_inverse] para las transformadas con escalamiento)." msgid "" -"Returns [code]true[/code] if this transform and [code]transform[/code] are " -"approximately equal, by calling [code]is_equal_approx[/code] on each " -"component." -msgstr "" -"Devuelve [code]true[/code] si esta transformada y [code]transform[/code] son " -"aproximadamente iguales, llamando a [code]is_equal_approx[/code] en cada " -"componente." - -msgid "" "Returns the transform with the basis orthogonal (90 degrees), and normalized " "axis vectors (scale of 1 or -1)." msgstr "" diff --git a/doc/translations/fr.po b/doc/translations/fr.po index d4f1b5dbd7..4404b5feeb 100644 --- a/doc/translations/fr.po +++ b/doc/translations/fr.po @@ -64,13 +64,15 @@ # Thalya Gauvrit <skar0ps.dev@gmail.com>, 2023. # Hipolyte Ponthieu <7hip.po6@orange.fr>, 2023. # Dricom Dragon <dev@jovian-hersemeule.eu>, 2023. +# t8y <contact@t3y.eu>, 2023. +# GuruWP <guruwp@protonmail.com>, 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-28 17:36+0000\n" -"Last-Translator: Dricom Dragon <dev@jovian-hersemeule.eu>\n" +"PO-Revision-Date: 2023-03-08 00:26+0000\n" +"Last-Translator: GuruWP <guruwp@protonmail.com>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot-class-reference/fr/>\n" "Language: fr\n" @@ -78,7 +80,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-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Description" msgstr "Description" @@ -386,6 +388,25 @@ msgstr "" msgid "Random number generation" msgstr "Génération de nombres aléatoires" +msgid "" +"Returns the arc cosine of [param x] in radians. Use to get the angle of " +"cosine [param x]. [param x] must be between [code]-1.0[/code] and [code]1.0[/" +"code] (inclusive), otherwise, [method acos] will return [constant @GDScript." +"NAN].\n" +"[codeblock]\n" +"# c is 0.523599 or 30 degrees if converted with rad_to_deg(c)\n" +"var c = acos(0.866025)\n" +"[/codeblock]" +msgstr "" +"Renvoie le cosinus inverse de [param x] en radians. À utiliser pour obtenir " +"l'angle du cosinus [param x]. [param x] doit être entre [code]-1.0[/code] et " +"[code]1.0[/code] (inclus), dans le cas contraire, [method acos] retournera " +"[constant @GDScript.NAN].\n" +"[codeblock]\n" +"# c vaut 0.523599 ou 30 degrés si converti avec rad2deg(s)\n" +"c = acos(0.866025)\n" +"[/codeblock]" + msgid "Converts from decibels to linear energy (audio)." msgstr "Convertit les décibels en énergie linéaire (audio)." @@ -19517,14 +19538,6 @@ msgstr "Une unité d'exécution dans un processus." msgid "Thread-safe APIs" msgstr "Les API sûres pour plusieurs fils d'exécution" -msgid "" -"Returns the current [Thread]'s ID, uniquely identifying it among all " -"threads. If the [Thread] is not running this returns an empty string." -msgstr "" -"Retourne l'identifiant du [Thread] actuel, qui lui est unique parmi tous les " -"autres fils d'exécution. Si le [Thread] n'est pas actif, une chaine vide est " -"retournée." - msgid "A thread running with lower priority than normally." msgstr "Un fil d'exécution avec une priorité inférieure à la normale." @@ -19721,15 +19734,6 @@ msgid "Returns the scale." msgstr "Retourne l’échelle." msgid "" -"Returns [code]true[/code] if this transform and [code]transform[/code] are " -"approximately equal, by calling [code]is_equal_approx[/code] on each " -"component." -msgstr "" -"Retourne [code]true[/code] si cette transformation est [code]transform[/" -"code] sont approximativement égales, c'est-à-dire en appelant " -"[code]is_equal_approx[/code] pour chaque composant." - -msgid "" "Returns the transform with the basis orthogonal (90 degrees), and normalized " "axis vectors (scale of 1 or -1)." msgstr "" diff --git a/doc/translations/zh_CN.po b/doc/translations/zh_CN.po index 339697f02c..4ffb3f53cc 100644 --- a/doc/translations/zh_CN.po +++ b/doc/translations/zh_CN.po @@ -68,12 +68,15 @@ # Hamster <hamster5295@163.com>, 2023. # GarliCat <phoenixkaze@live.com>, 2023. # RIKA! <2293840045@qq.com>, 2023. +# ZHANG JIANFEI <3468144728@qq.com>, 2023. +# tjw123hh <tjw123hh@outlook.com>, 2023. +# miaoqvmiao <miaoqvmiaomqm@outlook.com>, 2023. 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-28 17:36+0000\n" -"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n" +"PO-Revision-Date: 2023-03-14 11:31+0000\n" +"Last-Translator: 风青山 <idleman@yeah.net>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot-class-reference/zh_Hans/>\n" "Language: zh_CN\n" @@ -81,7 +84,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-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Description" msgstr "描述" @@ -719,26 +722,6 @@ msgstr "" "行时错误。" msgid "" -"Mark the following property as exported (editable in the Inspector dock and " -"saved to disk). To control the type of the exported property, use the type " -"hint notation.\n" -"[codeblock]\n" -"@export var string = \"\"\n" -"@export var int_number = 5\n" -"@export var float_number: float = 5\n" -"@export var image : Image\n" -"[/codeblock]" -msgstr "" -"将以下属性标记为已导出(可在检查器面板中编辑并保存到磁盘)。要控制导出属性的" -"类型,请使用类型提示表示法。\n" -"[codeblock]\n" -"@export var string = \"\"\n" -"@export var int_number = 5\n" -"@export var float_number: float = 5\n" -"@export var image : Image\n" -"[/codeblock]" - -msgid "" "Define a new category for the following exported properties. This helps to " "organize properties in the Inspector dock.\n" "See also [constant PROPERTY_USAGE_CATEGORY].\n" @@ -764,21 +747,6 @@ msgstr "" "[annotation @export_subgroup]。" msgid "" -"Export a [Color] property without allowing its transparency ([member Color." -"a]) to be edited.\n" -"See also [constant PROPERTY_HINT_COLOR_NO_ALPHA].\n" -"[codeblock]\n" -"@export_color_no_alpha var dye_color : Color\n" -"[/codeblock]" -msgstr "" -"导出一个不允许编辑透明度(其alpha 固定为 [code]1.0[/code])的 [Color] 属" -"性。\n" -"另见 [constant PROPERTY_HINT_COLOR_NO_ALPHA]。\n" -"[codeblock]\n" -"@export_color_no_alpha var dye_color : Color\n" -"[/codeblock]" - -msgid "" "Export a [String] property as a path to a directory. The path will be " "limited to the project folder and its subfolders. See [annotation " "@export_global_dir] to allow picking from the entire filesystem.\n" @@ -2351,6 +2319,18 @@ msgstr "" "nan[/code]。" msgid "" +"Returns the maximum of the given numeric 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" @@ -2377,6 +2357,18 @@ msgstr "" "[/codeblock]" msgid "" +"Returns the minimum of the given numeric 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" @@ -5708,19 +5700,6 @@ msgid "Returns [code]true[/code] if the [AABB] is on both sides of a plane." msgstr "该 [AABB] 同时位于指定平面的两边时,返回 [code]true[/code]。" msgid "" -"Returns [code]true[/code] if the given ray intersects with this [AABB]. Ray " -"length is infinite." -msgstr "" -"如果给定的射线与此 [AABB] 相交,则返回 [code]true[/code]。射线长度是无限的。" - -msgid "" -"Returns [code]true[/code] if the [AABB] intersects the line segment between " -"[param from] and [param to]." -msgstr "" -"如果该 [AABB] 与 [param from] 和 [param to] 之间的线段相交,则返回 " -"[code]true[/code]。" - -msgid "" "Returns [code]true[/code] if this [AABB] and [param aabb] are approximately " "equal, by calling [method @GlobalScope.is_equal_approx] on each component." msgstr "" @@ -5761,7 +5740,8 @@ msgid "" "is_equal_approx] instead, which is more reliable." msgstr "" "如果向量不相等,则返回 [code]true[/code]。\n" -"[b]注意:[/b]由于浮点精度误差,考虑改用更可靠的 [method is_equal_approx]。" +"[b]注意:[/b]由于浮点数精度误差,请考虑改用 [method is_equal_approx],会更可" +"靠。" msgid "" "Inversely transforms (multiplies) the [AABB] by the given [Transform3D] " @@ -5774,7 +5754,8 @@ msgid "" "is_equal_approx] instead, which is more reliable." msgstr "" "如果 AABB 完全相等,则返回 [code]true[/code]。\n" -"[b]注意:[/b]由于浮点精度误差,考虑改用更可靠的 [method is_equal_approx]。" +"[b]注意:[/b]由于浮点数精度误差,请考虑改用 [method is_equal_approx],会更可" +"靠。" msgid "Base dialog for user notification." msgstr "用户通知的基本对话框。" @@ -8864,6 +8845,59 @@ msgstr "" "[/codeblocks]" msgid "" +"Retrieve the blended value of the position tracks with the [member " +"root_motion_track] as a [Vector3] that can be used elsewhere.\n" +"This is useful in cases where you want to respect the initial key values of " +"the animation.\n" +"For example, if an animation with only one key [code]Vector3(0, 0, 0)[/code] " +"is played in the previous frame and then an animation with only one key " +"[code]Vector3(1, 0, 1)[/code] is played in the next frame, the difference " +"can be calculated as follows:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var prev_root_motion_position_accumulator: Vector3\n" +"\n" +"func _process(delta):\n" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" var current_root_motion_position_accumulator: Vector3 = animation_tree." +"get_root_motion_position_accumulator()\n" +" var difference: Vector3 = current_root_motion_position_accumulator - " +"prev_root_motion_position_accumulator\n" +" prev_root_motion_position_accumulator = " +"current_root_motion_position_accumulator\n" +" transform.origin += difference\n" +"[/gdscript]\n" +"[/codeblocks]\n" +"However, if the animation loops, an unintended discrete change may occur, so " +"this is only useful for some simple use cases." +msgstr "" +"检索具有 [member root_motion_track] 的位置轨道的混合值,作为一个 [Vector3]," +"可以在其他地方使用。\n" +"这在重视动画的初始键值的情况下很有用。\n" +"例如,如果一个只有单个键的动画 [code]Vector3(0, 0, 0)[/code] 在前一帧播放,然" +"后一个只有单个键的动画[code]Vector3(1, 0, 1)[/code] 在下一帧播放,其差异可以" +"被计算如下。\n" +"[codeblocks]\n" +"[gdscript]\n" +"var prev_root_motion_position_accumulator: Vector3\n" +"\n" +"func _process(delta):\n" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" var current_root_motion_position_accumulator: Vector3 = animation_tree." +"get_root_motion_position_accumulator()\n" +" var difference: Vector3 = current_root_motion_position_accumulator - " +"prev_root_motion_position_accumulator\n" +" prev_root_motion_position_accumulator = " +"current_root_motion_position_accumulator\n" +" transform.origin += difference\n" +"[/gdscript]\n" +"[/codeblocks]\n" +"然而,如果动画循环播放,可能会发生意外的不连续变化,所以这种方法只在一些简单" +"的使用场景里好用。" + +msgid "" "Retrieve the motion delta of rotation with the [member root_motion_track] as " "a [Quaternion] that can be used elsewhere.\n" "If [member root_motion_track] is not a path to a track of type [constant " @@ -9049,6 +9083,13 @@ msgstr "" msgid "If [code]true[/code], the [AnimationTree] will be processing." msgstr "如果 [code]true[/code] 时,[AnimationTree] 将执行逻辑处理。" +msgid "" +"The path to the [Node] used to evaluate the AnimationNode [Expression] if " +"one is not explicitly specified internally." +msgstr "" +"用于评估 AnimationNode [Expression] 的 [Node] 的路径,如果内部未明确指定路径" +"时使用。" + msgid "The path to the [AnimationPlayer] used for animating." msgstr "用于动画的 [AnimationPlayer] 的路径。" @@ -9058,6 +9099,30 @@ msgid "" msgstr "" "该 [AnimationTree] 的处理模式。可用的模式见 [enum AnimationProcessCallback]。" +msgid "" +"The path to the Animation track used for root motion. Paths must be valid " +"scene-tree paths to a node, and must be specified starting from the parent " +"node of the node that will reproduce the animation. To specify a track that " +"controls properties or bones, append its name after the path, separated by " +"[code]\":\"[/code]. For example, [code]\"character/skeleton:ankle\"[/code] " +"or [code]\"character/mesh:transform/local\"[/code].\n" +"If the track has type [constant Animation.TYPE_POSITION_3D], [constant " +"Animation.TYPE_ROTATION_3D] or [constant Animation.TYPE_SCALE_3D] the " +"transformation will be canceled visually, and the animation will appear to " +"stay in place. See also [method get_root_motion_position], [method " +"get_root_motion_rotation], [method get_root_motion_scale] and " +"[RootMotionView]." +msgstr "" +"用于根部运动的动画轨道的路径。路径必须是指向节点的场景树有效路径,必须从将实" +"现动画的节点的父节点开始指定。要指定控件属性或骨骼的轨道,请在路径后附加其名" +"称,用 [code]\":\"[/code] 隔开。例如,[code]\"character/skeleton:ankle\"[/" +"code] 或 [code]\"character/mesh:transform/local\"[/code]。\n" +"如果轨道的类型是 [constant Animation.TYPE_POSITION_3D]、[constant Animation." +"TYPE_ROTATION_3D]、或者 [constant Animation.TYPE_SCALE_3D],那么将取消视觉上" +"的变换,其动画看起来将是留在原地。参阅 [method get_root_motion_position]、" +"[method get_root_motion_rotation]、[method get_root_motion_scale]、和 " +"[RootMotionView]。" + msgid "The root animation node of this [AnimationTree]. See [AnimationNode]." msgstr "该 [AnimationTree] 的根动画节点。见 [AnimationNode]。" @@ -9071,6 +9136,9 @@ msgstr "" "[b]注意:[/b]如果动画需要循环或者是被中止的,则不会发出该信号。另外请意识到可" "能存在同步和过渡所导致的不可见的播放。" +msgid "Emitted when the [member anim_player] is changed." +msgstr "当 [member anim_player] 被改变时触发。" + msgid "" "Notifies when an animation starts playing.\n" "[b]Note:[/b] This signal is not emitted if an animation is looping or " @@ -9094,6 +9162,26 @@ msgstr "在空闲帧期间进行动画(即 [method Node._process])。" msgid "The animations will only progress manually (see [method advance])." msgstr "只能手动行进动画(见 [method advance])。" +msgid "2D area for detection, as well as physics and audio influence." +msgstr "用于检测、以及物理和音频影响的 2D 区域。" + +msgid "" +"2D area that detects [CollisionObject2D] nodes overlapping, entering, or " +"exiting. Can also alter or override local physics parameters (gravity, " +"damping) and route audio to custom audio buses.\n" +"To give the area its shape, add a [CollisionShape2D] or a " +"[CollisionPolygon2D] node as a [i]direct[/i] child (or add multiple such " +"nodes as direct children) of the area.\n" +"[b]Warning:[/b] See [ConcavePolygonShape2D] for a warning about possibly " +"unexpected behavior when using that shape for an area." +msgstr "" +"可以检测到 [CollisionObject2D] 节点间的重叠、进入及退出的 2D 区域。也可以修改" +"或覆盖局部的物理参数(重力、阻尼)、将音频导流至自定义的音频总线。\n" +"要为区域设置形状,请将一个 [CollisionShape2D] 或 [CollisionPolygon2D] 节点添" +"加为该区域的[i]直接[/i]子节点(或者添加多个这种节点作为直接子节点)。\n" +"[b]警告:[/b]使用凹多边形(也叫“三角形网格”)作为区域的形状时,可能产生出乎预" +"料的行为,见 [ConcavePolygonShape2D]。" + msgid "Using Area2D" msgstr "使用 Area2D" @@ -9118,6 +9206,81 @@ msgstr "" "改,而不是在物体被移动后立即修改。可考虑改用信号。" msgid "" +"Returns a list of intersecting [PhysicsBody2D]s and [TileMap]s. The " +"overlapping body's [member CollisionObject2D.collision_layer] must be part " +"of this area's [member CollisionObject2D.collision_mask] in order to be " +"detected.\n" +"For performance reasons (collisions are all processed at the same time) this " +"list is modified once during the physics step, not immediately after objects " +"are moved. Consider using signals instead." +msgstr "" +"返回相交的 [PhysicsBody2D] 和 [TileMap]。重叠物体的 [member " +"CollisionObject2D.collision_layer] 必须是该区域 [member CollisionObject2D." +"collision_mask] 的一部分,才能被检测到。\n" +"出于性能原因(所有碰撞都是一起处理的),这个列表只会在每次物理迭代时发生一次" +"更改,不会在对象移动后立即更改。请考虑使用信号。" + +msgid "" +"Returns [code]true[/code] if intersecting any [Area2D]s, otherwise returns " +"[code]false[/code]. The overlapping area's [member CollisionObject2D." +"collision_layer] must be part of this area's [member CollisionObject2D." +"collision_mask] in order to be detected.\n" +"For performance reasons (collisions are all processed at the same time) the " +"list of overlapping areas is modified once during the physics step, not " +"immediately after objects are moved. Consider using signals instead." +msgstr "" +"如果与其他 [Area2D] 相交,则返回 [code]true[/code],否则返回 [code]false[/" +"code]。重叠区域的 [member CollisionObject2D.collision_layer] 必须是该区域 " +"[member CollisionObject2D.collision_mask] 的一部分,才能被检测到。\n" +"出于性能原因(所有碰撞都是一起处理的),重叠区域的列表只会在每次物理迭代时发" +"生一次更改,不会在对象移动后立即更改。请考虑使用信号。" + +msgid "" +"Returns [code]true[/code] if intersecting any [PhysicsBody2D]s or " +"[TileMap]s, otherwise returns [code]false[/code]. The overlapping body's " +"[member CollisionObject2D.collision_layer] must be part of this area's " +"[member CollisionObject2D.collision_mask] in order to be detected.\n" +"For performance reasons (collisions are all processed at the same time) the " +"list of overlapping bodies is modified once during the physics step, not " +"immediately after objects are moved. Consider using signals instead." +msgstr "" +"如果与其他 [PhysicsBody2D] 或 [TileMap] 相交,则返回 [code]true[/code],否则" +"返回 [code]false[/code]。重叠物体的 [member CollisionObject2D." +"collision_layer] 必须是该区域 [member CollisionObject2D.collision_mask] 的一" +"部分,才能被检测到。\n" +"出于性能原因(所有碰撞都是一起处理的),重叠物体的列表只会在每次物理迭代时发" +"生一次更改,不会在对象移动后立即更改。请考虑使用信号。" + +msgid "" +"Returns [code]true[/code] if the given [Area2D] intersects or overlaps this " +"[Area2D], [code]false[/code] otherwise.\n" +"[b]Note:[/b] The result of this test is not immediate after moving objects. " +"For performance, the list of overlaps is updated once per frame and before " +"the physics step. Consider using signals instead." +msgstr "" +"如果给定的 [Area2D] 与此 [Area2D] 相交或重叠,则返回 [code]true[/code],否则" +"返回 [code]false[/code]。\n" +"[b]注意:[/b]测试结果不反映对象移动后的即时状态。出于性能原因,重叠列表每帧只" +"会在物理迭代前更新一次。请考虑使用信号。" + +msgid "" +"Returns [code]true[/code] if the given physics body intersects or overlaps " +"this [Area2D], [code]false[/code] otherwise.\n" +"[b]Note:[/b] The result of this test is not immediate after moving objects. " +"For performance, list of overlaps is updated once per frame and before the " +"physics step. Consider using signals instead.\n" +"The [param body] argument can either be a [PhysicsBody2D] or a [TileMap] " +"instance. While TileMaps are not physics bodies themselves, they register " +"their tiles with collision shapes as a virtual physics body." +msgstr "" +"如果给定的物理物体与此 [Area2D] 相交或重叠,则返回 [code]true[/code],否则返" +"回 [code]false[/code]。\n" +"[b]注意:[/b]测试结果不反映对象移动后的即时状态。出于性能原因,重叠列表每帧只" +"会在物理迭代前更新一次。请考虑使用信号。\n" +"参数 [param body] 可以是 [PhysicsBody2D] 实例,也可以是 [TileMap] 实例。" +"TileMap 虽然不是物理物体,但会把图块的碰撞形状注册为虚拟物理物体。" + +msgid "" "The rate at which objects stop spinning in this area. Represents the angular " "velocity lost per second.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " @@ -9374,6 +9537,9 @@ msgstr "" "这个区域取代了到目前为止计算出的任何重力/阻尼(按 [member priority] 顺序)," "但继续计算其余的区域。" +msgid "3D area for detection, as well as physics and audio influence." +msgstr "用于检测和物理及音频影响的 3D 区域。" + msgid "" "3D area that detects [CollisionObject3D] nodes overlapping, entering, or " "exiting. Can also alter or override local physics parameters (gravity, " @@ -9415,6 +9581,52 @@ msgstr "" "被移动后立即修改。可考虑改用信号。" msgid "" +"Returns a list of intersecting [PhysicsBody3D]s and [GridMap]s. The " +"overlapping body's [member CollisionObject3D.collision_layer] must be part " +"of this area's [member CollisionObject3D.collision_mask] in order to be " +"detected.\n" +"For performance reasons (collisions are all processed at the same time) this " +"list is modified once during the physics step, not immediately after objects " +"are moved. Consider using signals instead." +msgstr "" +"返回相交的 [PhysicsBody3D] 和 [GridMap]。重叠物体的 [member " +"CollisionObject3D.collision_layer] 必须是该区域 [member CollisionObject3D." +"collision_mask] 的一部分,才能被检测到。\n" +"出于性能原因(所有碰撞都是一起处理的),这个列表只会在每次物理迭代时发生一次" +"更改,不会在对象移动后立即更改。请考虑使用信号。" + +msgid "" +"Returns [code]true[/code] if intersecting any [Area3D]s, otherwise returns " +"[code]false[/code]. The overlapping area's [member CollisionObject3D." +"collision_layer] must be part of this area's [member CollisionObject3D." +"collision_mask] in order to be detected.\n" +"For performance reasons (collisions are all processed at the same time) the " +"list of overlapping areas is modified once during the physics step, not " +"immediately after objects are moved. Consider using signals instead." +msgstr "" +"如果与其他 [Area3D] 相交,则返回 [code]true[/code],否则返回 [code]false[/" +"code]。重叠区域的 [member CollisionObject3D.collision_layer] 必须是该区域 " +"[member CollisionObject3D.collision_mask] 的一部分,才能被检测到。\n" +"出于性能原因(所有碰撞都是一起处理的),重叠区域的列表只会在每次物理迭代时发" +"生一次更改,不会在对象移动后立即更改。请考虑使用信号。" + +msgid "" +"Returns [code]true[/code] if intersecting any [PhysicsBody3D]s or " +"[GridMap]s, otherwise returns [code]false[/code]. The overlapping body's " +"[member CollisionObject3D.collision_layer] must be part of this area's " +"[member CollisionObject3D.collision_mask] in order to be detected.\n" +"For performance reasons (collisions are all processed at the same time) the " +"list of overlapping bodies is modified once during the physics step, not " +"immediately after objects are moved. Consider using signals instead." +msgstr "" +"如果与其他 [PhysicsBody3D] 或 [GridMap] 相交,则返回 [code]true[/code],否则" +"返回 [code]false[/code]。重叠物体的 [member CollisionObject3D." +"collision_layer] 必须是该区域 [member CollisionObject3D.collision_mask] 的一" +"部分,才能被检测到。\n" +"出于性能原因(所有碰撞都是一起处理的),重叠物体的列表只会在每次物理迭代时发" +"生一次更改,不会在对象移动后立即更改。请考虑使用信号。" + +msgid "" "Returns [code]true[/code] if the given [Area3D] intersects or overlaps this " "[Area3D], [code]false[/code] otherwise.\n" "[b]Note:[/b] The result of this test is not immediate after moving objects. " @@ -9423,8 +9635,25 @@ msgid "" msgstr "" "如果给定的 [Area3D] 与此 [Area3D] 相交或重叠,则返回 [code]true[/code],否则" "返回 [code]false[/code]。\n" -"[b]注意:[/b]此测试的结果不是在移动实体后立即产生的。为了提高性能,重叠列表每" -"帧仅更新一次,并且在物理步骤之前更新。可考虑改用信号。" +"[b]注意:[/b]测试结果不反映对象移动后的即时状态。出于性能原因,重叠列表每帧只" +"会在物理迭代前更新一次。请考虑使用信号。" + +msgid "" +"Returns [code]true[/code] if the given physics body intersects or overlaps " +"this [Area3D], [code]false[/code] otherwise.\n" +"[b]Note:[/b] The result of this test is not immediate after moving objects. " +"For performance, list of overlaps is updated once per frame and before the " +"physics step. Consider using signals instead.\n" +"The [param body] argument can either be a [PhysicsBody3D] or a [GridMap] " +"instance. While GridMaps are not physics body themselves, they register " +"their tiles with collision shapes as a virtual physics body." +msgstr "" +"如果给定的物理物体与此 [Area3D] 相交或重叠,则返回 [code]true[/code],否则返" +"回 [code]false[/code]。\n" +"[b]注意:[/b]测试结果不反映对象移动后的即时状态。出于性能原因,重叠列表每帧只" +"会在物理迭代前更新一次。请考虑使用信号。\n" +"参数 [param body] 可以是 [PhysicsBody3D] 实例,也可以是 [GridMap] 实例。" +"GridMap 虽然不是物理物体,但会把图块的碰撞形状注册为虚拟物理物体。" msgid "" "The rate at which objects stop spinning in this area. Represents the angular " @@ -9574,105 +9803,60 @@ msgstr "" "[PhysicsBody3D] 或一个 [GridMap]。如果 [GridMap] 的 [MeshLibrary] 配置了碰撞" "形状,就会被检测到。要求 [member monitoring] 被设置为 [code]true[/code] 。" -msgid "A generic array datatype." -msgstr "通用数组数据类型。" - msgid "" -"A generic array that can contain several elements of any type, accessible by " -"a numerical index starting at 0. Negative indices can be used to count from " -"the back, like in Python (-1 is the last element, -2 is the second to last, " -"etc.).\n" -"[b]Example:[/b]\n" -"[codeblocks]\n" -"[gdscript]\n" -"var array = [\"One\", 2, 3, \"Four\"]\n" -"print(array[0]) # One.\n" -"print(array[2]) # 3.\n" -"print(array[-1]) # Four.\n" -"array[2] = \"Three\"\n" -"print(array[-2]) # Three.\n" -"[/gdscript]\n" -"[csharp]\n" -"var array = new Godot.Collections.Array{\"One\", 2, 3, \"Four\"};\n" -"GD.Print(array[0]); // One.\n" -"GD.Print(array[2]); // 3.\n" -"GD.Print(array[array.Count - 1]); // Four.\n" -"array[2] = \"Three\";\n" -"GD.Print(array[array.Count - 2]); // Three.\n" -"[/csharp]\n" -"[/codeblocks]\n" -"Arrays can be concatenated using the [code]+[/code] operator:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var array1 = [\"One\", 2]\n" -"var array2 = [3, \"Four\"]\n" -"print(array1 + array2) # [\"One\", 2, 3, \"Four\"]\n" -"[/gdscript]\n" -"[csharp]\n" -"// Array concatenation is not possible with C# arrays, but is with Godot." -"Collections.Array.\n" -"var array1 = new Godot.Collections.Array{\"One\", 2};\n" -"var array2 = new Godot.Collections.Array{3, \"Four\"};\n" -"GD.Print(array1 + array2); // Prints [One, 2, 3, Four]\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] Concatenating with the [code]+=[/code] operator will create a " -"new array, which has a cost. If you want to append another array to an " -"existing array, [method append_array] is more efficient.\n" -"[b]Note:[/b] Arrays are always passed by reference. To get a copy of an " -"array that can be modified independently of the original array, use [method " -"duplicate].\n" -"[b]Note:[/b] Erasing elements while iterating over arrays is [b]not[/b] " -"supported and will result in unpredictable behavior.\n" -"[b]Note:[/b] When declaring an array with [code]const[/code], the array " -"itself can still be mutated by defining the values at individual indices or " -"pushing/removing elements. Using [code]const[/code] will only prevent " -"assigning the constant with another value after it was initialized." -msgstr "" -"通用数组,可以包含任意类型的多个元素,可以通过从 0 开始的数字索引进行访问。负" -"数索引可以用来从后面数起,就像在 Python 中一样(-1 是最后一个元素、-2 是倒数" -"第二,以此类推)。\n" -"[b]示例:[/b]\n" +"Emitted when a [Shape3D] of the received [param body] enters a shape of this " +"area. [param body] can be a [PhysicsBody3D] or a [GridMap]. [GridMap]s are " +"detected if their [MeshLibrary] has collision shapes configured. Requires " +"[member monitoring] to be set to [code]true[/code].\n" +"[param local_shape_index] and [param body_shape_index] contain indices of " +"the interacting shapes from this area and the interacting body, " +"respectively. [param body_rid] contains the [RID] of the body. These values " +"can be used with the [PhysicsServer3D].\n" +"[b]Example of getting the[/b] [CollisionShape3D] [b]node from the shape " +"index:[/b]\n" "[codeblocks]\n" "[gdscript]\n" -"var array = [\"One\", 2, 3, \"Four\"]\n" -"print(array[0]) # One。\n" -"print(array[2]) # 3。\n" -"print(array[-1]) # Four。\n" -"array[2] = \"Three\"\n" -"print(array[-2]) # Three。\n" +"var body_shape_owner = body.shape_find_owner(body_shape_index)\n" +"var body_shape_node = body.shape_owner_get_owner(body_shape_owner)\n" +"\n" +"var local_shape_owner = shape_find_owner(local_shape_index)\n" +"var local_shape_node = shape_owner_get_owner(local_shape_owner)\n" "[/gdscript]\n" -"[csharp]\n" -"var array = new Godot.Collections.Array{\"One\", 2, 3, \"Four\"};\n" -"GD.Print(array[0]); // One。\n" -"GD.Print(array[2]); // 3。\n" -"GD.Print(array[array.Count - 1]); // Four。\n" -"array[2] = \"Three\";\n" -"GD.Print(array[array.Count - 2]); // Three。\n" -"[/csharp]\n" -"[/codeblocks]\n" -"可以使用 [code]+[/code] 运算符连接数组:\n" +"[/codeblocks]" +msgstr "" +"当接收到的物体 [param body] 中的某个 [Shape3D] 进入此区域中的某个形状时发出。" +"[param body] 可以是 [PhysicsBody3D] 或 [GridMap]。[GridMap] 的 [MeshLibrary] " +"配置有碰撞形状时才能够被检测到。要求将 [member monitoring] 设置为 " +"[code]true[/code]。\n" +"[param local_shape_index] 和 [param body_shape_index] 分别对应此区域中以及交" +"互物体中正在进行交互的形状的索引。[param body_rid] 包含该物体的 [RID]。这些值" +"可以在 [PhysicsServer3D] 中使用。\n" +"[b]根据形状索引获取[/b] [CollisionShape3D] [b]节点的示例:[/b]\n" "[codeblocks]\n" "[gdscript]\n" -"var array1 = [\"One\", 2]\n" -"var array2 = [3, \"Four\"]\n" -"print(array1 + array2) # [\"One\", 2, 3, \"Four\"]\n" +"var body_shape_owner = body.shape_find_owner(body_shape_index)\n" +"var body_shape_node = body.shape_owner_get_owner(body_shape_owner)\n" +"\n" +"var local_shape_owner = shape_find_owner(local_shape_index)\n" +"var local_shape_node = shape_owner_get_owner(local_shape_owner)\n" "[/gdscript]\n" -"[csharp]\n" -"// C# 数组无法进行数组串联,但 Godot.Collections.Array 可以。\n" -"var array1 = new Godot.Collections.Array{\"One\", 2};\n" -"var array2 = new Godot.Collections.Array{3, \"Four\"};\n" -"GD.Print(array1 + array2); // Prints [One, 2, 3, Four]\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]注意:[/b]用 [code]+=[/code] 操作符串联将创建一个新的数组,这是有代价的。" -"如果要将另一个数组追加到现有的数组中,[method append_array] 会更有效。\n" -"[b]注意:[/b]数组总是通过引用来传递。要获得一个可以独立于原始数组而被修改的数" -"组的副本,请使用 [method duplicate]。\n" -"[b]注意:[/b][b]不[/b]支持在遍历数组时擦除元素,这将导致不可预知的行为。\n" -"[b]注意:[/b]当用 [code]const[/code] 声明数组时,数组本身仍然可以通过定义各个" -"索引上的值或追加/移除元素而被修改。使用 [code]const[/code] 只能防止该常量在初" -"始化后被赋值为另一个值。" +"[/codeblocks]" + +msgid "" +"Emitted when a [Shape3D] of the received [param body] exits a shape of this " +"area. [param body] can be a [PhysicsBody3D] or a [GridMap]. [GridMap]s are " +"detected if their [MeshLibrary] has collision shapes configured. Requires " +"[member monitoring] to be set to [code]true[/code].\n" +"See also [signal body_shape_entered]." +msgstr "" +"当接收到的物体 [param body] 中的某个 [Shape3D] 离开此区域中的某个形状时发出。" +"[param body] 可以是 [PhysicsBody3D] 或 [GridMap]。[GridMap] 的 [MeshLibrary] " +"配置有碰撞形状时才能够被检测到。要求将 [member monitoring] 设置为 " +"[code]true[/code]。\n" +"另见 [signal body_shape_entered]。" + +msgid "A generic array datatype." +msgstr "通用数组数据类型。" msgid "Constructs an empty [Array]." msgstr "构造空的 [Array]。" @@ -9869,6 +10053,40 @@ msgstr "" "的,当从编辑器运行时,按索引访问将暂停项目的执行。" msgid "" +"Finds the index of an existing value (or the insertion index that maintains " +"sorting order, if the value is not yet present in the array) using binary " +"search. Optionally, a [param before] specifier can be passed. If " +"[code]false[/code], the returned index comes after all existing entries of " +"the value in the array.\n" +"[b]Note:[/b] Calling [method bsearch] on an unsorted array results in " +"unexpected behavior." +msgstr "" +"使用二进法查找已有值的索引(如果该值尚未存在于数组中,则为保持排序顺序的插入" +"索引)。传递 [param before] 说明符是可选的。如果该参数为 [code]false[/code]," +"则返回的索引位于数组中该值的所有已有的条目之后。\n" +"[b]注意:[/b]在未排序的数组上调用 [method bsearch] 会产生预料之外的行为。" + +msgid "" +"Finds the index of an existing value (or the insertion index that maintains " +"sorting order, if the value is not yet present in the array) using binary " +"search and a custom comparison method. Optionally, a [param before] " +"specifier can be passed. If [code]false[/code], the returned index comes " +"after all existing entries of the value in the array. The custom method " +"receives two arguments (an element from the array and the value searched " +"for) and must return [code]true[/code] if the first argument is less than " +"the second, and return [code]false[/code] otherwise.\n" +"[b]Note:[/b] Calling [method bsearch_custom] on an unsorted array results in " +"unexpected behavior." +msgstr "" +"使用二分法和自定义比较方法查找已有值的索引(如果该值尚未存在于数组中,则为保" +"持排序顺序的插入索引)。传递 [param before] 说明符是可选的。如果该参数为 " +"[code]false[/code],则返回的索引位于数组中该值的所有已有条目之后。自定义方法" +"接收两个参数(数组中的一个元素和搜索到的值),如果第一个参数小于第二个参数," +"则必须返回 [code]true[/code],否则返回 [code]false[/code] .\n" +"[b]注意:[/b]在未排序的数组上调用 [method bsearch_custom] 会产生预料之外的行" +"为。" + +msgid "" "Clears the array. This is equivalent to using [method resize] with a size of " "[code]0[/code]." msgstr "清空数组。相当于调用 [method resize] 时指定大小为 [code]0[/code]。" @@ -9877,6 +10095,23 @@ msgid "Returns the number of times an element is in the array." msgstr "返回元素在数组中出现的次数。" msgid "" +"Returns a copy of the array.\n" +"If [param deep] is [code]true[/code], a deep copy is performed: all nested " +"arrays and dictionaries are duplicated and will not be shared with the " +"original array. If [code]false[/code], a shallow copy is made and references " +"to the original nested arrays and dictionaries are kept, so that modifying a " +"sub-array or dictionary in the copy will also impact those referenced in the " +"source array. Note that any [Object]-derived elements will be shallow copied " +"regardless of the [param deep] setting." +msgstr "" +"返回该数组的副本。\n" +"[param deep] 为 [code]true[/code] 时会执行深拷贝:所有嵌套数组和字典都将被复" +"制,且不会与原始数组共享。为 [code]false[/code] 时则进行浅拷贝,并保留对原始" +"嵌套数组和字典的引用,因此修改副本中的子数组或字典,也会影响源数组中引用的子" +"数组或字典。请注意,无论 [param deep] 如何设置,任何 [Object] 派生的元素都是" +"浅拷贝的。" + +msgid "" "Removes the first occurrence of a value from the array. If the value does " "not exist in the array, nothing happens. To remove an element by index, use " "[method remove_at] instead.\n" @@ -9988,6 +10223,79 @@ msgstr "" msgid "Returns a class name of a typed [Array] of type [constant TYPE_OBJECT]." msgstr "返回类型为 [constant TYPE_OBJECT] 的 类型化 [Array] 的类名。" +msgid "Returns the script associated with a typed array tied to a class name." +msgstr "返回与此类型化数组绑定的类名关联的脚本。" + +msgid "" +"Returns [code]true[/code] if the array contains the given value.\n" +"[codeblocks]\n" +"[gdscript]\n" +"print([\"inside\", 7].has(\"inside\")) # True\n" +"print([\"inside\", 7].has(\"outside\")) # False\n" +"print([\"inside\", 7].has(7)) # True\n" +"print([\"inside\", 7].has(\"7\")) # False\n" +"[/gdscript]\n" +"[csharp]\n" +"var arr = new Godot.Collections.Array { \"inside\", 7 };\n" +"// has is renamed to Contains\n" +"GD.Print(arr.Contains(\"inside\")); // True\n" +"GD.Print(arr.Contains(\"outside\")); // False\n" +"GD.Print(arr.Contains(7)); // True\n" +"GD.Print(arr.Contains(\"7\")); // False\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator as " +"follows:\n" +"[codeblocks]\n" +"[gdscript]\n" +"# Will evaluate to `true`.\n" +"if 2 in [2, 4, 6, 8]:\n" +" print(\"Contains!\")\n" +"[/gdscript]\n" +"[csharp]\n" +"// As there is no \"in\" keyword in C#, you have to use Contains\n" +"var array = new Godot.Collections.Array { 2, 4, 6, 8 };\n" +"if (array.Contains(2))\n" +"{\n" +" GD.Print(\"Contains!\");\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"如果该数组包含给定值,则返回 [code]true[/code]。\n" +"[codeblocks]\n" +"[gdscript]\n" +"print([\"inside\", 7].has(\"inside\")) # 真\n" +"print([\"inside\", 7].has(\"outside\")) # 假\n" +"print([\"inside\", 7].has(7)) # 真\n" +"print([\"inside\", 7].has(\"7\")) # 假\n" +"[/gdscript]\n" +"[csharp]\n" +"var arr = new Godot.Collections.Array { \"inside\", 7 };\n" +"// has 被改名为 Contains\n" +"GD.Print(arr.Contains(\"inside\")); // 真\n" +"GD.Print(arr.Contains(\"outside\")); // 假\n" +"GD.Print(arr.Contains(7)); // 真\n" +"GD.Print(arr.Contains(\"7\")); // 假\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]注意:[/b]这相当于使用 [code]in[/code] 运算符,如下所示:\n" +"[codeblocks]\n" +"[gdscript]\n" +"# 将评估为`true`。\n" +"if 2 in [2, 4, 6, 8]:\n" +" print(\"包含!\")\n" +"[/gdscript]\n" +"[csharp]\n" +"// 由于 C# 中没有关键字“in”,因此必须使用 Contains\n" +"var array = new Godot.Collections.Array { 2, 4, 6, 8 };\n" +"if (array.Contains(2))\n" +"{\n" +" GD.Print(\"包含!\");\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + msgid "" "Returns a hashed 32-bit integer value representing the array and its " "contents.\n" @@ -10019,10 +10327,34 @@ msgid "Returns [code]true[/code] if the array is empty." msgstr "该数组为空时,返回 [code]true[/code]。" msgid "" +"Returns [code]true[/code] if the array is read-only. See [method " +"make_read_only]. Arrays are automatically read-only if declared with " +"[code]const[/code] keyword." +msgstr "" +"如果该数组只读,则返回 [code]true[/code]。见 [method make_read_only]。如果数" +"组是用 [code]const[/code] 关键字声明的,则自动只读。" + +msgid "" "Returns [code]true[/code] if the array is typed the same as [param array]." msgstr "如果该数组的类型与 [param array] 相同,则返回 [code]true[/code]。" msgid "" +"Returns [code]true[/code] if the array is typed. Typed arrays can only store " +"elements of their associated type and provide type safety for the [code][][/" +"code] operator. Methods of typed array still return [Variant]." +msgstr "" +"如果该数组是类型化的,则返回 [code]true[/code]。类型化数组只能存储与其关联类" +"型的元素,能够为其 [code][][/code] 运算符提供类型安全支持。类型化数组的方法仍" +"然返回 [Variant]。" + +msgid "" +"Makes the array read-only, i.e. disabled modifying of the array's elements. " +"Does not apply to nested content, e.g. content of nested arrays." +msgstr "" +"使该数组只读,即禁止修改该数组的元素。不适用于嵌套的内容,例如嵌套数组的内" +"容。" + +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 " @@ -10095,6 +10427,24 @@ msgstr "" "[/codeblocks]" msgid "" +"Removes and returns the element of the array at index [param position]. If " +"negative, [param position] is considered relative to the end of the array. " +"Leaves the array untouched and returns [code]null[/code] if the array is " +"empty or if it's accessed out of bounds. An error message is printed when " +"the array is accessed out of bounds, but not when the array is empty.\n" +"[b]Note:[/b] On large arrays, this method can be slower than [method " +"pop_back] as it will reindex the array's elements that are located after the " +"removed element. The larger the array and the lower the index of the removed " +"element, the slower [method pop_at] will be." +msgstr "" +"移除并返回数组中位于 [param position] 索引处的元素。如果 [param position] 为" +"负数,则认为是相对于该数组末尾的值。如果该数组为空,则返回 [code]null[/" +"code],不会改动数组。数组访问越界时会输出错误消息,但如果数组为空时不会。\n" +"[b]注意:[/b]在较大的数组上,这个方法会比 [method pop_back] 慢,因为会对移除" +"元素后的数组元素重新进行索引。数组越大,或者移除元素的索引越小,[method " +"pop_at] 就越慢。" + +msgid "" "Removes and returns the last element of the array. Returns [code]null[/code] " "if the array is empty, without printing an error message. See also [method " "pop_front]." @@ -10131,6 +10481,39 @@ msgstr "" "都会重新索引所有数组的元素。数组越大,[method push_front] 的速度就越慢。" msgid "" +"Calls the provided [Callable] for each element in array and accumulates the " +"result in [param accum].\n" +"The callable's method takes two arguments: the current value of [param " +"accum] and the current array element. If [param accum] is [code]null[/code] " +"(default value), the iteration will start from the second element, with the " +"first one used as initial value of [param accum].\n" +"[codeblock]\n" +"func _ready():\n" +" print([1, 2, 3].reduce(sum, 10)) # Prints 16.\n" +" print([1, 2, 3].reduce(func(accum, number): return accum + number, 10)) " +"# Same as above, but using lambda function.\n" +"\n" +"func sum(accum, number):\n" +" return accum + number\n" +"[/codeblock]\n" +"See also [method map], [method filter], [method any] and [method all]." +msgstr "" +"为数组中的每个元素调用给定的 [Callable] 并将结果累积在 [param accum] 中。\n" +"该可调用体的方法接受两个参数:[param accum] 的当前值,以及当前的数组元素。如" +"果 [param accum] 为 [code]null[/code](默认值),则会从第二个元素开始迭代,将" +"第一个元素作为 [param accum] 的初始值。\n" +"[codeblock]\n" +"func _ready():\n" +" print([1, 2, 3].reduce(sum, 10)) # 输出 16.\n" +" print([1, 2, 3].reduce(func(accum, number): return accum + number, 10)) " +"# 同上,但使用 lambda 函数。\n" +"\n" +"func sum(accum, number):\n" +" return accum + number\n" +"[/codeblock]\n" +"另见 [method map]、[method filter]、[method any]、[method all]。" + +msgid "" "Removes an element from the array by index. If the index does not exist in " "the array, nothing happens. To remove an element by searching for its value, " "use [method erase] instead.\n" @@ -10178,6 +10561,35 @@ msgid "Returns the number of elements in the array." msgstr "返回数组中元素的个数。" msgid "" +"Returns the slice of the [Array], from [param begin] (inclusive) to [param " +"end] (exclusive), as a new [Array].\n" +"The absolute value of [param begin] and [param end] will be clamped to the " +"array size, so the default value for [param end] makes it slice to the size " +"of the array by default (i.e. [code]arr.slice(1)[/code] is a shorthand for " +"[code]arr.slice(1, arr.size())[/code]).\n" +"If either [param begin] or [param end] are negative, they will be relative " +"to the end of the array (i.e. [code]arr.slice(0, -2)[/code] is a shorthand " +"for [code]arr.slice(0, arr.size() - 2)[/code]).\n" +"If specified, [param step] is the relative index between source elements. It " +"can be negative, then [param begin] must be higher than [param end]. For " +"example, [code][0, 1, 2, 3, 4, 5].slice(5, 1, -2)[/code] returns [code][5, 3]" +"[/code].\n" +"If [param deep] is true, each element will be copied by value rather than by " +"reference." +msgstr "" +"返回该 [Array] 的切片,是从 [param begin](含)到 [param end](不含)的全新 " +"[Array]。\n" +"[param begin] 和 [param end] 的绝对值会按数组大小进行限制,所以 [param end] " +"的默认值会切到数组大小为止(即 [code]arr.slice(1)[/code] 是 [code]arr." +"slice(1, arr.size())[/code] 的简写)。\n" +"如果 [param begin] 或 [param end] 为负,则表示相对于数组的末尾(即 [code]arr." +"slice(0, -2)[/code] 是 [code]arr.slice(0, arr.size() - 2)[/code] 的简写)。\n" +"如果指定了 [param step],则会用作原始元素的索引间距。这个参数可以为负,此时 " +"[param begin] 必须大于 [param end]。例如,[code][0, 1, 2, 3, 4, 5].slice(5, " +"1, -2)[/code] 会返回 [code][5, 3][/code]。\n" +"如果 [param deep] 为 true,则每个元素都会按值复制,而不是按引用复制。" + +msgid "" "Sorts the array.\n" "[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/" "wiki/Sorting_algorithm#Stability]stable[/url]. This means that values " @@ -10299,6 +10711,57 @@ msgstr "" msgid "" "Compares the left operand [Array] against the [param right] [Array]. Returns " +"[code]true[/code] if the sizes or contents of the arrays are [i]not[/i] " +"equal, [code]false[/code] otherwise." +msgstr "" +"将左操作数 [Array] 与右操作数 [param right] [Array] 进行比较。如果大小或内容" +"[i]不相等[/i],则返回 [code]true[/code],否则返回 [code]false[/code]。" + +msgid "" +"Concatenates two [Array]s together, with the [param right] [Array] being " +"added to the end of the [Array] specified in the left operand. For example, " +"[code][1, 2] + [3, 4][/code] results in [code][1, 2, 3, 4][/code]." +msgstr "" +"连接两个 [Array],右操作数 [param right] [Array] 加到左操作数指定的 [Array] " +"的末尾。例如,[code][1, 2] + [3, 4][/code] 的结果是 [code][1, 2, 3, 4][/" +"code]。" + +msgid "" +"Performs a comparison for each index between the left operand [Array] and " +"the [param right] [Array], considering the highest common index of both " +"arrays for this comparison: Returns [code]true[/code] on the first " +"occurrence of an element that is less, or [code]false[/code] if the element " +"is greater. Note that depending on the type of data stored, this function " +"may be recursive. If all elements are equal, it compares the length of both " +"arrays and returns [code]false[/code] if the left operand [Array] has fewer " +"elements, otherwise it returns [code]true[/code]." +msgstr "" +"对左操作数 [Array] 和右操作数 [param right] [Array] 之间的各个索引进行比较," +"考虑两个数组的最高公共索引:遇到第一个不同的元素时,如果该元素较小则返回 " +"[code]true[/code],如果该元素较大则返回 [code]false[/code]。请注意,部分类型" +"的存储数据可能导致本函数的递归调用。如果所有元素都相等,则比较两个数组的长" +"度,如果左操作数 [Array] 元素较少则返回 [code]false[/code],否则返回 " +"[code]true[/code]。" + +msgid "" +"Performs a comparison for each index between the left operand [Array] and " +"the [param right] [Array], considering the highest common index of both " +"arrays for this comparison: Returns [code]true[/code] on the first " +"occurrence of an element that is less, or [code]false[/code] if the element " +"is greater. Note that depending on the type of data stored, this function " +"may be recursive. If all elements are equal, it compares the length of both " +"arrays and returns [code]true[/code] if the left operand [Array] has the " +"same number of elements or fewer, otherwise it returns [code]false[/code]." +msgstr "" +"对左操作数 [Array] 和右操作数 [param right] [Array] 之间的各个索引进行比较," +"考虑两个数组的最高公共索引:遇到第一个不同的元素时,如果该元素较小则返回 " +"[code]true[/code],如果该元素较大则返回 [code]false[/code]。请注意,部分类型" +"的存储数据可能导致本函数的递归调用。如果所有元素都相等,则比较两个数组的长" +"度,如果左操作数 [Array] 元素数量相等或较少则返回 [code]true[/code],否则返" +"回 [code]false[/code]。" + +msgid "" +"Compares the left operand [Array] against the [param right] [Array]. Returns " "[code]true[/code] if the sizes and contents of the arrays are equal, " "[code]false[/code] otherwise." msgstr "" @@ -10306,6 +10769,41 @@ msgstr "" "等,则返回 [code]true[/code],否则返回 [code]false[/code]。" msgid "" +"Performs a comparison for each index between the left operand [Array] and " +"the [param right] [Array], considering the highest common index of both " +"arrays for this comparison: Returns [code]true[/code] on the first " +"occurrence of an element that is greater, or [code]false[/code] if the " +"element is less. Note that depending on the type of data stored, this " +"function may be recursive. If all elements are equal, it compares the length " +"of both arrays and returns [code]true[/code] if the [param right] [Array] " +"has more elements, otherwise it returns [code]false[/code]." +msgstr "" +"对左操作数 [Array] 和右操作数 [param right] [Array] 之间的各个索引进行比较," +"考虑两个数组的最高公共索引:遇到第一个不同的元素时,如果该元素较大则返回 " +"[code]true[/code],如果该元素较小则返回 [code]false[/code]。请注意,部分类型" +"的存储数据可能导致本函数的递归调用。如果所有元素都相等,则比较两个数组的长" +"度,如果左操作数 [Array] 元素较多则返回 [code]true[/code],否则返回 " +"[code]false[/code]。" + +msgid "" +"Performs a comparison for each index between the left operand [Array] and " +"the [param right] [Array], considering the highest common index of both " +"arrays for this comparison: Returns [code]true[/code] on the first " +"occurrence of an element that is greater, or [code]false[/code] if the " +"element is less. Note that depending on the type of data stored, this " +"function may be recursive. If all elements are equal, it compares the length " +"of both arrays and returns [code]true[/code] if the [param right] [Array] " +"has more or the same number of elements, otherwise it returns [code]false[/" +"code]." +msgstr "" +"对左操作数 [Array] 和右操作数 [param right] [Array] 之间的各个索引进行比较," +"考虑两个数组的最高公共索引:遇到第一个不同的元素时,如果该元素较大则返回 " +"[code]true[/code],如果该元素较小则返回 [code]false[/code]。请注意,部分类型" +"的存储数据可能导致本函数的递归调用。如果所有元素都相等,则比较两个数组的长" +"度,如果左操作数 [Array] 元素数量相等或较多则返回 [code]true[/code],否则返" +"回 [code]false[/code]。" + +msgid "" "[Mesh] type that provides utility for constructing a surface from arrays." msgstr "[Mesh] 网格类型,提供了用于从数组构造表面的工具。" @@ -11182,6 +11680,15 @@ msgstr "" "如果对于给定的 [param id] 已经存在一个点,它的位置和权重将被更新为给定的值。" msgid "" +"Returns whether the two given points are directly connected by a segment. If " +"[param bidirectional] is [code]false[/code], returns whether movement from " +"[param id] to [param to_id] is possible through this segment." +msgstr "" +"返回两个给定点是否通过线段直接连接。如果 [param bidirectional] 为 " +"[code]false[/code],则返回是否可以通过该线段从 [param id] 移动到 [param " +"to_id]。" + +msgid "" "Creates a segment between the given points. If [param bidirectional] is " "[code]false[/code], only movement from [param id] to [param to_id] is " "allowed, not the reverse direction.\n" @@ -11419,6 +11926,11 @@ msgstr "" "路径的起点到终点排序。" msgid "" +"Indicates that the grid parameters were changed and [method update] needs to " +"be called." +msgstr "表示网格参数发生改变,需要调用 [method update]。" + +msgid "" "Returns [code]true[/code] if the [param x] and [param y] is a valid grid " "coordinate (id)." msgstr "" @@ -11431,6 +11943,13 @@ msgid "" msgstr "如果 [param id] 向量是有效的网格坐标,则返回 [code]true[/code]。" msgid "" +"Returns [code]true[/code] if a point is disabled for pathfinding. By " +"default, all points are enabled." +msgstr "" +"如果寻路时会禁用某个点,则返回 [code]true[/code]。默认情况下,所有点均处于启" +"用状态。" + +msgid "" "Disables or enables the specified point for pathfinding. Useful for making " "an obstacle. By default, all points are enabled.\n" "[b]Note:[/b] Calling [method update] is not needed after the call of this " @@ -11530,6 +12049,13 @@ msgstr "" msgid "Captures audio from an audio bus in real-time." msgstr "从音频总线上实时捕捉音频。" +msgid "" +"Returns [code]true[/code] if at least [param frames] audio frames are " +"available to read in the internal ring buffer." +msgstr "" +"如果内部环形缓冲区中至少有 [param frames] 个音频帧可供读取,则返回 " +"[code]true[/code]。" + msgid "Clears the internal ring buffer." msgstr "清除内部环形缓冲区。" @@ -12453,6 +12979,46 @@ msgstr "解锁音频驱动程序的主循环。(锁定后,你始终需要手 msgid "Number of available audio buses." msgstr "可用音频总线的数量。" +msgid "" +"Name of the current device for audio input (see [method " +"get_input_device_list]). On systems with multiple audio inputs (such as " +"analog, USB and HDMI audio), this can be used to select the audio input " +"device. The value [code]\"Default\"[/code] will record audio on the system-" +"wide default audio input. If an invalid device name is set, the value will " +"be reverted back to [code]\"Default\"[/code].\n" +"[b]Note:[/b] [member ProjectSettings.audio/driver/enable_input] must be " +"[code]true[/code] for audio input to work. See also that setting's " +"description for caveats related to permissions and operating system privacy " +"settings." +msgstr "" +"当前音频输入设备的名称(见 [method get_input_device_list])。在具有多个音频输" +"入(例如模拟、USB、HDMI 音频)的系统中,可用于选择音频输入设备。为 " +"[code]\"Default\"[/code] 时会从系统默认的音频输入录制音频。如果设置了无效的设" +"备名称,该值会被恢复为 [code]\"Default\"[/code]。\n" +"[b]注意:[/b][member ProjectSettings.audio/driver/enable_input] 必须为 " +"[code]true[/code] 音频输入才能正常工作。另请参阅该设置项的描述,了解权限和操" +"作系统隐私设置相关的说明。" + +msgid "" +"Name of the current device for audio output (see [method " +"get_output_device_list]). On systems with multiple audio outputs (such as " +"analog, USB and HDMI audio), this can be used to select the audio output " +"device. The value [code]\"Default\"[/code] will play audio on the system-" +"wide default audio output. If an invalid device name is set, the value will " +"be reverted back to [code]\"Default\"[/code]." +msgstr "" +"当前音频输出设备的名称(见 [method get_output_device_list])。在具有多个音频" +"输出(例如模拟、USB、HDMI 音频)的系统中,可用于选择音频输出设备。为 " +"[code]\"Default\"[/code] 时会从系统默认的音频输出播放音频。如果设置了无效的设" +"备名称,该值会被恢复为 [code]\"Default\"[/code]。" + +msgid "" +"Scales the rate at which audio is played (i.e. setting it to [code]0.5[/" +"code] will make the audio be played at half its speed)." +msgstr "" +"音频播放的缩放速率(即将其设置为 [code]0.5[/code] 将使音频以其一半的速度播" +"放)。" + msgid "Emitted when the [AudioBusLayout] changes." msgstr "当 [AudioBusLayout] 改变时发出。" @@ -12488,6 +13054,18 @@ msgstr "音频生成器演示" msgid "Returns the length of the audio stream in seconds." msgstr "返回音频流的长度,单位为秒。" +msgid "" +"Returns an AudioStreamPlayback. Useful for when you want to extend [method " +"_instantiate_playback] but call [method instantiate_playback] from an " +"internally held AudioStream subresource. An example of this can be found in " +"the source files for [code]AudioStreamRandomPitch::instantiate_playback[/" +"code]." +msgstr "" +"返回一个 AudioStreamPlayback。当想要扩展 [method _instantiate_playback],但从" +"一个内部持有的 AudioStream 子资源调用 [method instantiate_playback] 时很有" +"用。在 [code]AudioStreamRandomPitch::instantiate_playback[/code] 的源文件中可" +"以找到这方面的示例。" + msgid "Audio stream that generates sounds procedurally." msgstr "使用程序生成声音的音频流。" @@ -12533,6 +13111,14 @@ msgid "" "generated audio in real-time." msgstr "此类旨在与 [AudioStreamGenerator] 一起使用以实时播放生成的音频。" +msgid "" +"Returns [code]true[/code] if a buffer of the size [param amount] can be " +"pushed to the audio sample data buffer without overflowing it, [code]false[/" +"code] otherwise." +msgstr "" +"如果可以将大小为 [param amount] 的缓冲区推送到音频采样数据缓冲区而不会使其溢" +"出,则返回 [code]true[/code],否则返回 [code]false[/code]。" + msgid "Clears the audio sample data buffer." msgstr "清除音频样本数据缓冲区。" @@ -12660,6 +13246,11 @@ msgid "" "[AudioStreamPlayer]." msgstr "返回与此 [AudioStreamPlayer] 关联的 [AudioStreamPlayback] 对象。" +msgid "" +"Returns whether the [AudioStreamPlayer] can return the [AudioStreamPlayback] " +"object or not." +msgstr "返回该 [AudioStreamPlayer] 是否能够返回 [AudioStreamPlayback] 对象。" + msgid "Plays the audio from the given [param from_position], in seconds." msgstr "从给定的位置 [param from_position] 播放音频,以秒为单位。" @@ -12880,6 +13471,17 @@ msgid "Stores audio data loaded from WAV files." msgstr "存储从 WAV 文件加载的音频数据。" msgid "" +"Saves the AudioStreamWAV as a WAV file to [param path]. Samples with IMA " +"ADPCM format can't be saved.\n" +"[b]Note:[/b] A [code].wav[/code] extension is automatically appended to " +"[param path] if it is missing." +msgstr "" +"将 AudioStreamWAV 作为 WAV 文件保存到 [param path]。无法保存 IMA ADPCM 格式的" +"样本。\n" +"[b]注意:[/b]如果缺少 [code].wav[/code] 扩展名,则会自动将其追加到 [param " +"path]。" + +msgid "" "Contains the audio data in bytes.\n" "[b]Note:[/b] This property expects signed PCM8 data. To convert unsigned " "PCM8 to signed PCM8, subtract 128 from each byte." @@ -12971,6 +13573,25 @@ msgid "" msgstr "" "音频在 [member loop_begin] 和 [member loop_end] 之间循环数据,仅向后播放。" +msgid "" +"Node for back-buffering the currently-displayed screen. The region defined " +"in the [BackBufferCopy] node is buffered with the content of the screen it " +"covers, or the entire screen according to the copy mode set. Use the screen " +"texture in your shader scripts to access the buffer.\n" +"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), " +"anchors and margins won't apply to child [Control]-derived nodes. This can " +"be problematic when resizing the window. To avoid this, add [Control]-" +"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of " +"adding them as children." +msgstr "" +"用于后台缓冲当前显示屏幕的节点。根据设置的复制模式,[BackBufferCopy] 节点中定" +"义的区域使用它覆盖的屏幕内容或整个屏幕进行缓冲。在着色器脚本中使用屏幕纹理来" +"访问缓冲区。\n" +"[b]注意:[/b]由于该节点继承自 [Node2D](而非 [Control]),因此锚点和边距不适" +"用于子 [Control] 派生节点。这在调整窗口大小时可能会出现问题。为避免这种情况," +"请将 [Control] 派生节点添加为 [BackBufferCopy] 节点的[i]同级[/i]节点,而不是" +"将它们添加为子节点。" + msgid "Buffer mode. See [enum CopyMode] constants." msgstr "缓冲区模式。见 [enum CopyMode] 常量。" @@ -13134,6 +13755,10 @@ msgstr "" "如果指定的标志被启用,返回 [code]true[/code]。选项见 [enum Flags] 枚举值。" msgid "" +"Returns the [Texture2D] associated with the specified [enum TextureParam]." +msgstr "返回与指定 [enum TextureParam] 关联的 [Texture2D]。" + +msgid "" "If [code]true[/code], enables the specified flag. Flags are optional " "behavior that can be turned on and off. Only one flag can be enabled at a " "time with this function, the flag enumerators cannot be bit-masked together " @@ -13146,6 +13771,25 @@ msgstr "" "用或禁用多个标志。也可以通过将相应成员设置为 [code]true[/code] 来启用标志。选" "项见 [enum Flags] 枚举值。" +msgid "" +"If [code]true[/code], forces a conversion of the [member albedo_texture] " +"from sRGB color space to linear color space. See also [member " +"vertex_color_is_srgb].\n" +"This should only be enabled when needed (typically when using a " +"[ViewportTexture] as [member albedo_texture]). If [member " +"albedo_texture_force_srgb] is [code]true[/code] when it shouldn't be, the " +"texture will appear to be too dark. If [member albedo_texture_force_srgb] is " +"[code]false[/code] when it shouldn't be, the texture will appear to be too " +"bright." +msgstr "" +"如果为 [code]true[/code],则强制将 [member albedo_texture] 从 sRGB 颜色空间转" +"换为线性颜色空间。另见 [member vertex_color_is_srgb]。\n" +"该属性应该只在需要时启用(通常在使用 [ViewportTexture] 作为 [member " +"albedo_texture] 时)。如果 [member albedo_texture_force_srgb] 在不应该的情况" +"下为 [code]true[/code],则纹理会显得太暗。如果 [member " +"albedo_texture_force_srgb] 在不应该的情况下为 [code]false[/code],则纹理会显" +"得太亮。" + msgid "The type of alpha antialiasing to apply. See [enum AlphaAntiAliasing]." msgstr "要应用的 Alpha 抗锯齿类型。见 [enum AlphaAntiAliasing]。" @@ -13244,6 +13888,11 @@ msgstr "" "B通道中,将环境遮挡存储在G通道中,就可以减少您使用的纹理数量。" msgid "" +"The color used by the backlight effect. Represents the light passing through " +"an object." +msgstr "背光效果使用的颜色。表示穿过物体的光。" + +msgid "" "Controls how the object faces the camera. See [enum BillboardMode].\n" "[b]Note:[/b] Billboard mode is not suitable for VR because the left-right " "vector of the camera is not horizontal when the screen is attached to your " @@ -13415,6 +14064,13 @@ msgstr "" "有轮廓连接到一起,和原始网格一致。" msgid "" +"Grows object vertices in the direction of their normals. Only effective if " +"[member grow] is [code]true[/code]." +msgstr "" +"将对象的顶点沿着对应的法线方向生长。仅在 [member grow] 为 [code]true[/code] " +"时有效。" + +msgid "" "A high value makes the material appear more like a metal. Non-metals use " "their albedo as the diffuse color and add diffuse to the specular " "reflection. With non-metals, the reflection appears on top of the albedo " @@ -13455,6 +14111,12 @@ msgid "" "in render order." msgstr "如果为 [code]true[/code],深度测试被禁用,对象将按渲染顺序绘制。" +msgid "" +"If [code]true[/code], normal mapping is enabled. This has a slight " +"performance cost, especially on mobile GPUs." +msgstr "" +"如果为 [code]true[/code],则启用法线映射。略微影响性能,尤其在移动 GPU 上。" + msgid "The strength of the normal map's effect." msgstr "法线贴图的效果强度。" @@ -13811,14 +14473,40 @@ msgstr "使用 [code]UV[/code] 与细节纹理。" msgid "Use [code]UV2[/code] with the detail texture." msgstr "使用 [code]UV2[/code] 与细节纹理。" +msgid "The material will not use transparency. This is the fastest to render." +msgstr "该材质将不使用透明度。渲染最快。" + +msgid "" +"The material will use the texture's alpha values for transparency. This is " +"the slowest to render, and disables shadow casting." +msgstr "该材质将使用纹理的 alpha 值作为透明度。渲染最慢,会禁用阴影投射。" + +msgid "" +"The material will cut off all values below a threshold, the rest will remain " +"opaque. The opaque portions will be rendered in the depth prepass. This is " +"faster to render than alpha blending, but slower than opaque rendering. This " +"also supports casting shadows." +msgstr "" +"该材质会将低于某个阈值的值截断,其他部分保持不透明。不透明部分在深度预渲染阶" +"段进行渲染。比 Alpha 混合快,但比不透明渲染慢。支持投射阴影。" + msgid "" "The material will cut off all values below a spatially-deterministic " "threshold, the rest will remain opaque. This is faster to render than alpha " "blending, but slower than opaque rendering. This also supports casting " "shadows. Alpha hashing is suited for hair rendering." msgstr "" -"该材质将截断所有低于空间确定性阈值的值,其余值将保持不透明。这比 Alpha 混合渲" -"染速度更快,但比不透明渲染慢。这也支持投射阴影。Alpha 哈希适合毛发渲染。" +"该材质会将低于某个空间确定性阈值的值截断,其他部分保持不透明。比 Alpha 混合" +"快,但比不透明渲染慢。支持投射阴影。Alpha 哈希适合毛发渲染。" + +msgid "" +"The material will use the texture's alpha value for transparency, but will " +"discard fragments with an alpha of less than 0.99 during the depth prepass " +"and fragments with an alpha less than 0.1 during the shadow pass. This also " +"supports casting shadows." +msgstr "" +"该材质将使用纹理的 alpha 值作为透明度,但会在深度预渲染阶段丢弃 alpha 小于 " +"0.99 的片段,在阴影阶段丢弃 alpha 小于 0.1 的片段。支持投射阴影。" msgid "Represents the size of the [enum Transparency] enum." msgstr "代表 [enum Transparency] 枚举的大小。" @@ -13957,6 +14645,9 @@ msgstr "禁用接收环境光。" msgid "Enables the shadow to opacity feature." msgstr "启用阴影到不透明度功能。" +msgid "Enables multichannel signed distance field rendering shader." +msgstr "启用多通道有符号距离场渲染着色器。" + msgid "Represents the size of the [enum Flags] enum." msgstr "代表 [enum Flags] 枚举的大小。" @@ -14098,6 +14789,20 @@ msgid "Returns the inverse of the matrix." msgstr "返回矩阵的逆值。" msgid "" +"Returns [code]true[/code] if this basis and [param b] are approximately " +"equal, by calling [code]is_equal_approx[/code] on each component." +msgstr "" +"如果该基矩阵和 [param b] 近似相等,则返回 [code]true[/code],确定近似相等的方" +"法是在每个分量上调用 [code]is_equal_approx[/code]。" + +msgid "" +"Returns [code]true[/code] if this basis is finite, by calling [method " +"@GlobalScope.is_finite] on each component." +msgstr "" +"如果该基矩阵是有限的,则返回 [code]true[/code],确定是否是有限的方法是在每个" +"分量上调用 [method @GlobalScope.is_finite]。" + +msgid "" "Creates a Basis with a rotation such that the forward axis (-Z) points " "towards the [param target] position.\n" "The up axis (+Y) points as close to the [param up] vector as possible while " @@ -14180,9 +14885,32 @@ msgid "" "transformation." msgstr "在变换中使用时,会沿 Z 轴翻转某物的基。" +msgid "" +"Returns [code]true[/code] if the [Basis] matrices are not equal.\n" +"[b]Note:[/b] Due to floating-point precision errors, consider using [method " +"is_equal_approx] instead, which is more reliable." +msgstr "" +"如果 [Basis] 矩阵不相等,则返回 [code]true[/code]。\n" +"[b]注意:[/b]由于浮点数精度误差,请考虑改用 [method is_equal_approx],会更可" +"靠。" + msgid "Transforms (multiplies) the [Vector3] by the given [Basis] matrix." msgstr "使用给定的 [Basis] 矩阵变换(乘)该 [Vector3]。" +msgid "" +"This operator multiplies all components of the [Basis], which scales it " +"uniformly." +msgstr "该运算符会对 [Basis] 的所有分量进行乘操作,达到统一缩放的效果。" + +msgid "" +"Returns [code]true[/code] if the [Basis] matrices 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 "" +"如果 [Basis] 矩阵完全相等,则返回 [code]true[/code]。\n" +"[b]注意:[/b]由于浮点数精度误差,请考虑改用 [method is_equal_approx],会更可" +"靠。" + msgid "Boolean matrix." msgstr "布尔矩阵。" @@ -14195,9 +14923,29 @@ msgstr "" "使用自然的笛卡尔坐标查询数值。" msgid "" +"Returns an image of the same size as the bitmap and with a [enum Image." +"Format] of type [constant Image.FORMAT_L8]. [code]true[/code] bits of the " +"bitmap are being converted into white pixels, and [code]false[/code] bits " +"into black." +msgstr "" +"返回与该位图大小相同且具有 [constant Image.FORMAT_L8] 类型的 [enum Image." +"Format] 的图像。该位图中的 [code]true[/code] 位被转换为白色像素," +"[code]false[/code] 位被转换为黑色像素。" + +msgid "" "Creates a bitmap with the specified size, filled with [code]false[/code]." msgstr "创建一个指定尺寸的位图,用 [code]false[/code] 填充。" +msgid "" +"Creates a bitmap that matches the given image dimensions, every element of " +"the bitmap is set to [code]false[/code] if the alpha value of the image at " +"that position is equal to [param threshold] or less, and [code]true[/code] " +"in other case." +msgstr "" +"创建一个匹配给定图像大小的位图,如果该位图的 Alpha 值等于或小于 [param " +"threshold],则位图的每个元素都被设置为 [code]false[/code];否则被设置为 " +"[code]true[/code]。" + msgid "Returns bitmap's value at the specified position." msgstr "返回位图在指定位置的值。" @@ -14241,6 +14989,16 @@ msgid "Stores the node's current transforms in [member rest]." msgstr "将节点当前的变换存储在 [member rest] 中。" msgid "" +"Returns whether this [code]Bone2D[/code] node is going to autocalculate its " +"length and bone angle using its first [code]Bone2D[/code] child node, if one " +"exists. If there are no [code]Bone2D[/code] children, then it cannot " +"autocalculate these values and will print a warning." +msgstr "" +"返回该 [code]Bone2D[/code] 节点是否将使用其第一个 [code]Bone2D[/code] 子节点" +"(如果存在)自动计算其长度和骨骼角度。如果没有 [code]Bone2D[/code] 子节点,则" +"它无法自动计算这些值并会打印一条警告。" + +msgid "" "Returns the node's index as part of the entire skeleton. See [Skeleton2D]." msgstr "返回节点在整个骨架中的索引号。见 [Skeleton2D]。" @@ -14251,6 +15009,16 @@ msgstr "" "如果节点没有父节点,返回节点的 [member rest] [code]Transform2D[/code],或者返" "回它相对于父节点的放松姿势。" +msgid "" +"When set to [code]true[/code], the [code]Bone2D[/code] node will attempt to " +"automatically calculate the bone angle and length using the first child " +"[code]Bone2D[/code] node, if one exists. If none exist, the [code]Bone2D[/" +"code] cannot automatically calculate these values and will print a warning." +msgstr "" +"当设置为 [code]true[/code] 时,该 [code]Bone2D[/code] 节点将尝试使用第一个子 " +"[code]Bone2D[/code] 节点(如果存在)自动计算骨骼角度和长度。如果不存在子节" +"点,[code]Bone2D[/code] 将无法自动计算这些值,并将打印一条警告。" + msgid "Sets the length of the bone in the [code]Bone2D[/code] node." msgstr "设置该 [code]Bone2D[/code] 节点中骨骼的长度。" @@ -14263,6 +15031,16 @@ msgstr "" msgid "A node that will attach to a bone." msgstr "会附着在骨骼上的节点。" +msgid "" +"Sets whether the BoneAttachment3D node will use an extenral [Skeleton3D] " +"node rather than attenpting to use its parent node as the [Skeleton3D]. When " +"set to [code]true[/code], the BoneAttachment3D node will use the external " +"[Skeleton3D] node set in [method set_external_skeleton]." +msgstr "" +"设置 BoneAttachment3D 节点是否将使用外部 [Skeleton3D] 节点,而不是尝试使用其" +"父节点作为 [Skeleton3D]。当设置为 [code]true[/code]时,BoneAttachment3D 节点" +"将使用 [method set_external_skeleton] 中设置的外部 [Skeleton3D] 节点。" + msgid "The index of the attached bone." msgstr "所附着骨骼的索引。" @@ -15397,6 +16175,20 @@ msgid "" msgstr "如果为 [code]true[/code],在编辑器中绘制相机的画面矩形。" msgid "" +"Controls whether the camera can be active or not. If [code]true[/code], the " +"[Camera2D] will become the main camera when it enters the scene tree and " +"there is no active camera currently (see [method Viewport.get_camera_2d]).\n" +"When the camera is currently active and [member enabled] is set to " +"[code]false[/code], the next enabled [Camera2D] in the scene tree will " +"become active." +msgstr "" +"控制相机是否可以激活。如果为 [code]true[/code],当 [Camera2D]进入场景树并且当" +"前没有活动的相机时,它将成为主相机(参见 [ method Viewport ." +"get_camera_2d])。\n" +"当相机处于活动状态且 [member enabled]被设置为 [code]false[/code],场景树中下" +"一个启用此项的 [Camera2D]将变为活动状态。" + +msgid "" "If [code]true[/code], the camera's rendered view is not affected by its " "[member Node2D.rotation] and [member Node2D.global_rotation]." msgstr "" @@ -15435,6 +16227,34 @@ msgid "The camera's process callback. See [enum Camera2DProcessCallback]." msgstr "该相机的处理回调。见 [enum Camera2DProcessCallback]。" msgid "" +"The camera's zoom. A zoom of [code]Vector(2, 2)[/code] doubles the size seen " +"in the viewport. A zoom of [code]Vector(0.5, 0.5)[/code] halves the size " +"seen in the viewport.\n" +"[b]Note:[/b] [member FontFile.oversampling] does [i]not[/i] take [Camera2D] " +"zoom into account. This means that zooming in/out will cause bitmap fonts " +"and rasterized (non-MSDF) dynamic fonts to appear blurry or pixelated unless " +"the font is part of a [CanvasLayer] that makes it ignore camera zoom. To " +"ensure text remains crisp regardless of zoom, 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." +msgstr "" +"相机的缩放。 设置为 [code]Vector(2, 2)[/code]的缩放值会使通过视口看到的尺寸翻" +"倍。设置为 [code]Vector(0.5, 0.5)[/code]的缩放值会使会使通过视口看到的尺寸减" +"半。\n" +"[b]注意:[/b] [member FontFile.oversampling] [i]不会[/i] 考虑 [Camera2D]的缩放" +"值。这意味着放大/缩小将导致位图字体和光栅化(非MSDF)动态字体看起来模糊或像素" +"化,除非字体是[CanvasLayer]的一部分从而使其忽略相机缩放。为了确保文本无论如何" +"缩放都保持清晰,您可以通过启用 [member ProjectSettings.gui/theme/" +"default_font_multichannel_signed_distance_field] (仅适用于默认项目字体)来启" +"用MSDF字体渲染,或在自定义字体的动态字体导入选项中启用[b]多通道带符号距离场[/" +"b]。对于系统字体,可以在检查器中启用[member SystemFont." +"multichannel_signed_distance_field] 。" + +msgid "" "The camera's position is fixed so that the top-left corner is always at the " "origin." msgstr "相机的位置是固定的,所以左上角总是在原点。" @@ -15469,6 +16289,14 @@ msgstr "" "注册的场景无法显示。" msgid "" +"If this is the current camera, remove it from being current. If [param " +"enable_next] is [code]true[/code], request to make the next camera current, " +"if any." +msgstr "" +"如果这是当前相机,则将其从当前相机中移除。如果 [param enable_next] 为 " +"[code]true[/code],则请求使下一个相机(如果有)成为当前相机。" + +msgid "" "Returns the camera's frustum planes in world space units as an array of " "[Plane]s in the following order: near, far, left, top, right, bottom. Not to " "be confused with [member frustum_offset]." @@ -15908,6 +16736,9 @@ msgstr "" "我们要访问 [CameraFeed] 中的哪个图像,如果相机图像被分割成 Y 和 CbCr 分量,这" "一点很重要。" +msgid "Merges several 2D nodes into a single draw operation." +msgstr "将若干 2D 节点合并至单次绘制操作。" + msgid "" "Child [CanvasItem] nodes of a [CanvasGroup] are drawn as a single object. It " "allows to e.g. draw overlapping translucent 2D nodes without blending (set " @@ -15967,8 +16798,48 @@ msgstr "" "clip_children] 设置为 [constant CanvasItem.CLIP_CHILDREN_DISABLED] 以外的其他" "值将无法正常工作。" +msgid "" +"Sets the size of the margin used to expand the clearing rect of this " +"[CanvasGroup]. This expands the area of the backbuffer that will be used by " +"the [CanvasGroup]. A smaller margin will reduce the area of the backbuffer " +"used which can increase performance, however if [member use_mipmaps] is " +"enabled, a small margin may result in mipmap errors at the edge of the " +"[CanvasGroup]. Accordingly, this should be left as small as possible, but " +"should be increased if artifacts appear along the edges of the canvas group." +msgstr "" +"设置用于扩展该 [CanvasGroup] 清除矩形的边距大小。会对该 [CanvasGroup] 所使用" +"的后台缓冲的区域进行扩展。边距较小时可以减少后台缓冲的区域大小,从而提升性" +"能,但如果启用了 [member use_mipmaps],较小的边距可能在该 [CanvasGroup] 边缘" +"造成 mipmap 错误。因此,这个值应该尽量调小,但是如果画布组的边缘出现问题,就" +"应该将其调大。" + +msgid "" +"Sets the size of a margin used to expand the drawable rect of this " +"[CanvasGroup]. The size of the [CanvasGroup] is determined by fitting a rect " +"around its children then expanding that rect by [member fit_margin]. This " +"increases both the backbuffer area used and the area covered by the " +"[CanvasGroup] both of which can reduce performance. This should be kept as " +"small as possible and should only be expanded when an increased size is " +"needed (e.g. for custom shader effects)." +msgstr "" +"设置用于扩展该 [CanvasGroup] 绘图矩形的边距大小。确定该 [CanvasGroup] 大小的" +"方法是:首先框定子节点的矩形区域,然后将该矩形按照 [member fit_margin] 进行扩" +"展。会增大该 [CanvasGroup] 所使用的后台缓冲的区域,也会增大该 [CanvasGroup] " +"所覆盖的面积,两者都会降低性能。这个值应该尽量调小,仅在需要时调大(例如自定" +"义着色器效果)。" + +msgid "" +"If [code]true[/code], calculates mipmaps for the backbuffer before drawing " +"the [CanvasGroup] so that mipmaps can be used in a custom [ShaderMaterial] " +"attached to the [CanvasGroup]. Generating mipmaps has a performance cost so " +"this should not be enabled unless required." +msgstr "" +"如果为 [code]true[/code],则会在绘制该 [CanvasGroup] 之前为其后台缓冲计算 " +"mipmap,附加到该 [CanvasGroup] 的自定义 [ShaderMaterial] 就可以使用 mipmap。" +"Mipmap 的生成会造成性能消耗,所以应在必要时才启用。" + msgid "Base class of anything 2D." -msgstr "任何 2D 对象的基类。" +msgstr "所有 2D 对象的基类。" msgid "Viewport and canvas transforms" msgstr "Viewport 和画布变换" @@ -15976,6 +16847,16 @@ msgstr "Viewport 和画布变换" msgid "Custom drawing in 2D" msgstr "2D 中的自定义绘图" +msgid "" +"Called when [CanvasItem] has been requested to redraw (after [method " +"queue_redraw] is called, either manually or by the engine).\n" +"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method " +"Object._notification]." +msgstr "" +"当 [CanvasItem] 被请求重绘时调用(手动调用或者引擎调用 [method queue_redraw] " +"之后)。\n" +"对应于 [method Object._notification] 中的 [constant NOTIFICATION_DRAW] 通知。" + msgid "Draws a string first character using a custom font." msgstr "使用自定义字体绘制字符串的第一个字符。" @@ -15996,6 +16877,42 @@ msgstr "" "使用所提供的纹理以 2D 方式绘制一个 [Mesh]。相关文档请参阅 [MeshInstance2D]。" msgid "" +"Draws multiple disconnected lines with a uniform [param color]. When drawing " +"large amounts of lines, this is faster than using individual [method " +"draw_line] calls. To draw interconnected lines, use [method draw_polyline] " +"instead.\n" +"If [param width] is negative, then two-point primitives will be drawn " +"instead of a four-point ones. This means that when the CanvasItem is scaled, " +"the lines will remain thin. If this behavior is not desired, then pass a " +"positive [param width] like [code]1.0[/code]." +msgstr "" +"使用一个 uniform [param color] 绘制多条断开的线。绘制大量线条时,这比使用单独" +"的 [method draw_line] 调用更快。要绘制互连线段,请改用 [method " +"draw_polyline]。\n" +"如果 [param width] 为负,则将绘制两点图元而不是四点图元。这意味着当缩放 " +"CanvasItem 时,线条将保持为细线。如果不需要此行为,请传递一个正的 [param " +"width],如 [code]1.0[/code]。" + +msgid "" +"Draws multiple disconnected lines with a uniform [param width] and segment-" +"by-segment coloring. Colors assigned to line segments match by index between " +"[param points] and [param colors]. When drawing large amounts of lines, this " +"is faster than using individual [method draw_line] calls. To draw " +"interconnected lines, use [method draw_polyline_colors] instead.\n" +"If [param width] is negative, then two-point primitives will be drawn " +"instead of a four-point ones. This means that when the CanvasItem is scaled, " +"the lines will remain thin. If this behavior is not desired, then pass a " +"positive [param width] like [code]1.0[/code]." +msgstr "" +"使用一个 uniform [param width] 绘制多条断开的线,并逐段着色。分配给线段的颜色" +"按 [param points] 和 [param colors] 之间的索引匹配。绘制大量线条时,这比使用" +"单独的 [method draw_line] 调用更快。要绘制互连线,请改用 [method " +"draw_polyline_colors]。\n" +"如果 [param width] 为负,则将绘制两点图元而不是四点图元。这意味着当缩放 " +"CanvasItem 时,线条将保持为细线。如果不需要此行为,请传递一个正的 [param " +"width],如 [code]1.0[/code]。" + +msgid "" "Draws a [MultiMesh] in 2D with the provided texture. See " "[MultiMeshInstance2D] for related documentation." msgstr "" @@ -16003,6 +16920,47 @@ msgstr "" "[MultiMeshInstance2D]。" msgid "" +"Draws interconnected line segments with a uniform [param color] and [param " +"width] and optional antialiasing (supported only for positive [param " +"width]). When drawing large amounts of lines, this is faster than using " +"individual [method draw_line] calls. To draw disconnected lines, use [method " +"draw_multiline] instead. See also [method draw_polygon].\n" +"If [param width] is negative, the polyline is drawn using [constant " +"RenderingServer.PRIMITIVE_LINE_STRIP]. This means that when the CanvasItem " +"is scaled, the polyline will remain thin. If this behavior is not desired, " +"then pass a positive [param width] like [code]1.0[/code]." +msgstr "" +"使用一个 uniform [param color] 和 [param width] 以及可选的抗锯齿(仅支持正 " +"[param width] ),绘制相互连接的线段。绘制大量线条时,这比使用单独的 [method " +"draw_line] 调用更快。要绘制不相连的的线段,请改用 [method draw_multiline]。另" +"见 [method draw_polygon]。\n" +"如果 [param width] 为负,则使用 [constant RenderingServer." +"PRIMITIVE_LINE_STRIP] 绘制折线。这意味着当缩放 CanvasItem 时,多段线将保持为" +"细线。如果不需要该行为,请传递一个正的 [param width],如 [code]1.0[/code]。" + +msgid "" +"Draws interconnected line segments with a uniform [param width] and segment-" +"by-segment coloring, and optional antialiasing (supported only for positive " +"[param width]). Colors assigned to line segments match by index between " +"[param points] and [param colors]. When drawing large amounts of lines, this " +"is faster than using individual [method draw_line] calls. To draw " +"disconnected lines, use [method draw_multiline_colors] instead. See also " +"[method draw_polygon].\n" +"If [param width] is negative, then the polyline is drawn using [constant " +"RenderingServer.PRIMITIVE_LINE_STRIP]. This means that when the CanvasItem " +"is scaled, the polyline will remain thin. If this behavior is not desired, " +"then pass a positive [param width] like [code]1.0[/code]." +msgstr "" +"使用一个 uniform [param width] 以及可选的抗锯齿(仅支持正 [param width]),绘" +"制相连的线段,并且逐段着色。分配给线段的颜色按 [param points] 和 [param " +"colors] 之间的索引匹配。绘制大量线条时,这比使用单独的 [method draw_line] 调" +"用更快。要绘制不相连的线条,请改用 [method draw_multiline_colors]。另见 " +"[method draw_polygon]。\n" +"如果 [param width] 为负,则使用 [constant RenderingServer." +"PRIMITIVE_LINE_STRIP] 绘制折线。这意味着当缩放 CanvasItem 时,多段线将保持为" +"细线。 如果不需要该行为,请传递一个正的 [param width],如 [code]1.0[/code]。" + +msgid "" "Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points " "for a triangle, and 4 points for a quad. If 0 points or more than 4 points " "are specified, nothing will be drawn and an error message will be printed. " @@ -16015,6 +16973,29 @@ msgstr "" "draw_polygon]、[method draw_rect]。" msgid "" +"Sets a custom transform for drawing via components. Anything drawn " +"afterwards will be transformed by this.\n" +"[b]Note:[/b] [member FontFile.oversampling] does [i]not[/i] take [param " +"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." +msgstr "" +"使用分量设置用于绘图的自定义变换。后续的绘制都会使用这个变换。\n" +"[b]注意:[/b][member FontFile.oversampling] [i]不会[/i]考虑 [param scale]。这" +"意味着将位图字体及栅格化(非 MSDF)动态字体放大/缩小会产生模糊或像素化的结" +"果。要让文本无论如何缩放都保持清晰,可以启用 MSDF 字体渲染,方法是启用 " +"[member ProjectSettings.gui/theme/" +"default_font_multichannel_signed_distance_field](仅应用于默认项目字体),或" +"者启用自定义 DynamicFont 的[b]多通道带符号距离场[/b]导入选项。对于系统字体," +"可以在检查器中启用 [member SystemFont.multichannel_signed_distance_field]。" + +msgid "" "Sets a custom transform for drawing via matrix. Anything drawn afterwards " "will be transformed by this." msgstr "设置通过矩阵绘制时的自定义变换。此后绘制的任何东西都将被它变换。" @@ -16080,6 +17061,22 @@ msgid "Draws a texture at a given position." msgstr "在给定的位置绘制纹理。" msgid "" +"Draws a textured rectangle at a given position, optionally modulated by a " +"color. If [param transpose] is [code]true[/code], the texture will have its " +"X and Y coordinates swapped." +msgstr "" +"在给定位置绘制一个带纹理的矩形,可以选择用颜色调制。如果 [param transpose] " +"为 [code]true[/code],则纹理将交换其 X 和 Y 坐标。" + +msgid "" +"Draws a textured rectangle region at a given position, optionally modulated " +"by a color. If [param transpose] is [code]true[/code], the texture will have " +"its X and Y coordinates swapped." +msgstr "" +"在给定位置绘制带纹理的矩形区域,可选择用颜色调制。如果 [param transpose] 为 " +"[code]true[/code],则纹理将交换其 X 和 Y 坐标。" + +msgid "" "Forces the transform to update. Transform changes in physics are not instant " "for performance reasons. Transforms are accumulated and then set. Use this " "if you need an up-to-date transform when doing physics operations." @@ -16152,6 +17149,25 @@ msgstr "" "帧也都只会发生[b]一次[/b]绘制。" msgid "" +"If [param enable] is [code]true[/code], this node will receive [constant " +"NOTIFICATION_LOCAL_TRANSFORM_CHANGED] when its local transform changes." +msgstr "" +"如果 [param enable] 为 [code]true[/code],则该节点将在其局部变换发生改变时收" +"到 [constant NOTIFICATION_LOCAL_TRANSFORM_CHANGED]。" + +msgid "" +"If [param enable] is [code]true[/code], this node will receive [constant " +"NOTIFICATION_TRANSFORM_CHANGED] when its global transform changes." +msgstr "" +"如果 [param enable] 为 [code]true[/code],那么这个节点会在其全局变换发生改变" +"时接收到 [constant NOTIFICATION_TRANSFORM_CHANGED]。" + +msgid "" +"Set/clear individual bits on the rendering visibility layer. This simplifies " +"editing this [CanvasItem]'s visibility layer." +msgstr "设置或清除渲染可见层上的单个位。这简化了编辑该 [CanvasItem] 的可见层。" + +msgid "" "Show the [CanvasItem] if it's currently hidden. This is equivalent to " "setting [member visible] to [code]true[/code]. For controls that inherit " "[Popup], the correct way to make them visible is to call one of the multiple " @@ -16583,6 +17599,14 @@ msgstr "" "与 [member follow_viewport_scale] 配合可以实现伪 3D 效果。" msgid "" +"Scales the layer when using [member follow_viewport_enabled]. Layers moving " +"into the foreground should have increasing scales, while layers moving into " +"the background should have decreasing scales." +msgstr "" +"使用 [member follow_viewport_enabled] 时缩放图层。移入到前景的图层应具有增加" +"的缩放,而移入到背景的图层应具有减小的缩放。" + +msgid "" "Layer index for draw order. Lower values are drawn behind higher values." msgstr "绘制顺序的图层索引。较低值绘制在较高值之后。" @@ -16659,6 +17683,37 @@ msgstr "" "法线贴图坐标系见[url=http://wiki.polycount.com/wiki/" "Normal_Map_Technical_Details#Common_Swizzle_Coordinates]这个页面[/url]。" +msgid "" +"The multiplier for specular reflection colors. The [Light2D]'s color is also " +"taken into account when determining the reflection color. Only has a visible " +"effect if [Light2D]s are affecting this [CanvasTexture]." +msgstr "" +"镜面反射颜色的乘数。在确定反射颜色时,[Light2D] 的颜色也会被考虑在内。只有在 " +"[Light2D] 影响到这个 [CanvasTexture] 时才有可见的效果。" + +msgid "" +"The specular exponent for [Light2D] specular reflections. Higher values " +"result in a more glossy/\"wet\" look, with reflections becoming more " +"localized and less visible overall. The default value of [code]1.0[/code] " +"disables specular reflections entirely. Only has a visible effect if " +"[Light2D]s are affecting this [CanvasTexture]." +msgstr "" +"用于 [Light2D] 镜面反射的镜面指数。更高的值会产生更有光泽或更加“湿润”的外观," +"反射变得更局部,且整体上不太明显。默认值为 [code]1.0[/code] ,将完全禁用镜面" +"反射。只有在 [Light2D] 影响到这个 [CanvasTexture] 时才会有可见的效果。" + +msgid "" +"The specular map to use for [Light2D] specular reflections. This should be a " +"grayscale or colored texture, with brighter areas resulting in a higher " +"[member specular_shininess] value. Using a colored [member specular_texture] " +"allows controlling specular shininess on a per-channel basis. Only has a " +"visible effect if [Light2D]s are affecting this [CanvasTexture]." +msgstr "" +"用于 [Light2D] 镜面反射的镜面贴图。这应该是一个灰度或彩色纹理,更亮的区域会产" +"生更高的 [member specular_shininess] 值。使用彩色 [member specular_texture] " +"允许在每个通道的基础上控制镜面反射光泽度。仅当 [Light2D] 影响该 " +"[CanvasTexture] 时才有可见的效果。" + msgid "The texture filtering mode to use when drawing this [CanvasTexture]." msgstr "绘制该 [CanvasTexture] 时所使用的纹理过滤模式。" @@ -16668,6 +17723,9 @@ msgstr "绘制该 [CanvasTexture] 时所使用的纹理重复模式。" msgid "Class representing a capsule-shaped [PrimitiveMesh]." msgstr "表示胶囊状 [PrimitiveMesh] 的类。" +msgid "Total height of the capsule mesh (including the hemispherical ends)." +msgstr "胶囊网格的总高度(包括半球形末端)。" + msgid "Number of radial segments on the capsule mesh." msgstr "胶囊网格上的径向线段数。" @@ -16680,6 +17738,18 @@ msgstr "沿胶囊高度的环数。" msgid "Capsule shape resource for 2D physics." msgstr "用于 2D 物理的胶囊形状资源。" +msgid "" +"2D capsule shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] " +"or [Area2D] using a [CollisionShape2D] node. In 2D, a capsule is a rectangle " +"shape with half-circles at both ends.\n" +"[b]Performance:[/b] Being a primitive collision shape, [CapsuleShape2D] is " +"fast to check collisions against (though not as fast as [CircleShape2D])." +msgstr "" +"使用一个 [CollisionShape2D] 节点时,添加为 [PhysicsBody2D] 或 [Area2D] 的[i]" +"直接[/i]子节点的 2D 胶囊形状。在 2D 中,胶囊是两端带有半圆形的矩形。\n" +"[b]性能:[/b]作为一种原始的碰撞形状,[CapsuleShape2D] 可用于快速检测碰撞(尽" +"管没有 [CircleShape2D] 快)。" + msgid "The capsule's height." msgstr "胶囊体的高度。" @@ -16689,6 +17759,21 @@ msgstr "胶囊体的半径。" msgid "Capsule shape resource for 3D collisions." msgstr "用于 3D 物理的胶囊形状资源。" +msgid "" +"3D capsule shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] " +"or [Area3D] using a [CollisionShape3D] node. In 3D, a capsule is a cylinder " +"shape with hemispheres at both ends.\n" +"[b]Performance:[/b] Being a primitive collision shape, [CapsuleShape3D] is " +"fast to check collisions against (though not as fast as [SphereShape3D]). " +"[CapsuleShape3D] is cheaper to check collisions against compared to " +"[CylinderShape3D]." +msgstr "" +"使用一个 [CollisionShape3D] 节点,添加为 [PhysicsBody3D] 或 [Area3D] 的[i]直" +"接[/i]子节点的 3D 胶囊形状。在 3D 中,胶囊是两端带有半球的圆柱体。\n" +"[b]性能:[/b]作为一种原始的碰撞形状,[CapsuleShape3D] 可用于快速检测碰撞(尽" +"管没有 [SphereShape3D] 快)。与 [CylinderShape3D] 相比,[CapsuleShape3D] 检测" +"碰撞的成本更低。" + msgid "Keeps children controls centered." msgstr "使子级控件居中。" @@ -17620,6 +18705,21 @@ msgstr "作为背景显示的 [StyleBox],用于该 [CheckButton] 的按下状 msgid "Circular shape resource for 2D physics." msgstr "用于 2D 物理的圆形资源。" +msgid "" +"2D circular shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] " +"or [Area2D] using a [CollisionShape2D] node. This shape is useful for " +"modeling balls or small characters and its collision detection with " +"everything else is very fast.\n" +"[b]Performance:[/b] Being a primitive collision shape, [CircleShape2D] is " +"the fastest collision shape to check collisions against, as it only requires " +"a distance check with the shape's origin." +msgstr "" +"使用 [CollisionShape2D] 节点将 2D 圆形添加为 [PhysicsBody2D] 或 [Area2D] 的一" +"个[i]直接[/i]子节点。这种形状对于为球或小角色建模很有用,并且它与其他物体的碰" +"撞检测速度非常快。\n" +"[b]性能:[/b]作为一种原始的碰撞形状,[CircleShape2D] 是检测碰撞最快的碰撞形" +"状,因为它只需要与形状的原点进行距离检测。" + msgid "The circle's radius." msgstr "圆的半径。" @@ -17629,10 +18729,63 @@ msgstr "类信息存储库。" msgid "Provides access to metadata stored for every available class." msgstr "提供对为每个可用类存储的元数据的访问。" +msgid "" +"Returns [code]true[/code] if objects can be instantiated from the specified " +"[param class], otherwise returns [code]false[/code]." +msgstr "" +"如果可以从指定的 [param class] 实例化对象,则返回 [code]true[/code],否则返" +"回 [code]false[/code]。" + msgid "Returns whether the specified [param class] is available or not." msgstr "返回指定的类 [param class] 是否可用。" msgid "" +"Returns an array with all the methods of [param class] or its ancestry if " +"[param no_inheritance] is [code]false[/code]. Every element of the array is " +"a [Dictionary] with the following keys: [code]args[/code], " +"[code]default_args[/code], [code]flags[/code], [code]id[/code], [code]name[/" +"code], [code]return: (class_name, hint, hint_string, name, type, usage)[/" +"code].\n" +"[b]Note:[/b] In exported release builds the debug info is not available, so " +"the returned dictionaries will contain only method names." +msgstr "" +"如果 [param no_inheritance] 为 [code]false[/code],则返回包含 [param class] " +"或其祖先的所有方法的数组。数组的每个元素都是一个 [Dictionary],包含以下键:" +"[code]args[/code]、[code]default_args[/code]、[code]flags[/code]、[code]id[/" +"code]、[code]name[/code]、[code]return: (class_name, hint, hint_string, " +"name, type, usage)[/code]。\n" +"[b]注意:[/b]在导出的发布版本中,调试信息不可用,因此返回的字典将仅包含方法名" +"称。" + +msgid "" +"Returns an array with all the properties of [param class] or its ancestry if " +"[param no_inheritance] is [code]false[/code]." +msgstr "" +"如果 [param no_inheritance] 为 [code]false[/code],则返回包含 [param class] " +"或其祖先的所有属性的数组。" + +msgid "" +"Returns the [param signal] data of [param class] or its ancestry. The " +"returned value is a [Dictionary] with the following keys: [code]args[/code], " +"[code]default_args[/code], [code]flags[/code], [code]id[/code], [code]name[/" +"code], [code]return: (class_name, hint, hint_string, name, type, usage)[/" +"code]." +msgstr "" +"返回 [param class] 或其祖先的 [param signal] 数据。返回值是具有以下键的 " +"[Dictionary]:[code]args[/code]、[code]default_args[/code]、[code]flags[/" +"code]、[code]id[/code]、[code]name[/code]、[code]return: (class_name, hint, " +"hint_string, name, type, usage)[/code]。" + +msgid "" +"Returns an array with all the signals of [param class] or its ancestry if " +"[param no_inheritance] is [code]false[/code]. Every element of the array is " +"a [Dictionary] as described in [method class_get_signal]." +msgstr "" +"如果 [param no_inheritance] 为 [code]false[/code],则返回包含 [param class] " +"或其祖先的所有信号的数组。数组的每个元素都是一个如 [method class_get_signal] " +"中所述的 [Dictionary]。" + +msgid "" "Returns whether [param class] or its ancestry has an enum called [param " "name] or not." msgstr "返回类 [param class] 或其祖类是否有名为 [param name] 的枚举。" @@ -18088,6 +19241,13 @@ msgstr "该 [CodeEdit] 文本轮廓的色调。" msgid "Font color for [member TextEdit.placeholder_text]." msgstr "[member TextEdit.placeholder_text] 的字体颜色。" +msgid "" +"Sets the [Color] of the selected text. If equal to [code]Color(0, 0, 0, 0)[/" +"code], it will be ignored." +msgstr "" +"设置所选文本的 [Color]。如果等于 [code]Color(0, 0, 0, 0)[/code],则该属性将被" +"忽略。" + msgid "Sets the [Color] of line numbers." msgstr "设置行号的颜色 [Color]。" @@ -18221,12 +19381,48 @@ msgid "" msgstr "" "如果成员关键字存在则返回 [code]true[/code],否则返回 [code]false[/code]。" +msgid "Removes the color region that uses that start key." +msgstr "移除使用该开始键的颜色区域。" + msgid "Removes the keyword." msgstr "移除关键字。" msgid "Removes the member keyword." msgstr "移除成员关键字。" +msgid "" +"Sets the color regions. All existing regions will be removed. The " +"[Dictionary] key is the region start and end key, separated by a space. The " +"value is the region color." +msgstr "" +"设置颜色区域。现有区域都将被移除。[Dictionary] 的键为该区域的开始键和结束键," +"用空格隔开。对应的值为区域的颜色。" + +msgid "" +"Sets color for functions. A function is a non-keyword string followed by a " +"'('." +msgstr "设置函数的颜色。函数是后跟“(”的非关键字字符串。" + +msgid "" +"Sets the keyword colors. All existing keywords will be removed. The " +"[Dictionary] key is the keyword. The value is the keyword color." +msgstr "" +"设置关键字的颜色。现有关键字都将被移除。[Dictionary] 的键为关键字。对应的值为" +"关键字的颜色。" + +msgid "" +"Sets the member keyword colors. All existing member keyword will be removed. " +"The [Dictionary] key is the member keyword. The value is the member keyword " +"color." +msgstr "" +"设置成员关键字的颜色。现有成员关键字都将被移除。[Dictionary] 的键为成员关键" +"字。对应的值为成员关键字的颜色。" + +msgid "" +"Sets color for member variables. A member variable is non-keyword, non-" +"function string proceeded with a '.'." +msgstr "设置成员变量的颜色。成员变量是以“.”开头的非关键字、非函数字符串。" + msgid "Sets the color for numbers." msgstr "设置数字的颜色。" @@ -18266,16 +19462,77 @@ msgstr "" "[code]true[/code],并且至少要设置一个 [member collision_layer] 位。" msgid "" +"Called when the mouse pointer enters any of this object's shapes. Requires " +"[member input_pickable] to be [code]true[/code] and at least one [member " +"collision_layer] bit to be set. Note that moving between different shapes " +"within a single [CollisionObject2D] won't cause this function to be called." +msgstr "" +"当鼠标指针进入该实体的任何形状时调用。要求 [member input_pickable] 为 " +"[code]true[/code] 并且至少设置了一个 [member collision_layer] 位。请注意,在" +"单个 [CollisionObject2D] 中的不同形状之间移动,不会导致该函数被调用。" + +msgid "" +"Called when the mouse pointer exits all this object's shapes. Requires " +"[member input_pickable] to be [code]true[/code] and at least one [member " +"collision_layer] bit to be set. Note that moving between different shapes " +"within a single [CollisionObject2D] won't cause this function to be called." +msgstr "" +"当鼠标指针退出该实体的所有形状时调用。要求 [member input_pickable] 为 " +"[code]true[/code] 并且至少设置了一个 [member collision_layer] 位。请注意,在" +"单个 [CollisionObject2D] 中的不同形状之间移动,不会导致该函数被调用。" + +msgid "" +"Called when the mouse pointer enters any of this object's shapes or moves " +"from one shape to another. [param shape_idx] is the child index of the newly " +"entered [Shape2D]. Requires [member input_pickable] to be [code]true[/code] " +"and at least one [member collision_layer] bit to be called." +msgstr "" +"当鼠标指针进入该实体的任何形状或从一个形状移动到另一个形状时调用。[param " +"shape_idx] 是新进入的 [Shape2D] 的子索引。要求 [member input_pickable] 为 " +"[code]true[/code] 并且要至少设置一个 [member collision_layer] 位。" + +msgid "" +"Called when the mouse pointer exits any of this object's shapes. [param " +"shape_idx] is the child index of the exited [Shape2D]. Requires [member " +"input_pickable] to be [code]true[/code] and at least one [member " +"collision_layer] bit to be called." +msgstr "" +"当鼠标指针离开该实体的任何形状时调用。[param shape_idx] 是退出的 [Shape2D] 的" +"子索引。要求 [member input_pickable] 为 [code]true[/code] 并且至少要设置一个 " +"[member collision_layer] 位。" + +msgid "" "Creates a new shape owner for the given object. Returns [code]owner_id[/" "code] of the new owner for future reference." msgstr "" "为给定对象创建一个新的形状所有者。返回 [code]owner_id[/code]的新所有者,供将" "来引用。" +msgid "" +"Returns whether or not the specified layer of the [member collision_layer] " +"is enabled, given a [param layer_number] between 1 and 32." +msgstr "" +"返回 [member collision_layer] 中是否启用了指定的层,给定的 [param " +"layer_number] 应在 1 和 32 之间。" + +msgid "" +"Returns whether or not the specified layer of the [member collision_mask] is " +"enabled, given a [param layer_number] between 1 and 32." +msgstr "" +"返回 [member collision_mask] 中是否启用了指定的层,给定的 [param " +"layer_number] 应在 1 和 32 之间。" + msgid "Returns the object's [RID]." msgstr "返回对象的 [RID]。" msgid "" +"Returns the [code]one_way_collision_margin[/code] of the shape owner " +"identified by given [param owner_id]." +msgstr "" +"返回由给定 [param owner_id] 标识的形状所有者的 " +"[code]one_way_collision_margin[/code]。" + +msgid "" "Returns an [Array] of [code]owner_id[/code] identifiers. You can use these " "ids in other methods that take [code]owner_id[/code] as an argument." msgstr "" @@ -18296,6 +19553,20 @@ msgstr "" msgid "Removes the given shape owner." msgstr "移除给定形状的所有者。" +msgid "" +"Based on [param value], enables or disables the specified layer in the " +"[member collision_layer], given a [param layer_number] between 1 and 32." +msgstr "" +"根据 [param value],启用或禁用 [member collision_layer] 中指定的层,给定的 " +"[param layer_number] 应在 1 和 32 之间。" + +msgid "" +"Based on [param value], enables or disables the specified layer in the " +"[member collision_mask], given a [param layer_number] between 1 and 32." +msgstr "" +"根据 [param value],启用或禁用 [member collision_layer] 中指定的层,给定的 " +"[param layer_number] 应在 1 和 32 之间。" + msgid "Returns the [code]owner_id[/code] of the given shape." msgstr "返回指定形状的 [code]owner_id[/code]。" @@ -18320,10 +19591,62 @@ msgstr "从给定的形状所有者中移除一个形状。" msgid "If [code]true[/code], disables the given shape owner." msgstr "如果为 [code]true[/code],则禁用给定的形状所有者。" +msgid "" +"If [param enable] is [code]true[/code], collisions for the shape owner " +"originating from this [CollisionObject2D] will not be reported to collided " +"with [CollisionObject2D]s." +msgstr "" +"如果 [param enable] 为 [code]true[/code],则源自该 [CollisionObject2D] 的形状" +"所有者的碰撞将不会被报告为与 [CollisionObject2D] 发生碰撞。" + +msgid "" +"Sets the [code]one_way_collision_margin[/code] of the shape owner identified " +"by given [param owner_id] to [param margin] pixels." +msgstr "" +"将由给定 [param owner_id] 标识的形状所有者的 [code]one_way_collision_margin[/" +"code] 设置为 [param margin] 像素。" + msgid "Sets the [Transform2D] of the given shape owner." msgstr "设置给定形状所有者的 [Transform2D]。" msgid "" +"The physics layers this CollisionObject2D is in. Collision objects can exist " +"in one or more of 32 different layers. See also [member collision_mask].\n" +"[b]Note:[/b] Object A can detect a contact with object B only if object B is " +"in any of the layers that object A scans. See [url=$DOCS_URL/tutorials/" +"physics/physics_introduction.html#collision-layers-and-masks]Collision " +"layers and masks[/url] in the documentation for more information." +msgstr "" +"此 CollisionObject2D 所在的物理层。碰撞对象可以存在于 32 个不同层中的一个或多" +"个中。另见 [member collision_mask]。\n" +"[b]注意:[/b]只有当对象 B 在对象 A 扫描的任何层中时,对象 A 才能检测到与对象 " +"B 的接触。有关更多信息,请参阅文档中的[url=$DOCS_URL/tutorials/physics/" +"physics_introduction.html#collision-layers-and-masks]《碰撞层与掩码》[/url]。" + +msgid "" +"The physics layers this CollisionObject2D scans. Collision objects can scan " +"one or more of 32 different layers. See also [member collision_layer].\n" +"[b]Note:[/b] Object A can detect a contact with object B only if object B is " +"in any of the layers that object A scans. See [url=$DOCS_URL/tutorials/" +"physics/physics_introduction.html#collision-layers-and-masks]Collision " +"layers and masks[/url] in the documentation for more information." +msgstr "" +"此 CollisionObject2D 扫描的物理层。碰撞对象可以扫描 32 个不同层中的一个或多" +"个。另见 [member collision_layer]。\n" +"[b]注意:[/b]只有当对象 B 在对象 A 扫描的任何层中时,对象 A 才能检测到与对象 " +"B 的接触。有关更多信息,请参阅文档中的[url=$DOCS_URL/tutorials/physics/" +"physics_introduction.html#collision-layers-and-masks]《碰撞层与掩码》[/url]。" + +msgid "" +"The priority used to solve colliding when occurring penetration. The higher " +"the priority is, the lower the penetration into the object will be. This can " +"for example be used to prevent the player from breaking through the " +"boundaries of a level." +msgstr "" +"发生穿透时用于解决碰撞的优先级。优先级越高,对物体的穿透度就越低。例如,可以" +"用来防止玩家突破关卡的边界。" + +msgid "" "If [code]true[/code], this object is pickable. A pickable object can detect " "the mouse pointer entering/leaving, and if the mouse is inside it, report " "input events. Requires at least one [member collision_layer] bit to be set." @@ -18333,6 +19656,26 @@ msgstr "" "collision_layer] 位。" msgid "" +"Emitted when the mouse pointer enters any of this object's shapes or moves " +"from one shape to another. [param shape_idx] is the child index of the newly " +"entered [Shape2D]. Requires [member input_pickable] to be [code]true[/code] " +"and at least one [member collision_layer] bit to be set." +msgstr "" +"当鼠标指针进入该实体的任何形状或从一种形状移动到另一种形状时发出。[param " +"shape_idx] 是新进入的 [Shape2D] 的子索引。要求 [member input_pickable] 为 " +"[code]true[/code] 并且至少设置一个 [member collision_layer] 位。" + +msgid "" +"Emitted when the mouse pointer exits any of this object's shapes. [param " +"shape_idx] is the child index of the exited [Shape2D]. Requires [member " +"input_pickable] to be [code]true[/code] and at least one [member " +"collision_layer] bit to be set." +msgstr "" +"当鼠标指针离开该实体的任何形状时发出。[param shape_idx] 是退出的 [Shape2D] 的" +"子索引。要求 [member input_pickable] 为 [code]true[/code] 并且至少设置一个 " +"[member collision_layer] 位。" + +msgid "" "When [member Node.process_mode] is set to [constant Node." "PROCESS_MODE_DISABLED], remove from the physics simulation to stop all " "physics interactions with this [CollisionObject2D].\n" @@ -18369,6 +19712,43 @@ msgstr "" "[code]true[/code],并且至少要设置一个 [member collision_layer] 位。" msgid "" +"Called when the mouse pointer enters any of this object's shapes. Requires " +"[member input_ray_pickable] to be [code]true[/code] and at least one [member " +"collision_layer] bit to be set. Note that moving between different shapes " +"within a single [CollisionObject3D] won't cause this function to be called." +msgstr "" +"当鼠标指针进入该实体的任何形状时调用。要求 [member input_ray_pickable] 为 " +"[code]true[/code] 并且至少设置一个 [member collision_layer] 位。请注意,在单" +"个 [CollisionObject3D] 中的不同形状之间移动,不会导致该函数被调用。" + +msgid "" +"Called when the mouse pointer exits all this object's shapes. Requires " +"[member input_ray_pickable] to be [code]true[/code] and at least one [member " +"collision_layer] bit to be set. Note that moving between different shapes " +"within a single [CollisionObject3D] won't cause this function to be called." +msgstr "" +"当鼠标指针离开该实体的所有形状时调用。要求 [member input_ray_pickable] 为 " +"[code]true[/code] 并且至少设置一个 [member collision_layer] 位。请注意,在单" +"个 [CollisionObject3D] 中的不同形状之间移动,不会导致该函数被调用。" + +msgid "Adds a [Shape3D] to the shape owner." +msgstr "向形状拥有者添加 [Shape3D]。" + +msgid "Returns the [Shape3D] with the given ID from the given shape owner." +msgstr "返回形状所有者中具有给定 ID 的 [Shape3D]。" + +msgid "" +"Returns the child index of the [Shape3D] with the given ID from the given " +"shape owner." +msgstr "返回形状所有者中具有给定 ID 的 [Shape3D] 的子索引。" + +msgid "Returns the shape owner's [Transform3D]." +msgstr "返回形状所有者的 [Transform3D]。" + +msgid "Sets the [Transform3D] of the given shape owner." +msgstr "设置给定形状所有者的 [Transform3D]。" + +msgid "" "When [member Node.process_mode] is set to [constant Node." "PROCESS_MODE_DISABLED], remove from the physics simulation to stop all " "physics interactions with this [CollisionObject3D].\n" @@ -18821,6 +20201,13 @@ msgstr "" "[/codeblocks]" msgid "" +"Returns [code]true[/code] if this color and [param to] are approximately " +"equal, by running [method @GlobalScope.is_equal_approx] on each component." +msgstr "" +"如果该颜色和 [param to] 近似相等,则返回 [code]true[/code],判断近似相等的方" +"法是通过在每个分量上运行 [method @GlobalScope.is_equal_approx]。" + +msgid "" "Returns the linear interpolation between this color's components and [param " "to]'s components. The interpolation factor [param weight] should be between " "0.0 and 1.0 (inclusive). See also [method @GlobalScope.lerp].\n" @@ -19625,6 +21012,14 @@ msgstr "" "当于 [member g],[code][2][/code] 相当于 [member b],[code][3][/code] 相当于 " "[member a]." +msgid "" +"Returns the same value as if the [code]+[/code] was not there. Unary " +"[code]+[/code] does nothing, but sometimes it can make your code more " +"readable." +msgstr "" +"返回与 [code]+[/code] 不存在时相同的值。单目 [code]+[/code] 没有作用,但有时" +"可以使你的代码更具可读性。" + msgid "Color picker control." msgstr "取色器控件。" @@ -19969,6 +21364,56 @@ msgid "" "The array of points that make up the [ConcavePolygonShape2D]'s line segments." msgstr "组成 [ConcavePolygonShape2D] 线段的点的数组。" +msgid "" +"3D concave polygon shape resource (also called \"trimesh\") to be added as a " +"[i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a " +"[CollisionShape3D] node. This shape is created by feeding a list of " +"triangles. Despite its name, [ConcavePolygonShape3D] can also store convex " +"polygon shapes. However, unlike [ConvexPolygonShape3D], " +"[ConcavePolygonShape3D] is [i]not[/i] limited to storing convex shapes " +"exclusively.\n" +"[b]Note:[/b] When used for collision, [ConcavePolygonShape3D] is intended to " +"work with static [PhysicsBody3D] nodes like [StaticBody3D] and will not work " +"with [CharacterBody3D] or [RigidBody3D] with a mode other than Static.\n" +"[b]Performance:[/b] Due to its complexity, [ConcavePolygonShape3D] is the " +"slowest collision shape to check collisions against. Its use should " +"generally be limited to level geometry. For convex geometry, using " +"[ConvexPolygonShape3D] will perform better. For dynamic physics bodies that " +"need concave collision, several [ConvexPolygonShape3D]s can be used to " +"represent its collision by using convex decomposition; see " +"[ConvexPolygonShape3D]'s documentation for instructions. However, consider " +"using primitive collision shapes such as [SphereShape3D] or [BoxShape3D] " +"first.\n" +"[b]Warning:[/b] Using this shape for an [Area3D] (via a [CollisionShape3D] " +"node, created e.g. by using the [i]Create Trimesh Collision Sibling[/i] " +"option in the [i]Mesh[/i] menu that appears when selecting a " +"[MeshInstance3D] node) may give unexpected results: the area will only " +"detect collisions with the triangle faces in the [ConcavePolygonShape3D] " +"(and not with any \"inside\" of the shape, for example); moreover it will " +"only detect all such collisions if [member backface_collision] is " +"[code]true[/code]." +msgstr "" +"使用 [CollisionShape3D] 节点时,添加为 [PhysicsBody3D] 或 [Area3D] 的[i]直接" +"[/i]子节点的 3D 凹多边形形状资源(也称为“trimesh”)。这个形状是通过输入一个三" +"角形列表创建的。尽管名称如此,[ConcavePolygonShape3D] 也可以存储凸多边形形" +"状。因而,与 [ConvexPolygonShape3D] 不同,[ConcavePolygonShape3D] [i]不[/i]仅" +"限于专门存储凸多边形。\n" +"[b]注意:[/b]当用于碰撞时,[ConcavePolygonShape3D] 旨在与 [StaticBody3D] 等静" +"态 [PhysicsBody3D] 节点一起使用,而不会与使用非静态模式的 [CharacterBody3D] " +"或 [RigidBody3D] 等一起使用。\n" +"[b]性能:[/b]由于其复杂性,[ConcavePolygonShape3D] 是检查碰撞时最慢的碰撞形" +"状。它的使用通常应限于关卡几何体。对于凸形几何体,使用 " +"[ConvexPolygonShape3D] 会表现更好。对于需要凸形碰撞的动态物理实体,可以用几" +"个 [ConvexPolygonShape3D] 通过凸形分解来表示它的碰撞;有关说明,请参阅 " +"[ConvexPolygonShape3D] 的文档。但是,请首先考虑使用原始碰撞形状,例如 " +"[SphereShape3D] 或 [BoxShape3D]。\n" +"[b]警告:[/b]将该形状用于 [Area3D](通过 [CollisionShape3D] 节点创建的,例如" +"通过使用选择 [MeshInstance3D] 节点时出现的[i]网格[/i]菜单中的[i]创建三角网格" +"碰撞同级[/i]选项)时可能会产生意想不到的结果:该区域将仅检测与 " +"[ConcavePolygonShape3D] 中的三角形面的碰撞(例如,并不会检测与形状的任何“内" +"部”的碰撞);此外,如果 [member backface_collision] 为 [code]true[/code],它" +"只会检测所有这种碰撞。" + msgid "Returns the faces (an array of triangles)." msgstr "返回面(三角形数组)。" @@ -20032,6 +21477,16 @@ msgstr "" msgid "Returns an array of all defined section identifiers." msgstr "返回所有已定义节标识符的数组。" +msgid "" +"Returns the current value for the specified section and key. If either the " +"section or the key do not exist, the method returns the fallback [param " +"default] value. If [param default] is not specified or set to [code]null[/" +"code], an error is also raised." +msgstr "" +"返回指定部分和键的当前值。如果该部分或键不存在,则该方法返回后备值 [param " +"default]。如果未指定 [param default] 或将其设置为 [code]null[/code],则会引发" +"一个错误。" + msgid "Returns [code]true[/code] if the specified section exists." msgstr "如果指定的部分存在,则返回 [code]true[/code]。" @@ -20498,6 +21953,19 @@ msgstr "" "[b]注意:[/b]事件位置相对于该控件原点。" msgid "" +"Virtual method to be implemented by the user. Returns whether the given " +"[param point] is inside this control.\n" +"If not overridden, default behavior is checking if the point is within " +"control's Rect.\n" +"[b]Note:[/b] If you want to check if a point is inside the control, you can " +"use [code]Rect2(Vector2.ZERO, size).has_point(point)[/code]." +msgstr "" +"由用户实现的虚方法。返回给定的 [param point] 是否在该控件内。\n" +"如果没有被覆盖,则默认行为是检查该点是否在控件的 Rect 内。\n" +"[b]注意:[/b]如果要检查一个点是否在该控件内部,可以使用 [code]Rect2(Vector2." +"ZERO, size).has_point(point)[/code]。" + +msgid "" "Virtual method to be implemented by the user. Returns a [Control] node that " "should be used as a tooltip instead of the default one. The [param for_text] " "includes the contents of the [member tooltip_text] property.\n" @@ -20729,6 +22197,22 @@ msgid "Returns the parent control node." msgstr "返回父控制节点。" msgid "" +"Returns the position and size of the control in the coordinate system of the " +"containing node. See [member position], [member scale] and [member size].\n" +"[b]Note:[/b] If [member rotation] is not the default rotation, the resulting " +"size is not meaningful.\n" +"[b]Note:[/b] Setting [member Viewport.gui_snap_controls_to_pixels] to " +"[code]true[/code] can lead to rounding inaccuracies between the displayed " +"control and the returned [Rect2]." +msgstr "" +"返回控件在包含节点的坐标系中的位置和大小。参见 [member position]、[member " +"scale] 和 [member size]。\n" +"[b]注意:[/b]如果 [member rotation] 不是默认的旋转,那么得到的大小是没有意义" +"的。\n" +"[b]注意:[/b]将 [member Viewport.gui_snap_controls_to_pixels] 设置为 " +"[code]true[/code],会导致显示的控件和返回的 [Rect2] 之间的舍入不准确。" + +msgid "" "Returns a [Color] from the first matching [Theme] in the tree if that " "[Theme] has a color item with the specified [param name] and [param " "theme_type]. If [param theme_type] is omitted the class name of the current " @@ -21048,6 +22532,28 @@ msgstr "" "add_theme_stylebox_override] 或检查器面板添加的。" msgid "" +"Sets the anchor for the specified [enum Side] to [param anchor]. A setter " +"method for [member anchor_bottom], [member anchor_left], [member " +"anchor_right] and [member anchor_top].\n" +"If [param keep_offset] is [code]true[/code], offsets aren't updated after " +"this operation.\n" +"If [param push_opposite_anchor] is [code]true[/code] and the opposite anchor " +"overlaps this anchor, the opposite one will have its value overridden. For " +"example, when setting left anchor to 1 and the right anchor has value of " +"0.5, the right anchor will also get value of 1. If [param " +"push_opposite_anchor] was [code]false[/code], the left anchor would get " +"value 0.5." +msgstr "" +"将指定 [enum Side] 的锚点设置为 [param anchor]。用于 [member anchor_bottom]、" +"[member anchor_left]、[member anchor_right]、和 [member anchor_top] 的设值函" +"数。\n" +"如果 [param keep_offset] 为 [code]true[/code],则偏移量不会在该操作后更新。\n" +"如果 [param push_opposite_anchor] 为 [code]true[/code],并且相对的锚点与该锚" +"点重叠,则相对的锚点的值将被覆盖。例如,当将左锚点设置为 1 且右锚点的值为 " +"0.5 时,右锚点的值也将为 1。如果 [param push_opposite_anchor] 为 " +"[code]false[/code],则左锚点的值将为 0.5。" + +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])." @@ -21138,6 +22644,33 @@ msgid "Sets [member offset_right] and [member offset_bottom] at the same time." msgstr "同时设置 [member offset_right] 和 [member offset_bottom]。" msgid "" +"Sets the [member global_position] to given [param position].\n" +"If [param keep_offsets] is [code]true[/code], control's anchors will be " +"updated instead of offsets." +msgstr "" +"将 [member global_position] 设置为给定的 [param position]。\n" +"如果 [param keep_offsets] 为 [code]true[/code],则将更新控件的锚点而不是偏移" +"量。" + +msgid "" +"Sets the [member position] to given [param position].\n" +"If [param keep_offsets] is [code]true[/code], control's anchors will be " +"updated instead of offsets." +msgstr "" +"将 [member position] 设置为给定的 [param position]。\n" +"如果 [param keep_offsets] 为 [code]true[/code],则将更新控件的锚点而不是偏移" +"量。" + +msgid "" +"Sets the size (see [member size]).\n" +"If [param keep_offsets] is [code]true[/code], control's anchors will be " +"updated instead of offsets." +msgstr "" +"设置大小(参见 [member size])。\n" +"如果 [param keep_offsets] 为 [code]true[/code],则将更新控件的锚点而不是偏移" +"量。" + +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 " @@ -21748,28 +23281,28 @@ msgid "" "Snap all 4 anchors to the center of the left edge of the parent control's " "bounds. Use with [method set_anchors_preset]." msgstr "" -"将所有 4 个锚点对齐到父控件边界的左边缘的中心。与 [method " +"将所有 4 个锚点对齐到父控件边界的左边缘的中点。与 [method " "set_anchors_preset] 一起使用。" msgid "" "Snap all 4 anchors to the center of the top edge of the parent control's " "bounds. Use with [method set_anchors_preset]." msgstr "" -"将所有 4 个锚点对齐到父控件边界的顶边缘的中心。与 [method " +"将所有 4 个锚点对齐到父控件边界的顶边缘的中点。与 [method " "set_anchors_preset] 一起使用。" msgid "" "Snap all 4 anchors to the center of the right edge of the parent control's " "bounds. Use with [method set_anchors_preset]." msgstr "" -"将所有 4 个锚点对齐到父控件边界的右边缘的中心。与 [method " +"将所有 4 个锚点对齐到父控件边界的右边缘的中点。与 [method " "set_anchors_preset] 一起使用。" msgid "" "Snap all 4 anchors to the center of the bottom edge of the parent control's " "bounds. Use with [method set_anchors_preset]." msgstr "" -"将所有 4 个锚点对齐到父控件边界的底边缘的中心。与 [method " +"将所有 4 个锚点对齐到父控件边界的底边缘的中点。与 [method " "set_anchors_preset] 一起使用。" msgid "" @@ -21780,6 +23313,42 @@ msgstr "" "用。" msgid "" +"Snap all 4 anchors to the left edge of the parent control. The left offset " +"becomes relative to the left edge and the top offset relative to the top " +"left corner of the node's parent. Use with [method set_anchors_preset]." +msgstr "" +"将所有 4 个锚点对齐到父控件的左边缘。左偏移量相对于父节点的左边缘,上偏移量相" +"对于父节点的左上角。与 [method set_anchors_preset] 一起使用。" + +msgid "" +"Snap all 4 anchors to the top edge of the parent control. The left offset " +"becomes relative to the top left corner, the top offset relative to the top " +"edge, and the right offset relative to the top right corner of the node's " +"parent. Use with [method set_anchors_preset]." +msgstr "" +"将所有 4 个锚点对齐到父控件的上边缘。左偏移量相对于父节点的左上角,上偏移量相" +"对于父节点的上边缘,右偏移相对于父节点的右上角。与 [method " +"set_anchors_preset] 一起使用。" + +msgid "" +"Snap all 4 anchors to the right edge of the parent control. The right offset " +"becomes relative to the right edge and the top offset relative to the top " +"right corner of the node's parent. Use with [method set_anchors_preset]." +msgstr "" +"将所有 4 个锚点对齐到父控件的右边缘。右偏移量相对于父节点的右边缘,上偏移量相" +"对于父节点的右上角。与 [method set_anchors_preset] 一起使用。" + +msgid "" +"Snap all 4 anchors to the bottom edge of the parent control. The left offset " +"becomes relative to the bottom left corner, the bottom offset relative to " +"the bottom edge, and the right offset relative to the bottom right corner of " +"the node's parent. Use with [method set_anchors_preset]." +msgstr "" +"将所有 4 个锚点对齐到父控件的下边缘。左偏移量相对于父节点的左下角,下偏移量相" +"对于父节点的下边缘,右偏移相对于父节点的右下角。与 [method " +"set_anchors_preset] 一起使用。" + +msgid "" "Snap all 4 anchors to a vertical line that cuts the parent control in half. " "Use with [method set_anchors_preset]." msgstr "" @@ -21793,6 +23362,14 @@ msgstr "" "将所有 4 个锚点对齐到一条水平线,该水平线将父控件切成两半。与 [method " "set_anchors_preset] 一起使用。" +msgid "" +"Snap all 4 anchors to the respective corners of the parent control. Set all " +"4 offsets to 0 after you applied this preset and the [Control] will fit its " +"parent control. Use with [method set_anchors_preset]." +msgstr "" +"将所有 4 个锚点对齐到父控件对应的角。应用此预设后,会将所有 4 个偏移都设置为 " +"0,该 [Control] 将适合其父控件。与 [method set_anchors_preset] 一起使用。" + msgid "The control will be resized to its minimum size." msgstr "控件将被调整为最小尺寸。" @@ -21936,12 +23513,55 @@ msgstr "" "该多边形的顶点列表。顺时针顺序或逆时针顺序都有可能。请用凸包点设置该属性,可" "以用 [method set_point_cloud] 从凹形状点设成凸包形状。" +msgid "" +"3D convex polygon shape resource to be added as a [i]direct[/i] child of a " +"[PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. Unlike " +"[ConcavePolygonShape3D], [ConvexPolygonShape3D] cannot store concave polygon " +"shapes. [ConvexPolygonShape3D]s can be manually drawn in the editor using " +"the [CollisionPolygon3D] node.\n" +"[b]Convex decomposition:[/b] Concave objects' collisions can be represented " +"accurately using [i]several[/i] [ConvexPolygonShape3D]s. This allows dynamic " +"physics bodies to have complex concave collisions (at a performance cost). " +"This is available in the editor by selecting the [MeshInstance3D], going to " +"the [b]Mesh[/b] menu and choosing [b]Create Multiple Convex Collision " +"Siblings[/b]. Alternatively, [method MeshInstance3D." +"create_multiple_convex_collisions] can be called in a script to perform this " +"decomposition at run-time.\n" +"[b]Performance:[/b] [ConvexPolygonShape3D] is faster to check collisions " +"against compared to [ConcavePolygonShape3D], but it is slower than primitive " +"collision shapes such as [SphereShape3D] or [BoxShape3D]. Its use should " +"generally be limited to medium-sized objects that cannot have their " +"collision accurately represented by a primitive shape." +msgstr "" +"使用 [CollisionShape3D] 节点,添加为 [PhysicsBody3D] 或 [Area3D] 的[i]直接[/" +"i]子节点的 3D 凸多边形形状资源。与 [ConcavePolygonShape3D] 不同," +"[ConvexPolygonShape3D] 不能存储凹多边形形状。[ConvexPolygonShape3D] 可以使用 " +"[CollisionPolygon3D] 节点在编辑器中手动绘制。\n" +"[b]凸面分解:[/b]凹面物体的碰撞可以使用[i]几个[/i] [ConvexPolygonShape3D] 来" +"准确表示。这允许动态物理实体具有复杂的凹面碰撞(以性能为代价)。这在编辑器中" +"可用,方法是选择 [MeshInstance3D],转到[b]网格[/b]菜单并选择[b]创建三角网格碰" +"撞同级[/b]。或者,也可以在脚本中调用 [method MeshInstance3D." +"create_multiple_convex_collisions],以在运行时执行该分解。\n" +"[b]性能:[/b]与 [ConcavePolygonShape3D] 相比,[ConvexPolygonShape3D] 检查碰撞" +"的速度更快,但比 [SphereShape3D] 或 [BoxShape3D] 等原始碰撞形状慢。它的使用通" +"常应仅限于不能用原始形状准确表示其碰撞的中等大小的实体。" + msgid "The list of 3D points forming the convex polygon shape." msgstr "形成凸多边形的 3D 点列表。" msgid "CPU-based 2D particle emitter." msgstr "基于 CPU 的 2D 粒子发射器。" +msgid "" +"CPU-based 2D particle node used to create a variety of particle systems and " +"effects.\n" +"See also [GPUParticles2D], which provides the same functionality with " +"hardware acceleration, but may not run on older devices." +msgstr "" +"基于 CPU 的 2D 粒子节点,可用于创建各种粒子系统、粒子效果。\n" +"另见 [GPUParticles2D],利用硬件加速提供了相同的功能,但可能无法在较旧的设备上" +"运行。" + msgid "Particle systems (2D)" msgstr "粒子系统(2D)" @@ -21954,6 +23574,11 @@ msgstr "返回给定参数的最大值范围。" msgid "Returns the minimum value range for the given parameter." msgstr "返回给定参数的最小值范围。" +msgid "" +"Returns the enabled state of the given flag (see [enum ParticleFlags] for " +"options)." +msgstr "返回给定标志的启用状态(选项见 [enum ParticleFlags])。" + msgid "Restarts the particle emitter." msgstr "重新启动粒子发射器。" @@ -22317,6 +23942,21 @@ msgstr "代表 [enum EmissionShape] 枚举的大小。" msgid "CPU-based 3D particle emitter." msgstr "基于 CPU 的 3D 粒子发射器。" +msgid "" +"CPU-based 3D particle node used to create a variety of particle systems and " +"effects.\n" +"See also [GPUParticles3D], which provides the same functionality with " +"hardware acceleration, but may not run on older devices." +msgstr "" +"基于 CPU 的 3D 粒子节点,可用于创建各种粒子系统、粒子效果。\n" +"另见 [GPUParticles3D],利用硬件加速提供了相同的功能,但可能无法在较旧的设备上" +"运行。" + +msgid "" +"Returns the enabled state of the given particle flag (see [enum " +"ParticleFlags] for options)." +msgstr "返回给定粒子标志的启用状态(选项见 [enum ParticleFlags])。" + msgid "Maximum angle." msgstr "最大角度。" @@ -22349,6 +23989,25 @@ msgstr "" "围。" msgid "" +"Sets the [Color]s to modulate particles by when using [constant " +"EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS].\n" +"[b]Note:[/b] [member emission_colors] multiplies the particle mesh's vertex " +"colors. To have a visible effect on a [BaseMaterial3D], [member " +"BaseMaterial3D.vertex_color_use_as_albedo] [i]must[/i] be [code]true[/code]. " +"For a [ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted " +"in the shader's [code]fragment()[/code] function. Otherwise, [member " +"emission_colors] will have no visible effect." +msgstr "" +"设置使用 [constant EMISSION_SHAPE_POINTS] 或 [constant " +"EMISSION_SHAPE_DIRECTED_POINTS] 时对粒子进行调制的 [Color]。\n" +"[b]注意:[/b][member emission_colors] 会与粒子网格的顶点颜色相乘。要在 " +"[BaseMaterial3D] 上产生可见效果,[member BaseMaterial3D." +"vertex_color_use_as_albedo] [i]必须[/i]为 [code]true[/code]。对于 " +"[ShaderMaterial],必须在着色器的 [code]fragment()[/code] 函数中插入 " +"[code]ALBEDO *= COLOR.rgb;[/code]。否则 [member emission_colors] 不会产生可见" +"效果。" + +msgid "" "The axis of the ring when using the emitter [constant EMISSION_SHAPE_RING]." msgstr "使用发射器时的环轴 [constant EMISSION_SHAPE_RING]。" @@ -23065,6 +24724,20 @@ msgid "The CSG base class." msgstr "CSG 基类。" msgid "" +"Returns whether or not the specified layer of the [member collision_layer] " +"is enabled, given a [code]layer_number[/code] between 1 and 32." +msgstr "" +"返回 [member collision_layer] 中的指定层是否启用,[code]layer_number[/code] " +"应在 1 和 32 之间。" + +msgid "" +"Returns whether or not the specified layer of the [member collision_mask] is " +"enabled, given a [code]layer_number[/code] between 1 and 32." +msgstr "" +"返回 [member collision_mask] 中的指定层是否启用,[code]layer_number[/code] 应" +"在 1 和 32 之间。" + +msgid "" "Returns [code]true[/code] if this is a root shape and is thus the object " "that is rendered." msgstr "如果这是根形状,因此是渲染的对象,则返回 [code]true[/code]。" @@ -23097,6 +24770,16 @@ msgstr "" "physics_introduction.html#collision-layers-and-masks]《碰撞层与掩码》[/url]。" msgid "" +"The physics layers this CSG shape scans for collisions. Only effective if " +"[member use_collision] is [code]true[/code]. See [url=$DOCS_URL/tutorials/" +"physics/physics_introduction.html#collision-layers-and-masks]Collision " +"layers and masks[/url] in the documentation for more information." +msgstr "" +"该 CSG 形状扫描碰撞的物理层。仅当 [member use_collision] 为 [code]true[/" +"code] 时有效。有关更多信息,请参阅文档中的[url=$DOCS_URL/tutorials/physics/" +"physics_introduction.html#collision-layers-and-masks]《碰撞层与掩码》[/url]。" + +msgid "" "The operation that is performed on this shape. This is ignored for the first " "CSG child node as the operation is between this node and the previous child " "of this nodes parent." @@ -23198,6 +24881,10 @@ msgstr "通常用于 3D 渲染的 6 面纹理。" msgid "Creates a placeholder version of this resource ([PlaceholderCubemap])." msgstr "创建该资源的占位符版本([PlaceholderCubemap])。" +msgid "" +"Creates a placeholder version of this resource ([PlaceholderCubemapArray])." +msgstr "创建该资源的占位符版本([PlaceholderCubemapArray])。" + msgid "A mathematic curve." msgstr "数学曲线。" @@ -23318,6 +25005,23 @@ msgstr "" "它保留了沿曲线的预计算点的缓存,以加快进一步的计算。" msgid "" +"Adds a point with the specified [param position] relative to the curve's own " +"position, with control points [param in] and [param out]. Appends the new " +"point at the end of the point list.\n" +"If [param index] is given, the new point is inserted before the existing " +"point identified by index [param index]. Every existing point starting from " +"[param index] is shifted further down the list of points. The index must be " +"greater than or equal to [code]0[/code] and must not exceed the number of " +"existing points in the line. See [member point_count]." +msgstr "" +"添加一个具有相对于曲线自身位置的指定 [param position],且带有控制点 [param " +"in] 和 [param out] 的点。在点列表的末尾追加该新点。\n" +"如果给定了 [param index],则将新点插入到由索引 [param index] 标识的已有点之" +"前。从 [param index] 开始的每个已有点,都会在点列表中进一步向下移动。索引必须" +"大于或等于 [code]0[/code],并且不得超过线段中已有点的数量。参见 [member " +"point_count]。" + +msgid "" "Returns the total length of the curve, based on the cached points. Given " "enough density (see [member bake_interval]), it should be approximate enough." msgstr "" @@ -23325,6 +25029,34 @@ msgstr "" "它应该是足够近似的。" msgid "" +"Returns the position of the control point leading to the vertex [param idx]. " +"The returned position is relative to the vertex [param idx]. If the index is " +"out of bounds, the function sends an error to the console, and returns [code]" +"(0, 0)[/code]." +msgstr "" +"返回指向顶点 [param idx] 的控制点的位置。返回的位置是相对于顶点 [param idx] " +"的。如果索引越界,则该函数将向控制台发送一个错误,并返回 [code](0, 0)[/" +"code]。" + +msgid "" +"Returns the position of the control point leading out of the vertex [param " +"idx]. The returned position is relative to the vertex [param idx]. If the " +"index is out of bounds, the function sends an error to the console, and " +"returns [code](0, 0)[/code]." +msgstr "" +"返回离向顶点 [param idx] 的控制点的位置。返回的位置是相对于顶点 [param idx] " +"的。如果索引越界,则该函数将向控制台发送一个错误,并返回 [code](0, 0)[/" +"code]。" + +msgid "" +"Returns the position of the vertex [param idx]. If the index is out of " +"bounds, the function sends an error to the console, and returns [code](0, 0)" +"[/code]." +msgstr "" +"返回顶点的位置 [param idx]。如果索引越界,则该函数将向控制台发送一个错误,并" +"返回 [code](0, 0)[/code]。" + +msgid "" "Deletes the point [code]idx[/code] from the curve. Sends an error to the " "console if [code]idx[/code] is out of bounds." msgstr "" @@ -23332,6 +25064,48 @@ msgstr "" "错误信息。" msgid "" +"Returns the position between the vertex [param idx] and the vertex [code]idx " +"+ 1[/code], where [param t] controls if the point is the first vertex " +"([code]t = 0.0[/code]), the last vertex ([code]t = 1.0[/code]), or in " +"between. Values of [param t] outside the range ([code]0.0 >= t <=1[/code]) " +"give strange, but predictable results.\n" +"If [param idx] is out of bounds it is truncated to the first or last vertex, " +"and [param t] is ignored. If the curve has no points, the function sends an " +"error to the console, and returns [code](0, 0)[/code]." +msgstr "" +"返回顶点 [param idx] 和顶点 [code]idx + 1[/code] 之间的位置,其中 [param t] " +"控制该点是否为第一个顶点([code]t = 0.0[/code])、最后一个顶点([code]t = " +"1.0[/code])、或介于两者之间。超出范围([code]0.0 >= t <=1[/code])的 [param " +"t] 的值会给出奇怪但可预测的结果。\n" +"如果 [param idx] 越界,它将被截断到第一个或最后一个顶点,而 [param t] 将被忽" +"略。如果曲线没有点,则该函数将向控制台发送一个错误,并返回 [code](0, 0)[/" +"code]。" + +msgid "" +"Returns a point within the curve at position [param offset], where [param " +"offset] is measured as a pixel distance along the curve.\n" +"To do that, it finds the two cached points where the [param offset] lies " +"between, then interpolates the values. This interpolation is cubic if [param " +"cubic] is set to [code]true[/code], or linear if set to [code]false[/code].\n" +"Cubic interpolation tends to follow the curves better, but linear is faster " +"(and often, precise enough)." +msgstr "" +"返回曲线内位于 [param offset] 位置的一个点,其中 [param offset] 为沿曲线的像" +"素测量距离。\n" +"为此,它会找到 [param offset] 位于其中的两个缓存点,然后对值进行插值。如果 " +"[param cubic] 被设置为 [code]true[/code],则该插值是立方插值;如果被设置为 " +"[code]false[/code],则该插值是线性插值。\n" +"立方插值往往能更好地跟随曲线,但线性插值速度更快(而且通常足够精确)。" + +msgid "" +"Returns the position at the vertex [param fofs]. It calls [method sample] " +"using the integer part of [param fofs] as [code]idx[/code], and its " +"fractional part as [code]t[/code]." +msgstr "" +"返回顶点 [param fofs] 的位置。该函数使用 [param fofs] 的整数部分作为 " +"[code]idx[/code],其小数部分作为 [code]t[/code],调用 [method sample]。" + +msgid "" "Returns a list of points along the curve, with almost uniform density. " "[param max_stages] controls how many subdivisions a curve segment may face " "before it is considered approximate enough. Each subdivision splits the " @@ -23363,6 +25137,93 @@ msgid "Returns the cache of points as a [PackedVector3Array]." msgstr "返回缓存的点,类型为 [PackedVector3Array]。" msgid "" +"Returns the position of the control point leading to the vertex [param idx]. " +"The returned position is relative to the vertex [param idx]. If the index is " +"out of bounds, the function sends an error to the console, and returns [code]" +"(0, 0, 0)[/code]." +msgstr "" +"返回指向顶点 [param idx] 的控制点的位置。返回的位置是相对于顶点 [param idx] " +"的。如果索引越界,则该函数将向控制台发送一个错误,并返回 [code](0, 0, 0)[/" +"code]。" + +msgid "" +"Returns the position of the control point leading out of the vertex [param " +"idx]. The returned position is relative to the vertex [param idx]. If the " +"index is out of bounds, the function sends an error to the console, and " +"returns [code](0, 0, 0)[/code]." +msgstr "" +"返回离向顶点 [param idx] 的控制点的位置。返回的位置是相对于顶点 [param idx] " +"的。如果索引越界,则该函数将向控制台发送一个错误,并返回 [code](0, 0, 0)[/" +"code]。" + +msgid "" +"Returns the position of the vertex [param idx]. If the index is out of " +"bounds, the function sends an error to the console, and returns [code](0, 0, " +"0)[/code]." +msgstr "" +"返回顶点 [param idx] 的位置。如果索引越界,则该函数将向控制台发送一个错误,并" +"返回 [code](0, 0, 0)[/code]。" + +msgid "" +"Returns the tilt angle in radians for the point [param idx]. If the index is " +"out of bounds, the function sends an error to the console, and returns " +"[code]0[/code]." +msgstr "" +"返回点 [param idx] 的倾斜弧度角。如果索引越界,则该函数将向控制台发送一个错" +"误,并返回 [code]0[/code]。" + +msgid "" +"Returns the position between the vertex [param idx] and the vertex [code]idx " +"+ 1[/code], where [param t] controls if the point is the first vertex " +"([code]t = 0.0[/code]), the last vertex ([code]t = 1.0[/code]), or in " +"between. Values of [param t] outside the range ([code]0.0 >= t <=1[/code]) " +"give strange, but predictable results.\n" +"If [param idx] is out of bounds it is truncated to the first or last vertex, " +"and [param t] is ignored. If the curve has no points, the function sends an " +"error to the console, and returns [code](0, 0, 0)[/code]." +msgstr "" +"返回顶点 [param idx] 和顶点 [code]idx + 1[/code] 之间的位置,其中 [param t] " +"控制该点是否为第一个顶点([code]t = 0.0[/code])、最后一个顶点([code]t = " +"1.0[/code])、或介于两者之间。超出范围([code]0.0 >= t <=1[/code])的 [param " +"t] 的值会给出奇怪但可预测的结果。\n" +"如果 [param idx] 越界,它将被截断到第一个或最后一个顶点,而 [param t] 将被忽" +"略。如果曲线没有点,则该函数将向控制台发送一个错误,并返回 [code](0, 0, 0)[/" +"code]。" + +msgid "" +"Returns a point within the curve at position [param offset], where [param " +"offset] is measured as a distance in 3D units along the curve.\n" +"To do that, it finds the two cached points where the [param offset] lies " +"between, then interpolates the values. This interpolation is cubic if [param " +"cubic] is set to [code]true[/code], or linear if set to [code]false[/code].\n" +"Cubic interpolation tends to follow the curves better, but linear is faster " +"(and often, precise enough)." +msgstr "" +"返回曲线内位于 [param offset] 位置的一个点,其中 [param offset] 为沿曲线的 " +"3D 单位测量距离。\n" +"为此,它会找到 [param offset] 位于其间的两个缓存点,然后对值进行插值。如果 " +"[param cubic] 被设置为 [code]true[/code],则该插值是立方插值;如果被设置为 " +"[code]false[/code],则该插值是线性插值。\n" +"立方插值往往能更好地跟随曲线,但线性插值速度更快(而且通常足够精确)。" + +msgid "" +"Returns an up vector within the curve at position [param offset], where " +"[param offset] is measured as a distance in 3D units along the curve.\n" +"To do that, it finds the two cached up vectors where the [param offset] lies " +"between, then interpolates the values. If [param apply_tilt] is [code]true[/" +"code], an interpolated tilt is applied to the interpolated up vector.\n" +"If the curve has no up vectors, the function sends an error to the console, " +"and returns [code](0, 1, 0)[/code]." +msgstr "" +"返回曲线内位于 [param offset] 位置的向上向量,其中 [param offset] 为沿曲线的 " +"3D 单位测量距离。\n" +"为此,它会找到 [param offset] 位于其间的两个缓存向上向量,然后对值进行插值。" +"如果 [param apply_tilt] 为 [code]true[/code],则对插值后的向上向量应用插值后" +"的倾斜。\n" +"如果曲线没有向上向量,则该函数将向控制台发送一个错误,并返回 [code](0, 1, 0)" +"[/code]。" + +msgid "" "The distance in meters between two adjacent cached points. Changing it " "forces the cache to be recomputed the next time the [method " "get_baked_points] or [method get_baked_length] function is called. The " @@ -23725,6 +25586,23 @@ msgstr "" "的性能成本,因为增加了法线角度计算。" msgid "" +"Sets the size of the [AABB] used by the decal. All dimensions must be set to " +"a value greater than zero (they will be clamped to [code]0.001[/code] if " +"this is not the case). The AABB goes from [code]-size/2[/code] to " +"[code]size/2[/code].\n" +"[b]Note:[/b] To improve culling efficiency of \"hard surface\" decals, set " +"their [member upper_fade] and [member lower_fade] to [code]0.0[/code] and " +"set the Y component of the [member size] as low as possible. This will " +"reduce the decals' AABB size without affecting their appearance." +msgstr "" +"设置贴花使用的 [AABB] 的大小。所有大小都必须设置为大于零的值(如果不是这种情" +"况,它们将被钳制为 [code]0.001[/code])。该 AABB 从 [code]-size/2[/code] 到 " +"[code]size/2[/code]。\n" +"[b]注意:[/b]为了提高“硬表面”贴花的剔除效率,将它们的 [member upper_fade] 和 " +"[member lower_fade] 设置为 [code]0.0[/code],并将 [member size] 的 Y 分量设置" +"的越低越好。这将减少贴花的 AABB 大小而不影响它们的外观。" + +msgid "" "[Texture2D] with the base [Color] of the Decal. Either this or the [member " "texture_emission] must be set for the Decal to be visible. Use the alpha " "channel like a mask to smoothly blend the edges of the decal with the " @@ -23827,315 +25705,6 @@ msgstr "[enum DecalTexture] 枚举的最大大小。" msgid "Dictionary type." msgstr "字典类型。" -msgid "" -"Dictionary type. Associative container, which contains values referenced by " -"unique keys. Dictionaries are composed of pairs of keys (which must be " -"unique) and values. Dictionaries will preserve the insertion order when " -"adding new entries. In other programming languages, this data structure is " -"sometimes referred to as a hash map or associative array.\n" -"You can define a dictionary by placing a comma-separated list of [code]key: " -"value[/code] pairs in curly braces [code]{}[/code].\n" -"[b]Note:[/b] Dictionaries are always passed by reference. To get a copy of a " -"dictionary which can be modified independently of the original dictionary, " -"use [method duplicate].\n" -"Creating a dictionary:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var my_dict = {} # Creates an empty dictionary.\n" -"\n" -"var dict_variable_key = \"Another key name\"\n" -"var dict_variable_value = \"value2\"\n" -"var another_dict = {\n" -" \"Some key name\": \"value1\",\n" -" dict_variable_key: dict_variable_value,\n" -"}\n" -"\n" -"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" -"\n" -"# Alternative Lua-style syntax.\n" -"# Doesn't require quotes around keys, but only string constants can be used " -"as key names.\n" -"# Additionally, key names must start with a letter or an underscore.\n" -"# Here, `some_key` is a string literal, not a variable!\n" -"another_dict = {\n" -" some_key = 42,\n" -"}\n" -"[/gdscript]\n" -"[csharp]\n" -"var myDict = new Godot.Collections.Dictionary(); // Creates an empty " -"dictionary.\n" -"var pointsDict = new Godot.Collections.Dictionary\n" -"{\n" -" {\"White\", 50},\n" -" {\"Yellow\", 75},\n" -" {\"Orange\", 100}\n" -"};\n" -"[/csharp]\n" -"[/codeblocks]\n" -"You can access a dictionary's value by referencing its corresponding key. In " -"the above example, [code]points_dict[\"White\"][/code] will return [code]50[/" -"code]. You can also write [code]points_dict.White[/code], which is " -"equivalent. However, you'll have to use the bracket syntax if the key you're " -"accessing the dictionary with isn't a fixed string (such as a number or " -"variable).\n" -"[codeblocks]\n" -"[gdscript]\n" -"@export_enum(\"White\", \"Yellow\", \"Orange\") var my_color: String\n" -"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" -"func _ready():\n" -" # We can't use dot syntax here as `my_color` is a variable.\n" -" var points = points_dict[my_color]\n" -"[/gdscript]\n" -"[csharp]\n" -"[Export(PropertyHint.Enum, \"White,Yellow,Orange\")]\n" -"public string MyColor { get; set; }\n" -"private Godot.Collections.Dictionary _pointsDict = new Godot.Collections." -"Dictionary\n" -"{\n" -" {\"White\", 50},\n" -" {\"Yellow\", 75},\n" -" {\"Orange\", 100}\n" -"};\n" -"\n" -"public override void _Ready()\n" -"{\n" -" int points = (int)_pointsDict[MyColor];\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"In the above code, [code]points[/code] will be assigned the value that is " -"paired with the appropriate color selected in [code]my_color[/code].\n" -"Dictionaries can contain more complex data:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var my_dict = {\n" -" \"First Array\": [1, 2, 3, 4] # Assigns an Array to a String key.\n" -"}\n" -"[/gdscript]\n" -"[csharp]\n" -"var myDict = new Godot.Collections.Dictionary\n" -"{\n" -" {\"First Array\", new Godot.Collections.Array{1, 2, 3, 4}}\n" -"};\n" -"[/csharp]\n" -"[/codeblocks]\n" -"To add a key to an existing dictionary, access it like an existing key and " -"assign to it:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" -"points_dict[\"Blue\"] = 150 # Add \"Blue\" as a key and assign 150 as its " -"value.\n" -"[/gdscript]\n" -"[csharp]\n" -"var pointsDict = new Godot.Collections.Dictionary\n" -"{\n" -" {\"White\", 50},\n" -" {\"Yellow\", 75},\n" -" {\"Orange\", 100}\n" -"};\n" -"pointsDict[\"Blue\"] = 150; // Add \"Blue\" as a key and assign 150 as its " -"value.\n" -"[/csharp]\n" -"[/codeblocks]\n" -"Finally, dictionaries can contain different types of keys and values in the " -"same dictionary:\n" -"[codeblocks]\n" -"[gdscript]\n" -"# This is a valid dictionary.\n" -"# To access the string \"Nested value\" below, use `my_dict.sub_dict." -"sub_key` or `my_dict[\"sub_dict\"][\"sub_key\"]`.\n" -"# Indexing styles can be mixed and matched depending on your needs.\n" -"var my_dict = {\n" -" \"String Key\": 5,\n" -" 4: [1, 2, 3],\n" -" 7: \"Hello\",\n" -" \"sub_dict\": {\"sub_key\": \"Nested value\"},\n" -"}\n" -"[/gdscript]\n" -"[csharp]\n" -"// This is a valid dictionary.\n" -"// To access the string \"Nested value\" below, use `((Godot.Collections." -"Dictionary)myDict[\"sub_dict\"])[\"sub_key\"]`.\n" -"var myDict = new Godot.Collections.Dictionary {\n" -" {\"String Key\", 5},\n" -" {4, new Godot.Collections.Array{1,2,3}},\n" -" {7, \"Hello\"},\n" -" {\"sub_dict\", new Godot.Collections.Dictionary{{\"sub_key\", \"Nested " -"value\"}}}\n" -"};\n" -"[/csharp]\n" -"[/codeblocks]\n" -"The keys of a dictionary can be iterated with the [code]for[/code] keyword:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var groceries = {\"Orange\": 20, \"Apple\": 2, \"Banana\": 4}\n" -"for fruit in groceries:\n" -" var amount = groceries[fruit]\n" -"[/gdscript]\n" -"[csharp]\n" -"var groceries = new Godot.Collections.Dictionary{{\"Orange\", 20}, " -"{\"Apple\", 2}, {\"Banana\", 4}};\n" -"foreach (var (fruit, amount) in groceries)\n" -"{\n" -" // `fruit` is the key, `amount` is the value.\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]Note:[/b] Erasing elements while iterating over dictionaries is [b]not[/" -"b] supported and will result in unpredictable behavior.\n" -"[b]Note:[/b] When declaring a dictionary with [code]const[/code], the " -"dictionary becomes read-only. A read-only Dictionary's entries cannot be " -"overridden at run-time. This does [i]not[/i] affect nested [Array] and " -"[Dictionary] values." -msgstr "" -"字典类型。关联型容器,容器中的值(Value)由唯一的键(Key)引用。字典由若干键" -"值对组成(键必须唯一,不能重复)。添加新条目时,字典会保持插入顺序。在其他编" -"程语言中,这样的数据结构有时也称为哈希表或关联数组。\n" -"你可以使用大括号 [code]{}[/code] 中放置用逗号分隔的一对对 [code]键:值[/code] " -"列表来定义字典。\n" -"[b]注意:[/b]字典始终按引用传递。要获取字典的副本,能独立于原字典进行修改,请" -"使用 [method duplicate]。\n" -"字典的创建:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var my_dict = {} # 创建空字典。\n" -"\n" -"var dict_variable_key = \"Another key name\"\n" -"var dict_variable_value = \"value2\"\n" -"var another_dict = {\n" -" \"Some key name\": \"value1\",\n" -" dict_variable_key: dict_variable_value,\n" -"}\n" -"\n" -"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" -"\n" -"# 备选 Lua 分隔语法。\n" -"# 不需要在键周围加引号,但键名只能为字符串常量。\n" -"# 另外,键名必须以字母或下划线开头。\n" -"# 此处的 `some_key` 是字符串字面量,不是变量!\n" -"another_dict = {\n" -" some_key = 42,\n" -"}\n" -"[/gdscript]\n" -"[csharp]\n" -"var myDict = new Godot.Collections.Dictionary(); // 创建空字典。\n" -"var pointsDict = new Godot.Collections.Dictionary\n" -"{\n" -" {\"White\", 50},\n" -" {\"Yellow\", 75},\n" -" {\"Orange\", 100}\n" -"};\n" -"[/csharp]\n" -"[/codeblocks]\n" -"你可以通过键来访问字典中对应的值。上面的例子中,[code]points_dict[\"White\"]" -"[/code] 会返回 [code]50[/code]。你也可以写 [code]points_dict.White[/code],和" -"前面的写法是等价的。不过如果用来访问字典的键不是固定字符串的话(例如数字或者" -"变量),那么就只能使用方括号语法。\n" -"[codeblocks]\n" -"[gdscript]\n" -"@export_enum(\"White\", \"Yellow\", \"Orange\") var my_color: String\n" -"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" -"func _ready():\n" -" # 不能使用点语法,因为 `my_color` 是变量。\n" -" var points = points_dict[my_color]\n" -"[/gdscript]\n" -"[csharp]\n" -"[Export(PropertyHint.Enum, \"White,Yellow,Orange\")]\n" -"public string MyColor { get; set; }\n" -"private Godot.Collections.Dictionary _pointsDict = new Godot.Collections." -"Dictionary\n" -"{\n" -" {\"White\", 50},\n" -" {\"Yellow\", 75},\n" -" {\"Orange\", 100}\n" -"};\n" -"\n" -"public override void _Ready()\n" -"{\n" -" int points = (int)_pointsDict[MyColor];\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"在上面的代码中,[code]points[/code] 会被赋值为与 [code]my_color[/code] 中选中" -"的颜色相对应的值。\n" -"字典可以包含更复杂的数据:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var my_dict = {\n" -" \"First Array\": [1, 2, 3, 4] # 将 Array 赋给 String 键。\n" -"}\n" -"[/gdscript]\n" -"[csharp]\n" -"var myDict = new Godot.Collections.Dictionary\n" -"{\n" -" {\"First Array\", new Godot.Collections.Array{1, 2, 3, 4}}\n" -"};\n" -"[/csharp]\n" -"[/codeblocks]\n" -"要往已有字典中添加键,请像已有键一样进行访问并赋值:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" -"points_dict[\"Blue\"] = 150 # 将 \"Blue\" 添加为键,并将 150 赋为它的值。\n" -"[/gdscript]\n" -"[csharp]\n" -"var pointsDict = new Godot.Collections.Dictionary\n" -"{\n" -" {\"White\", 50},\n" -" {\"Yellow\", 75},\n" -" {\"Orange\", 100}\n" -"};\n" -"pointsDict[\"Blue\"] = 150; // 将 \"Blue\" 添加为键,并将 150 赋为它的值。\n" -"[/csharp]\n" -"[/codeblocks]\n" -"最后,同一个字典里可以包含不同类型的键和值:\n" -"[codeblocks]\n" -"[gdscript]\n" -"# 这是有效的字典。\n" -"# 要访问下面的 \"Nested value\",请使用 `my_dict.sub_dict.sub_key` 或 " -"`my_dict[\"sub_dict\"][\"sub_key\"]`。\n" -"# 索引风格可以按需混合使用。\n" -"var my_dict = {\n" -" \"String Key\": 5,\n" -" 4: [1, 2, 3],\n" -" 7: \"Hello\",\n" -" \"sub_dict\": {\"sub_key\": \"Nested value\"},\n" -"}\n" -"[/gdscript]\n" -"[csharp]\n" -"// 这是有效的字典。\n" -"// 要访问下面的 \"Nested value\",请使用 `((Godot.Collections." -"Dictionary)myDict[\"sub_dict\"])[\"sub_key\"]`。\n" -"var myDict = new Godot.Collections.Dictionary {\n" -" {\"String Key\", 5},\n" -" {4, new Godot.Collections.Array{1,2,3}},\n" -" {7, \"Hello\"},\n" -" {\"sub_dict\", new Godot.Collections.Dictionary{{\"sub_key\", \"Nested " -"value\"}}}\n" -"};\n" -"[/csharp]\n" -"[/codeblocks]\n" -"字典中的键可以用 [code]for[/code] 关键字进行遍历:\n" -"[codeblocks]\n" -"[gdscript]\n" -"var groceries = {\"Orange\": 20, \"Apple\": 2, \"Banana\": 4}\n" -"for fruit in groceries:\n" -" var amount = groceries[fruit]\n" -"[/gdscript]\n" -"[csharp]\n" -"var groceries = new Godot.Collections.Dictionary{{\"Orange\", 20}, " -"{\"Apple\", 2}, {\"Banana\", 4}};\n" -"foreach (var (fruit, amount) in groceries)\n" -"{\n" -" // `fruit` 为键,`amount` 为值。\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[b]注意:[/b][b]不支持[/b]在遍历字典时清除元素,可能造成无法预知的行为。\n" -"[b]注意:[/b]使用 [code]const[/code] 声明字典时,字典会变为只读。只读字典中的" -"条目无法在运行时覆盖。嵌套的 [Array] 和 [Dictionary] 值[i]不受影响[/i]。" - msgid "GDScript basics: Dictionary" msgstr "GDScript 基础:字典" @@ -24513,6 +26082,18 @@ msgid "File system" msgstr "文件系统" msgid "" +"Changes the currently opened directory to the one passed as an argument. The " +"argument can be relative to the current directory (e.g. [code]newdir[/code] " +"or [code]../newdir[/code]), or an absolute path (e.g. [code]/tmp/newdir[/" +"code] or [code]res://somedir/newdir[/code]).\n" +"Returns one of the [enum Error] code constants ([constant OK] on success)." +msgstr "" +"将当前打开的目录改为作为参数传递的目录。该参数可以是相对于当前目录的(例如 " +"[code]newdir[/code] 或 [code]../newdir[/code]),也可以是绝对路径(例如 " +"[code]/tmp/newdir[/code] 或 [code]res://somedir/newdir[/code])。\n" +"返回 [enum Error] 错误码常量之一(成功时为 [constant OK])。" + +msgid "" "Copies the [param from] file to the [param to] destination. Both arguments " "should be paths to files, either relative or absolute. If the destination " "file exists and is not access-protected, it will be overwritten.\n" @@ -24564,6 +26145,31 @@ msgstr "" "\\tmp\\文件夹[/code])。" msgid "" +"Returns the currently opened directory's drive index. See [method " +"get_drive_name] to convert returned index to the name of the drive." +msgstr "" +"返回当前打开目录的驱动器索引。要将返回的索引转换为驱动器名称,请参阅 [method " +"get_drive_name]。" + +msgid "" +"Returns a [PackedStringArray] containing filenames of the directory " +"contents, excluding files. The array is sorted alphabetically.\n" +"Affected by [member include_hidden] and [member include_navigational]." +msgstr "" +"返回该目录内容的文件名 [PackedStringArray],不含文件。该数组按字母排序。\n" +"受 [member include_hidden] 和 [member include_navigational] 的影响。" + +msgid "" +"Returns a [PackedStringArray] containing filenames of the directory " +"contents, excluding files, at the given [param path]. The array is sorted " +"alphabetically.\n" +"Use [method get_directories] if you want more control of what gets included." +msgstr "" +"返回位于给定路径 [param path] 的目录内容的文件名 [PackedStringArray],不含文" +"件。该数组按字母排序。\n" +"如果你想要对包括的内容有更多的控制,请使用 [method get_directories]。" + +msgid "" "On Windows, returns the number of drives (partitions) mounted on the current " "filesystem.\n" "On macOS, returns the number of mounted volumes.\n" @@ -24591,10 +26197,65 @@ msgstr "" "在其他平台上,或者当请求的驱动器不存在时,该方法会返回空的 String。" msgid "" +"Returns a [PackedStringArray] containing filenames of the directory " +"contents, excluding directories. The array is sorted alphabetically.\n" +"Affected by [member include_hidden]." +msgstr "" +"返回该目录内容的文件名 [PackedStringArray],不含目录。该数组按字母排序。\n" +"受 [member include_hidden] 的影响。" + +msgid "" +"Returns a [PackedStringArray] containing filenames of the directory " +"contents, excluding directories, at the given [param path]. The array is " +"sorted alphabetically.\n" +"Use [method get_files] if you want more control of what gets included." +msgstr "" +"返回位于给定路径 [param path] 的目录内容的文件名 [PackedStringArray],不含目" +"录。该数组按字母排序。\n" +"如果你想要对包括的内容有更多的控制,请使用 [method get_files]。" + +msgid "" +"Returns the next element (file or directory) in the current directory.\n" +"The name of the file or directory is returned (and not its full path). Once " +"the stream has been fully processed, the method returns an empty [String] " +"and closes the stream automatically (i.e. [method list_dir_end] would not be " +"mandatory in such a case)." +msgstr "" +"返回当前目录中的下一个元素(文件或目录)。\n" +"返回的是文件或目录的名称(不是完整路径)。完全处理完流之后,该方法会返回空 " +"[String] 并自动将流关闭(即此时不必再调用 [method list_dir_end])。" + +msgid "" "Returns the result of the last [method open] call in the current thread." msgstr "返回当前线程中最后一次 [method open] 调用的结果。" msgid "" +"Returns the available space on the current directory's disk, in bytes. " +"Returns [code]0[/code] if the platform-specific method to query the " +"available space fails." +msgstr "" +"返回当前目录所在磁盘的可用空间,单位为字节。如果该平台查询可用空间的方法失" +"败,则返回 [code]0[/code]。" + +msgid "" +"Initializes the stream used to list all files and directories using the " +"[method get_next] function, closing the currently opened stream if needed. " +"Once the stream has been processed, it should typically be closed with " +"[method list_dir_end].\n" +"Affected by [member include_hidden] and [member include_navigational].\n" +"[b]Note:[/b] The order of files and directories returned by this method is " +"not deterministic, and can vary between operating systems. If you want a " +"list of all files or folders sorted alphabetically, use [method get_files] " +"or [method get_directories]." +msgstr "" +"初始化流,用于使用 [method get_next] 函数列出所有文件和目录,如果需要还会关闭" +"目前打开的流。处理完流之后,一般应使用 [method list_dir_end] 关闭。\n" +"受 [member include_hidden] 和 [member include_navigational] 的影响。\n" +"[b]注意:[/b]该方法返回的文件和目录顺序是不确定的,不同操作系统也可能不同。如" +"果你想要获取按字母排序的文件或文件夹列表,请使用 [method get_files] 或 " +"[method get_directories]。" + +msgid "" "Closes the current stream opened with [method list_dir_begin] (whether it " "has been fully processed with [method get_next] does not matter)." msgstr "" @@ -24629,12 +26290,62 @@ msgid "" "Static version of [method make_dir_recursive]. Supports only absolute paths." msgstr "静态版本的 [method make_dir_recursive]。仅支持绝对路径。" +msgid "" +"Creates a new [DirAccess] object and opens an existing directory of the " +"filesystem. The [param path] argument can be within the project tree " +"([code]res://folder[/code]), the user directory ([code]user://folder[/code]) " +"or an absolute path of the user filesystem (e.g. [code]/tmp/folder[/code] or " +"[code]C:\\tmp\\folder[/code]).\n" +"Returns [code]null[/code] if opening the directory failed. You can use " +"[method get_open_error] to check the error that occurred." +msgstr "" +"新建 [DirAccess] 对象并打开文件系统中的某个现存目录。[param path] 参数可以是" +"在项目树中([code]res://folder[/code])、用户目录中([code]user://folder[/" +"code]),也可以是用户文件系统的绝对路径(例如 [code]/tmp/folder[/code] 或 " +"[code]C:\\tmp\\folder[/code])。\n" +"如果打开目录失败,则返回 [code]null[/code]。你可以使用 [method " +"get_open_error] 来查看发生的错误。" + +msgid "" +"Permanently deletes the target file or an empty directory. The argument can " +"be relative to the current directory, or an absolute path. If the target " +"directory is not empty, the operation will fail.\n" +"If you don't want to delete the file/directory permanently, use [method OS." +"move_to_trash] instead.\n" +"Returns one of the [enum Error] code constants ([constant OK] on success)." +msgstr "" +"将目标文件或空目录永久删除。参数可以相对于当前目录,也可以是绝对路径。如果目" +"标目录非空,则操作失败。\n" +"如果你不想永久删除该文件/目录,请改用 [method OS.move_to_trash]。\n" +"返回 [enum Error] 错误码常量(成功时为 [constant OK])。" + msgid "Static version of [method remove]. Supports only absolute paths." msgstr "静态版本的 [method remove]。仅支持绝对路径。" +msgid "" +"Renames (move) the [param from] file or directory to the [param to] " +"destination. Both arguments should be paths to files or directories, either " +"relative or absolute. If the destination file or directory exists and is not " +"access-protected, it will be overwritten.\n" +"Returns one of the [enum Error] code constants ([constant OK] on success)." +msgstr "" +"将 [param from] 文件或目录重命名为(移动至)[param to] 目标。两个参数都应该是" +"文件或目录的路径,可以是相对路径也可以是绝对路径。如果目标文件或目录已存在," +"并且没有写保护,则会被覆盖。\n" +"返回 [enum Error] 错误码常量(成功时为 [constant OK])。" + msgid "Static version of [method rename]. Supports only absolute paths." msgstr "静态版本的 [method rename]。仅支持绝对路径。" +msgid "" +"If [code]true[/code], [code].[/code] and [code]..[/code] are included when " +"navigating the directory.\n" +"Affects [method list_dir_begin] and [method get_directories]." +msgstr "" +"如果为 [code]true[/code],则在导航目录时包含 [code].[/code] 和 [code]..[/" +"code]。\n" +"影响 [method list_dir_begin] 和 [method get_directories]。" + msgid "Directional 2D light from a distance." msgstr "来自远处的 2D 平行光。" @@ -24647,10 +26358,10 @@ msgid "" "supports shadow cull masks). It will always light up 2D nodes, regardless of " "the 2D node's [member CanvasItem.light_mask]." msgstr "" -"定向光是一种 [Light2D] 节点,它模拟覆盖整个场景的无限数量的平行光线。它用于远" -"离场景的强光(例如:模拟日光或月光)。\n" +"平行光是一种 [Light2D] 节点,模拟覆盖整个场景的无数平行光线。可用于远离场景的" +"强光(例如:模拟日光或月光)。\n" "[b]注意:[/b][DirectionalLight2D] 不支持灯光剔除遮罩(但支持阴影剔除遮罩)。" -"它将忽略 2D 节点的 [member CanvasItem.light_mask],始终点亮 2D 节点。" +"它会忽略 2D 节点的 [member CanvasItem.light_mask],始终点亮 2D 节点。" msgid "2D lights and shadows" msgstr "2D 灯光和阴影" @@ -24765,21 +26476,10 @@ 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" +"Adds a separator between items to the global menu with ID [param menu_root]. " +"Separators also occupy an index.\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" @@ -24787,44 +26487,21 @@ msgid "" "\"_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" +"向 ID 为 [param menu_root] 的全局菜单添加分隔符。分隔符也拥有索引。\n" +"返回插入菜单项的索引,不保证与 [param index] 的值相同。\n" +"[b]注意:[/b]该方法在 macOS 上实现。\n" "[b]支持的系统菜单 ID:[/b]\n" "[codeblock]\n" "\"_main\" - 主菜单(macOS)。\n" -"\"_dock\" - Dock 弹出菜单(macOS)。\n" +"\"_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" +"Adds an item that will act as a submenu of the global menu [param " +"menu_root]. The [param submenu] argument is the ID of the global menu root " +"that will be shown when the item is clicked.\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" @@ -24832,42 +26509,18 @@ msgid "" "\"_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" +"向 ID 为 [param menu_root] 的全局菜单添加作为子菜单的菜单项。[param submenu] " +"参数为全局菜单根菜单项的 ID,会在点击该菜单项时显示\n" +"返回插入菜单项的索引,不保证与 [param index] 的值相同。\n" "[b]注意:[/b]该方法在 macOS 上实现。\n" "[b]支持的系统菜单 ID:[/b]\n" "[codeblock]\n" "\"_main\" - 主菜单(macOS)。\n" -"\"_dock\" - Dock 弹出菜单(macOS)。\n" +"\"_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" +"Removes all items from the global menu with ID [param menu_root].\n" "[b]Note:[/b] This method is implemented on macOS.\n" "[b]Supported system menu IDs:[/b]\n" "[codeblock]\n" @@ -24875,23 +26528,12 @@ msgid "" "\"_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" +"移除 ID 为 [param menu_root] 的全局菜单中的所有菜单项。\n" +"[b]注意:[/b]该方法在 macOS 上实现。\n" "[b]支持的系统菜单 ID:[/b]\n" "[codeblock]\n" "\"_main\" - 主菜单(macOS)。\n" -"\"_dock\" - Dock 弹出菜单(macOS)。\n" +"\"_dock\" - 程序坞弹出菜单(macOS)。\n" "[/codeblock]" msgid "" @@ -24900,8 +26542,36 @@ msgid "" "is focused.\n" "[b]Note:[/b] This method is implemented on macOS." msgstr "" -"返回索引 [param idx] 处项目的加速器。加速器是无论哪个控件获得焦点时激活项目的" -"特殊键组合。\n" +"返回索引为 [param idx] 的菜单项的快捷键。快捷键是能够激活该菜单项的特殊按键组" +"合,无论该控件是否有焦点。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Returns the callback of the item at index [param idx].\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"返回索引为 [param idx] 的菜单项的回调。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Returns number of items in the global menu with ID [param menu_root].\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"返回 ID 为 [param menu_root] 的全局菜单中菜单项的数量。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Returns the icon of the item at index [param idx].\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"返回索引为 [param idx] 的菜单项的图标。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Returns the horizontal offset of the item at the given [param idx].\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"返回索引为 [param idx] 的菜单项的水平偏移量。\n" "[b]注意:[/b]该方法在 macOS 上实现。" msgid "" @@ -24910,8 +26580,8 @@ msgid "" "manually.\n" "[b]Note:[/b] This method is implemented on macOS." msgstr "" -"返回具有指定 [param tag] 的项的索引。索引由引擎自动分配给每个项。索引不能被手" -"动设置。\n" +"返回标签为指定的 [param tag] 的菜单项的索引。引擎会自动为每个菜单项赋予索引。" +"索引无法手动设置。\n" "[b]注意:[/b]该方法在 macOS 上实现。" msgid "" @@ -24920,8 +26590,31 @@ msgid "" "manually.\n" "[b]Note:[/b] This method is implemented on macOS." msgstr "" -"返回具有指定 [param text] 的项的索引。索引由引擎自动分配给每个项。索引不能被" -"手动设置。\n" +"返回文本为指定的 [param text] 的菜单项的索引。引擎会自动为每个菜单项赋予索" +"引。索引无法手动设置。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Returns the callback of the item accelerator at index [param idx].\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"返回索引为 [param idx] 的菜单项的快捷键回调。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Returns number of states of an multistate item. See [method " +"global_menu_add_multistate_item] for details.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"返回多状态项的状态数。详情见 [method global_menu_add_multistate_item]。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Returns the state of an multistate item. See [method " +"global_menu_add_multistate_item] for details.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"返回多状态项的状态。详情见 [method global_menu_add_multistate_item]。\n" "[b]注意:[/b]该方法在 macOS 上实现。" msgid "" @@ -24929,20 +26622,53 @@ msgid "" "global_menu_add_submenu_item] for more info on how to add a submenu.\n" "[b]Note:[/b] This method is implemented on macOS." msgstr "" -"返回索引 [param idx] 处项的子菜单 ID。有关如何添加子菜单的更多信息,请参阅 " +"返回索引为 [param idx] 的菜单项的子菜单 ID。关于如何添加子菜单的更多信息见 " "[method global_menu_add_submenu_item]。\n" "[b]注意:[/b]该方法在 macOS 上实现。" msgid "" +"Returns the metadata of the specified item, which might be of any type. You " +"can set it with [method global_menu_set_item_tag], which provides a simple " +"way of assigning context data to items.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"返回指定菜单项的元数据,可能是任何类型。元数据可以使用 [method " +"global_menu_set_item_tag] 设置,可以方法地为菜单项关联上下文数据。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Returns the text of the item at index [param idx].\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"返回索引为 [param idx] 的菜单项的文本。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Returns [code]true[/code] if the item at index [param idx] is checkable in " +"some way, i.e. if it has a checkbox or radio button.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"如果索引为 [param idx] 的菜单项能够以某种方式选中,即有复选框或单选按钮,则返" +"回 [code]true[/code]。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Returns [code]true[/code] if the item at index [param idx] is checked.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"如果索引为 [param idx] 的菜单项处于选中状态,则返回 [code]true[/code]。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" "Returns [code]true[/code] if the item at index [param idx] is disabled. When " "it is disabled it can't be selected, or its action invoked.\n" "See [method global_menu_set_item_disabled] for more info on how to disable " "an item.\n" "[b]Note:[/b] This method is implemented on macOS." msgstr "" -"如果索引 [param idx] 处的项被禁用,则返回 [code]true[/code]。当它被禁用时,它" -"不能被选择,或者它的动作被调用。\n" -"有关如何禁用项的更多信息,请参阅 [method global_menu_set_item_disabled]。\n" +"如果索引为 [param idx] 的菜单项处于禁用状态,则返回 [code]true[/code]。禁用状" +"态下无法被选中,也无法激活动作。\n" +"关于如何禁用菜单项的更多信息见 [method global_menu_set_item_disabled]。\n" "[b]注意:[/b]该方法在 macOS 上实现。" msgid "" @@ -24952,10 +26678,8 @@ msgid "" "unchecking items in radio groups.\n" "[b]Note:[/b] This method is implemented on macOS." msgstr "" -"如果索引 [param idx] 处的项具有单选按钮样式的可勾选性,则返回 [code]true[/" -"code]。\n" -"[b]注意:[/b]这纯粹是装饰性的; 您必须添加用于勾选/取消勾选单选组中项的逻" -"辑。\n" +"如果索引为 [param idx] 的菜单项为单选按钮风格,则返回 [code]true[/code]。\n" +"[b]注意:[/b]仅为装饰作用;必须自行为单选组添加选中、取消选中的逻辑。\n" "[b]注意:[/b]该方法在 macOS 上实现。" msgid "" @@ -24965,21 +26689,24 @@ msgid "" "one.\n" "[b]Note:[/b] This method is implemented on macOS." msgstr "" -"从全局菜单 [param menu_root] 中移除索引 [param idx] 处的项。\n" -"[b]注意:[/b]被移除的项之后的项的索引将移动一位。\n" +"从全局菜单 [param menu_root] 移除索引为 [param idx] 的菜单项。\n" +"[b]注意:[/b]位置在被移除菜单项之后的菜单项的索引号都会减一。\n" "[b]注意:[/b]该方法在 macOS 上实现。" msgid "" -"Sets the callback of the item at index [param idx]. Callback is emitted when " -"an item is pressed.\n" -"[b]Note:[/b] The [param callback] Callable needs to accept exactly one " -"Variant parameter, the parameter passed to the Callable will be the value " -"passed to the tag parameter when the menu item was created.\n" +"Sets whether the item at index [param idx] has a checkbox. If [code]false[/" +"code], sets the type of the item to plain text.\n" "[b]Note:[/b] This method is implemented on macOS." msgstr "" -"设置索引 [param idx] 处项的回调。按下项时发出回调。\n" -"[b]注意:[/b][param callback] Callable 需要恰好接受一个 Variant 参数,传递给 " -"Callable 的参数将是创建菜单项时传递给 tag 参数的值。\n" +"设置索引为 [param idx] 的菜单项是否为复选框。如果为 [code]false[/code],则会" +"将该菜单项的类型设置为纯文本。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Sets the checkstate status of the item at index [param idx].\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"设置索引为 [param idx] 的菜单项的选中状态。\n" "[b]注意:[/b]该方法在 macOS 上实现。" msgid "" @@ -24987,8 +26714,52 @@ msgid "" "can't be selected and its action can't be invoked.\n" "[b]Note:[/b] This method is implemented on macOS." msgstr "" -"启用/禁用索引 [param idx] 处的项。当它被禁用时,它不能被选择并且它的动作不能" -"被调用。\n" +"启用/禁用索引为 [param idx] 的菜单项。禁用状态下无法被选中,也无法激活动" +"作。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Replaces the [Texture2D] icon of the specified [param idx].\n" +"[b]Note:[/b] This method is implemented on macOS.\n" +"[b]Note:[/b] This method is not supported by macOS \"_dock\" menu items." +msgstr "" +"替换指定索引 [param idx] 的 [Texture2D] 图标。\n" +"[b]注意:[/b]该方法在 macOS 上实现。\n" +"[b]注意:[/b]该方法不支持 macOS 的“_dock”菜单项。" + +msgid "" +"Sets the horizontal offset of the item at the given [param idx].\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"设置索引为 [param idx] 的菜单项的水平偏移量。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Sets number of state of an multistate item. See [method " +"global_menu_add_multistate_item] for details.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"设置多状态项的状态数。详情见 [method global_menu_add_multistate_item]。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Sets the type of the item at the specified index [param idx] to radio " +"button. If [code]false[/code], sets the type of the item to plain text.\n" +"[b]Note:[/b] This is purely cosmetic; you must add the logic for checking/" +"unchecking items in radio groups.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"将索引为 [param idx] 的菜单项设置为单选按钮风格。如果为 [code]false[/code]," +"则会将该菜单项的类型设置为纯文本。\n" +"[b]注意:[/b]仅为装饰作用;必须自行为单选组添加选中、取消选中的逻辑。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Sets the state of an multistate item. See [method " +"global_menu_add_multistate_item] for details.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"设置多状态项的状态。详情见 [method global_menu_add_multistate_item]。\n" "[b]注意:[/b]该方法在 macOS 上实现。" msgid "" @@ -24996,15 +26767,32 @@ msgid "" "a global menu root that would be shown when the item is clicked.\n" "[b]Note:[/b] This method is implemented on macOS." msgstr "" -"设置索引 [param idx] 处项目的子菜单。子菜单是全局菜单根的 ID,单击该项目时将" -"显示该菜单根。\n" +"设置索引为 [param idx] 的菜单项的子菜单。子菜单是某个全局菜单根菜单项的 ID," +"点击该菜单项时会显示子菜单。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Sets the metadata of an item, which may be of any type. You can later get it " +"with [method global_menu_get_item_tag], which provides a simple way of " +"assigning context data to items.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"设置指定菜单项的元数据,可以是任何类型。后续可以使用 [method " +"global_menu_get_item_tag] 获取,可以方法地为菜单项关联上下文数据。\n" +"[b]注意:[/b]该方法在 macOS 上实现。" + +msgid "" +"Sets the text of the item at index [param idx].\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"设置索引为 [param idx] 的菜单项的文本。\n" "[b]注意:[/b]该方法在 macOS 上实现。" msgid "" "Sets the [String] tooltip of the item at the specified index [param idx].\n" "[b]Note:[/b] This method is implemented on macOS." msgstr "" -"设置指定索引 [param idx] 处项的 [String] 工具提示。\n" +"设置索引为 [param idx] 的菜单项的工具提示 [String]。\n" "[b]注意:[/b]该方法在 macOS 上实现。" msgid "" @@ -25022,6 +26810,15 @@ msgstr "" "[b]注意:[/b]这个方法在 macOS、Windows 和 Linux(X11)上实现。" msgid "" +"Returns [code]true[/code] if touch events are available (Android or iOS), " +"the capability is detected on the Webplatform or if [member ProjectSettings." +"input_devices/pointing/emulate_touch_from_mouse] is [code]true[/code]." +msgstr "" +"如果触摸事件可用(Android 或 iOS)、在 Web 平台上检测到该功能或如果 [member " +"ProjectSettings.input_devices/pointing/emulate_touch_from_mouse] 为 " +"[code]true[/code] 时,则返回 [code]true[/code]。" + +msgid "" "Returns active keyboard layout index.\n" "[b]Note:[/b] This method is implemented on Linux (X11), macOS and Windows." msgstr "" @@ -25076,6 +26873,67 @@ msgid "Sets the current mouse mode. See also [method mouse_get_mode]." msgstr "设置当前的鼠标模式。另见 [method mouse_get_mode]。" msgid "" +"Returns the dots per inch density of the specified screen. If [param screen] " +"is [constant SCREEN_OF_MAIN_WINDOW] (the default value), a screen with the " +"main window will be used.\n" +"[b]Note:[/b] On macOS, returned value is inaccurate if fractional display " +"scaling mode is used.\n" +"[b]Note:[/b] On Android devices, the actual screen densities are grouped " +"into six generalized densities:\n" +"[codeblock]\n" +" ldpi - 120 dpi\n" +" mdpi - 160 dpi\n" +" hdpi - 240 dpi\n" +" xhdpi - 320 dpi\n" +" xxhdpi - 480 dpi\n" +"xxxhdpi - 640 dpi\n" +"[/codeblock]\n" +"[b]Note:[/b] This method is implemented on Android, Linux (X11), macOS and " +"Windows. Returns [code]72[/code] on unsupported platforms." +msgstr "" +"返回指定屏幕的每英寸点数密度。如果 [param screen] 为 [constant " +"SCREEN_OF_MAIN_WINDOW](默认值),则将使用带有主窗口的屏幕。\n" +"[b]注意:[/b]在 macOS 上,如果使用小数显示缩放模式,则返回值不准确。\n" +"[b]注意:[/b]在 Android 设备上,实际屏幕密度分为六种通用密度:\n" +"[codeblock]\n" +" ldpi - 120 dpi\n" +" mdpi - 160 dpi\n" +" hdpi - 240 dpi\n" +" xhdpi - 320 dpi\n" +" xxhdpi - 480 dpi\n" +"xxxhdpi - 640 dpi\n" +"[/codeblock]\n" +"[b]注意:[/b]该方法在 Android、Linux(X11)、macOS 和 Windows 上实现。在不受支" +"持的平台上返回 [code]72[/code]。" + +msgid "" +"Returns the current refresh rate of the specified screen. If [param screen] " +"is [constant SCREEN_OF_MAIN_WINDOW] (the default value), a screen with the " +"main window will be used.\n" +"[b]Note:[/b] Returns [code]-1.0[/code] if the DisplayServer fails to find " +"the refresh rate for the specified screen. On Web, [method " +"screen_get_refresh_rate] will always return [code]-1.0[/code] as there is no " +"way to retrieve the refresh rate on that platform.\n" +"To fallback to a default refresh rate if the method fails, try:\n" +"[codeblock]\n" +"var refresh_rate = DisplayServer.screen_get_refresh_rate()\n" +"if refresh_rate < 0:\n" +" refresh_rate = 60.0\n" +"[/codeblock]" +msgstr "" +"返回指定屏幕的当前刷新率。如果 [param screen] 为 [constant " +"SCREEN_OF_MAIN_WINDOW](默认值),将使用带有主窗口的屏幕。\n" +"[b]注意:[/b]如果 DisplayServer 未能找到指定屏幕的刷新率,则返回 [code]-1.0[/" +"code]。在 Web 上,[method screen_get_refresh_rate] 将始终返回 [code]-1.0[/" +"code],因为无法在该平台上检索到刷新率。\n" +"要在该方法失败时回退至默认刷新率,请尝试:\n" +"[codeblock]\n" +"var refresh_rate = DisplayServer.screen_get_refresh_rate()\n" +"if refresh_rate < 0:\n" +" refresh_rate = 60.0\n" +"[/codeblock]" + +msgid "" "Sets the [param screen]'s [param orientation]. See also [method " "screen_get_orientation]." msgstr "" @@ -25530,6 +27388,12 @@ msgid "" msgstr "代表主窗口所在的屏幕。如果函数允许指定不同的屏幕,这个值通常是默认值。" msgid "" +"The ID of the main window spawned by the engine, which can be passed to " +"methods expecting a [code]window_id[/code]." +msgstr "" +"主窗口的 ID,可以传给需要 [code]window_id[/code] 的方法,该窗口由引擎生成。" + +msgid "" "The ID that refers to a nonexisting window. This is be returned by some " "[DisplayServer] methods if no window matches the requested result." msgstr "" @@ -25677,6 +27541,19 @@ msgstr "" "水平尺寸调整光标。只在用于悬停的 [Control] 可以用鼠标调整水平大小时显示。另" "见 [constant CURSOR_HSPLIT]。" +msgid "" +"Move cursor. Intended to be displayed when the hovered [Control] can be " +"moved using the mouse." +msgstr "移动光标。应在能够使用鼠标移动被悬停 [Control] 时显示。" + +msgid "" +"Help cursor. On most cursor themes, this displays a question mark icon " +"instead of the mouse cursor. Intended to be used when the user has requested " +"help on the next element that will be clicked." +msgstr "" +"帮助光标。在大多数光标主题中显示为问号图标,不显示为鼠标光标。应在用户请求对" +"下一次点击的元素提供帮助信息时使用。" + msgid "Represents the size of the [enum CursorShape] enum." msgstr "代表 [enum CursorShape] 枚举的大小。" @@ -25700,6 +27577,31 @@ msgstr "" "最大化窗口模式,即 [Window] 会占据整个屏幕区域,任务栏除外,并且会显示边框。" "通常发生在按下最大化按钮时。" +msgid "" +"Full screen mode with full multi-window support.\n" +"Full screen window cover the entire display area of a screen, have no border " +"or decorations. Display video mode is not changed.\n" +"[b]Note:[/b] Regardless of the platform, enabling full screen will change " +"the window size to match the monitor's size. Therefore, make sure your " +"project supports [url=$DOCS_URL/tutorials/rendering/multiple_resolutions." +"html]multiple resolutions[/url] when enabling full screen mode." +msgstr "" +"具有完整多窗口支持的全屏模式。\n" +"全屏窗口覆盖屏幕的整个显示区域,没有边框或装饰。显示视频模式没有更改。\n" +"[b]注意:[/b] 无论平台如何,启用全屏都会更改窗口大小以匹配显示器的大小。因" +"此,请确保您的项目在启用全屏模式时支持[url=$DOCS_URL/tutorials/rendering/" +"multiple_resolutions.html]多种分辨率[/url]。" + +msgid "" +"The window do not have native title bar and other decorations. This flag is " +"ignored for full-screen windows." +msgstr "该窗口没有原生标题栏和其他装饰。全屏窗口会该标志。" + +msgid "" +"The window is floating on top of all other windows. This flag is ignored for " +"full-screen windows." +msgstr "该窗口悬浮在所有其他窗口之上。全屏窗口会该标志。" + msgid "Max value of the [enum WindowFlags]." msgstr "[enum WindowFlags] 的最大值。" @@ -25778,314 +27680,24 @@ msgid "Helper class to implement a DTLS server." msgstr "实现 DTLS 服务器的辅助类。" msgid "" -"This class is used to store the state of a DTLS server. Upon [method setup] " -"it converts connected [PacketPeerUDP] to [PacketPeerDTLS] accepting them via " -"[method take_connection] as DTLS clients. Under the hood, this class is used " -"to store the DTLS state and cookies of the server. The reason of why the " -"state and cookies are needed is outside of the scope of this documentation.\n" -"Below a small example of how to use it:\n" -"[codeblocks]\n" -"[gdscript]\n" -"# server_node.gd\n" -"extends Node\n" -"\n" -"var dtls := DTLSServer.new()\n" -"var server := UDPServer.new()\n" -"var peers = []\n" -"\n" -"func _ready():\n" -" server.listen(4242)\n" -" var key = load(\"key.key\") # Your private key.\n" -" var cert = load(\"cert.crt\") # Your X509 certificate.\n" -" dtls.setup(key, cert)\n" -"\n" -"func _process(delta):\n" -" while server.is_connection_available():\n" -" var peer : PacketPeerUDP = server.take_connection()\n" -" var dtls_peer : PacketPeerDTLS = dtls.take_connection(peer)\n" -" if dtls_peer.get_status() != PacketPeerDTLS.STATUS_HANDSHAKING:\n" -" continue # It is normal that 50% of the connections fails due to " -"cookie exchange.\n" -" print(\"Peer connected!\")\n" -" peers.append(dtls_peer)\n" -"\n" -" for p in peers:\n" -" p.poll() # Must poll to update the state.\n" -" if p.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n" -" while p.get_available_packet_count() > 0:\n" -" print(\"Received message from client: %s\" % p.get_packet()." -"get_string_from_utf8())\n" -" p.put_packet(\"Hello DTLS client\".to_utf8())\n" -"[/gdscript]\n" -"[csharp]\n" -"// ServerNode.cs\n" -"using Godot;\n" -"\n" -"public partial class ServerNode : Node\n" -"{\n" -" private DtlsServer _dtls = new DtlsServer();\n" -" private UdpServer _server = new UdpServer();\n" -" private Godot.Collections.Array<PacketPeerDTLS> _peers = new Godot." -"Collections.Array<PacketPeerDTLS>();\n" -"\n" -" public override void _Ready()\n" -" {\n" -" _server.Listen(4242);\n" -" var key = GD.Load<CryptoKey>(\"key.key\"); // Your private key.\n" -" var cert = GD.Load<X509Certificate>(\"cert.crt\"); // Your X509 " -"certificate.\n" -" _dtls.Setup(key, cert);\n" -" }\n" -"\n" -" public override void _Process(double delta)\n" -" {\n" -" while (Server.IsConnectionAvailable())\n" -" {\n" -" PacketPeerUDP peer = _server.TakeConnection();\n" -" PacketPeerDTLS dtlsPeer = _dtls.TakeConnection(peer);\n" -" if (dtlsPeer.GetStatus() != PacketPeerDtls.Status.Handshaking)\n" -" {\n" -" continue; // It is normal that 50% of the connections fails " -"due to cookie exchange.\n" -" }\n" -" GD.Print(\"Peer connected!\");\n" -" _peers.Add(dtlsPeer);\n" -" }\n" -"\n" -" foreach (var p in _peers)\n" -" {\n" -" p.Poll(); // Must poll to update the state.\n" -" if (p.GetStatus() == PacketPeerDtls.Status.Connected)\n" -" {\n" -" while (p.GetAvailablePacketCount() > 0)\n" -" {\n" -" GD.Print($\"Received Message From Client: {p.GetPacket()." -"GetStringFromUtf8()}\");\n" -" p.PutPacket(\"Hello DTLS Client\".ToUtf8());\n" -" }\n" -" }\n" -" }\n" -" }\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[codeblocks]\n" -"[gdscript]\n" -"# client_node.gd\n" -"extends Node\n" -"\n" -"var dtls := PacketPeerDTLS.new()\n" -"var udp := PacketPeerUDP.new()\n" -"var connected = false\n" -"\n" -"func _ready():\n" -" udp.connect_to_host(\"127.0.0.1\", 4242)\n" -" dtls.connect_to_peer(udp, false) # Use true in production for " -"certificate validation!\n" -"\n" -"func _process(delta):\n" -" dtls.poll()\n" -" if dtls.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n" -" if !connected:\n" -" # Try to contact server\n" -" dtls.put_packet(\"The answer is... 42!\".to_utf8())\n" -" while dtls.get_available_packet_count() > 0:\n" -" print(\"Connected: %s\" % dtls.get_packet()." -"get_string_from_utf8())\n" -" connected = true\n" -"[/gdscript]\n" -"[csharp]\n" -"// ClientNode.cs\n" -"using Godot;\n" -"using System.Text;\n" -"\n" -"public partial class ClientNode : Node\n" -"{\n" -" private PacketPeerDtls _dtls = new PacketPeerDtls();\n" -" private PacketPeerUdp _udp = new PacketPeerUdp();\n" -" private bool _connected = false;\n" -"\n" -" public override void _Ready()\n" -" {\n" -" _udp.ConnectToHost(\"127.0.0.1\", 4242);\n" -" _dtls.ConnectToPeer(_udp, validateCerts: false); // Use true in " -"production for certificate validation!\n" -" }\n" -"\n" -" public override void _Process(double delta)\n" -" {\n" -" _dtls.Poll();\n" -" if (_dtls.GetStatus() == PacketPeerDtls.Status.Connected)\n" -" {\n" -" if (!_connected)\n" -" {\n" -" // Try to contact server\n" -" _dtls.PutPacket(\"The Answer Is..42!\".ToUtf8());\n" -" }\n" -" while (_dtls.GetAvailablePacketCount() > 0)\n" -" {\n" -" GD.Print($\"Connected: {_dtls.GetPacket()." -"GetStringFromUtf8()}\");\n" -" _connected = true;\n" -" }\n" -" }\n" -" }\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]" +"Setup the DTLS server to use the given [param server_options]. See [method " +"TLSOptions.server]." msgstr "" -"该类用于存储 DTLS 服务器的状态。在 [method setup] 之后,它将连接的 " -"[PacketPeerUDP] 转换为 [PacketPeerDTLS],通过 [method take_connection] 接受它" -"们作为 DTLS 客户端。在底层,这个类用于存储服务器的 DTLS 状态和 cookie。为什么" -"需要状态和 cookie 的原因不在本文档的范围内。\n" -"下面是一个如何使用它的小例子:\n" -"[codeblocks]\n" -"[gdscript]\n" -"# server_node.gd\n" -"extends Node\n" -"\n" -"var dtls := DTLSServer.new()\n" -"var server := UDPServer.new()\n" -"var peers = []\n" -"\n" -"func _ready():\n" -" server.listen(4242)\n" -" var key = load(\"key.key\") # 你的私钥。\n" -" var cert = load(\"cert.crt\") # 你的 X509 证书。\n" -" dtls.setup(key, cert)\n" -"\n" -"func _process(delta):\n" -" while server.is_connection_available():\n" -" var peer : PacketPeerUDP = server.take_connection()\n" -" var dtls_peer : PacketPeerDTLS = dtls.take_connection(peer)\n" -" if dtls_peer.get_status() != PacketPeerDTLS.STATUS_HANDSHAKING:\n" -" continue # 由于 cookie 交换,50% 的连接会失败,这是正常现象。\n" -" print(\"对等体已连接!\")\n" -" peers.append(dtls_peer)\n" -"\n" -" for p in peers:\n" -" p.poll() # Must poll to update the state.\n" -" if p.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n" -" while p.get_available_packet_count() > 0:\n" -" print(\"从客户端收到消息:%s\" % p.get_packet()." -"get_string_from_utf8())\n" -" p.put_packet(\"你好 DTLS 客户端\".to_utf8())\n" -"[/gdscript]\n" -"[csharp]\n" -"// ServerNode.cs\n" -"using Godot;\n" -"\n" -"public partial class ServerNode : Node\n" -"{\n" -" private DtlsServer _dtls = new DtlsServer();\n" -" private UdpServer _server = new UdpServer();\n" -" private Godot.Collections.Array<PacketPeerDTLS> _peers = new Godot." -"Collections.Array<PacketPeerDTLS>();\n" -"\n" -" public override void _Ready()\n" -" {\n" -" _server.Listen(4242);\n" -" var key = GD.Load<CryptoKey>(\"key.key\"); // 你的私钥。\n" -" var cert = GD.Load<X509Certificate>(\"cert.crt\"); // 你的 X509 证" -"书。\n" -" _dtls.Setup(key, cert);\n" -" }\n" -"\n" -" public override void _Process(double delta)\n" -" {\n" -" while (Server.IsConnectionAvailable())\n" -" {\n" -" PacketPeerUDP peer = _server.TakeConnection();\n" -" PacketPeerDTLS dtlsPeer = _dtls.TakeConnection(peer);\n" -" if (dtlsPeer.GetStatus() != PacketPeerDtls.Status.Handshaking)\n" -" {\n" -" continue; // 由于 cookie 交换,50% 的连接会失败,这是正常现" -"象。\n" -" }\n" -" GD.Print(\"对等体已连接!\");\n" -" _peers.Add(dtlsPeer);\n" -" }\n" -"\n" -" foreach (var p in _peers)\n" -" {\n" -" p.Poll(); // Must poll to update the state.\n" -" if (p.GetStatus() == PacketPeerDtls.Status.Connected)\n" -" {\n" -" while (p.GetAvailablePacketCount() > 0)\n" -" {\n" -" GD.Print($\"从客户端收到消息: {p.GetPacket()." -"GetStringFromUtf8()}\");\n" -" p.PutPacket(\"你好 DTLS 客户端\".ToUtf8());\n" -" }\n" -" }\n" -" }\n" -" }\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[codeblocks]\n" -"[gdscript]\n" -"# client_node.gd\n" -"extends Node\n" -"\n" -"var dtls := PacketPeerDTLS.new()\n" -"var udp := PacketPeerUDP.new()\n" -"var connected = false\n" -"\n" -"func _ready():\n" -" udp.connect_to_host(\"127.0.0.1\", 4242)\n" -" dtls.connect_to_peer(udp, false) # 生产环境中请使用 true 进行证书校验!\n" -"\n" -"func _process(delta):\n" -" dtls.poll()\n" -" if dtls.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n" -" if !connected:\n" -" # 尝试联系服务器\n" -" dtls.put_packet(\"回应是… 42!\".to_utf8())\n" -" while dtls.get_available_packet_count() > 0:\n" -" print(\"已连接:%s\" % dtls.get_packet()." -"get_string_from_utf8())\n" -" connected = true\n" -"[/gdscript]\n" -"[csharp]\n" -"// ClientNode.cs\n" -"using Godot;\n" -"using System.Text;\n" -"\n" -"public partial class ClientNode : Node\n" -"{\n" -" private PacketPeerDtls _dtls = new PacketPeerDtls();\n" -" private PacketPeerUdp _udp = new PacketPeerUdp();\n" -" private bool _connected = false;\n" -"\n" -" public override void _Ready()\n" -" {\n" -" _udp.ConnectToHost(\"127.0.0.1\", 4242);\n" -" _dtls.ConnectToPeer(_udp, validateCerts: false); // 生产环境中请使用 " -"true 进行证书校验!\n" -" }\n" -"\n" -" public override void _Process(double delta)\n" -" {\n" -" _dtls.Poll();\n" -" if (_dtls.GetStatus() == PacketPeerDtls.Status.Connected)\n" -" {\n" -" if (!_connected)\n" -" {\n" -" // 尝试联系服务器\n" -" _dtls.PutPacket(\"回应是… 42!\".ToUtf8());\n" -" }\n" -" while (_dtls.GetAvailablePacketCount() > 0)\n" -" {\n" -" GD.Print($\"已连接:{_dtls.GetPacket()." -"GetStringFromUtf8()}\");\n" -" _connected = true;\n" -" }\n" -" }\n" -" }\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]" +"设置 DTLS 服务器以使用给定的 [param server_options]。请参阅 [method " +"TLSOptions.server]。" + +msgid "" +"Try to initiate the DTLS handshake with the given [param udp_peer] which " +"must be already connected (see [method PacketPeerUDP.connect_to_host]).\n" +"[b]Note:[/b] You must check that the state of the return PacketPeerUDP is " +"[constant PacketPeerDTLS.STATUS_HANDSHAKING], as it is normal that 50% of " +"the new connections will be invalid due to cookie exchange." +msgstr "" +"尝试与给定 [param udp_peer] 启动 DTLS 握手,必须已连接到该 [param udp_peer]" +"(请参阅 [method PacketPeerUDP.connect_to_host])。\n" +"[b]注意:[/b]必须检查返回的 PacketPeerUDP 的状态是否为 [constant " +"PacketPeerDTLS.STATUS_HANDSHAKING],因为正常情况下,50% 的新连接会因为 " +"cookie 交换而无效。" msgid "Godot editor's command palette." msgstr "Godot 编辑器的命令面板。" @@ -26131,6 +27743,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 enters a break state. If [param " +"can_debug] is [code]true[/code], the remote instance will enter the debug " +"loop." +msgstr "" +"当连接的远程实例进入中断状态时发出。如果 [param can_debug] 为 [code]true[/" +"code],则远程实例将进入调试循环。" + msgid "Emitted when the attached remote instance exits a break state." msgstr "当连接的远程实例退出中断状态时触发。" @@ -26139,6 +27759,34 @@ msgid "" "becomes active)." msgstr "当一个远程实例连接到该会话时触发(即该会话成为活动状态)。" +msgid "" +"Emitted when a remote instance is detached from this session (i.e. the " +"session becomes inactive)." +msgstr "当一个远程实例从该会话中分离出来时(即该会话变为非活动状态)发出。" + +msgid "" +"Identifies a supported export platform, and internally provides the " +"functionality of exporting to that platform." +msgstr "标识一个支持的导出平台,并在内部提供导出到该平台的功能。" + +msgid "" +"Base resource that provides the functionality of exporting a release build " +"of a project to a platform, from the editor. Stores platform-specific " +"metadata such as the name and supported features of the platform, and " +"performs the exporting of projects, PCK files, and ZIP files. Uses an export " +"template for the platform provided at the time of project exporting.\n" +"Used in scripting by [EditorExportPlugin] to configure platform-specific " +"customization of scenes and resources. See [method EditorExportPlugin." +"_begin_customize_scenes] and [method EditorExportPlugin." +"_begin_customize_resources] for more details." +msgstr "" +"基础资源,提供从编辑器将项目的发布构建导出到平台的功能。存储特定于平台的元数" +"据,例如平台的名称和支持的功能,并执行项目、PCK 文件和 ZIP 文件的导出。使用在" +"项目导出时提供的平台导出模板。\n" +"在 [EditorExportPlugin] 的脚本中用于配置特定于平台的场景和资源的定制。有关详" +"细信息,请参阅 [method EditorExportPlugin._begin_customize_scenes] 和 " +"[method EditorExportPlugin._begin_customize_resources]。" + msgid "A script that is executed when exporting the project." msgstr "在导出项目时执行的脚本。" @@ -26158,11 +27806,111 @@ msgstr "" "注册。" msgid "" +"Return [code]true[/code] if this plugin will customize resources based on " +"the platform and features used.\n" +"When enabled, [method _get_customization_configuration_hash], [method " +"_customize_resource] and [method _customize_scene] will be called and must " +"be implemented." +msgstr "" +"如果该插件将根据所使用的平台和功能自定义资源,则返回 [code]true[/code]。\n" +"启用后,[method _get_customization_configuration_hash]、[method " +"_customize_resource] 和 [method _customize_scene] 将被调用并且必须被实现。" + +msgid "" +"Return true if this plugin will customize scenes based on the platform and " +"features used." +msgstr "如果这个插件会根据所使用的平台和功能来定制场景,则返回 true。" + +msgid "" +"Customize a resource. If changes are made to it, return the same or a new " +"resource. Otherwise, return [code]null[/code].\n" +"The [i]path[/i] argument is only used when customizing an actual file, " +"otherwise this means that this resource is part of another one and it will " +"be empty.\n" +"Implementing this method is required if [method _begin_customize_resources] " +"returns [code]true[/code]." +msgstr "" +"定制一个资源。如果对其进行了修改,则返回相同的或新的资源。否则,返回 " +"[code]null[/code] 。\n" +"[i]path[/i] 参数只在定制一个实际文件时使用,否则这意味着这个资源是另一个资源" +"的一部分,并且它将是空的。\n" +"如果 [method _begin_customize_resources] 返回 [code]true[/code],则需要实现该" +"方法。" + +msgid "" +"Customize a scene. If changes are made to it, return the same or a new " +"scene. Otherwise, return [code]null[/code]. If a new scene is returned, it " +"is up to you to dispose of the old one.\n" +"Implementing this method is required if [method _begin_customize_resources] " +"returns [code]true[/code]." +msgstr "" +"定制一个场景。如果对其进行了修改,则返回相同的或新的场景。否则,返回 " +"[code]null[/code] 。如果返回一个新的场景,则由你来处理旧的场景。\n" +"如果 [method _begin_customize_resources] 返回 [code]true[/code],则需要实现该" +"方法。" + +msgid "This is called when the customization process for resources ends." +msgstr "资源的自定义处理完成时调用。" + +msgid "This is called when the customization process for scenes ends." +msgstr "场景的自定义处理完成时调用。" + +msgid "" +"Virtual method to be overridden by the user. It is called when the export " +"starts and provides all information about the export. [param features] is " +"the list of features for the export, [param is_debug] is [code]true[/code] " +"for debug builds, [param path] is the target path for the exported project. " +"[param flags] is only used when running a runnable profile, e.g. when using " +"native run on Android." +msgstr "" +"由用户重写的虚方法。它在导出开始时调用,并提供有关导出的所有信息。[param " +"features] 是导出的特性列表,[param is_debug] 是 [code]true[/code] 时用于调试" +"构建,[param path] 是导出项目的目标路径。[param flags] 仅在运行可运行配置文件" +"时使用,例如在 Android 上使用本机运行时。" + +msgid "" "Virtual method to be overridden by the user. Called when the export is " "finished." msgstr "可以被用户重写的虚方法。在导出完成后被调用。" msgid "" +"Return a hash based on the configuration passed (for both scenes and " +"resources). This helps keep separate caches for separate export " +"configurations.\n" +"Implementing this method is required if [method _begin_customize_resources] " +"returns [code]true[/code]." +msgstr "" +"根据传入的配置返回一个哈希值(对于场景和资源)。这有助于为单独的导出配置保留" +"单独的缓存。\n" +"如果 [method _begin_customize_resources] 返回 [code]true[/code],则需要实现该" +"方法。" + +msgid "" +"Return a [PackedStringArray] of additional features this preset, for the " +"given [param platform], should have." +msgstr "" +"返回该预设对于给定的 [param platform],应该具有的附加功能的 " +"[PackedStringArray]。" + +msgid "" +"Return the name identifier of this plugin (for future identification by the " +"exporter). The plugins are sorted by name before exporting.\n" +"Implementing this method is required." +msgstr "" +"返回该插件的名称标识符(供导出器将来识别)。插件在导出前按名称排序。\n" +"需要实现该方法。" + +msgid "" +"Adds a custom file to be exported. [param path] is the virtual path that can " +"be used to load the file, [param file] is the binary data of the file. If " +"[param remap] is [code]true[/code], file will not be exported, but instead " +"remapped to the given [param path]." +msgstr "" +"添加一个要导出的自定义文件。[param path] 是可以用来加载文件的虚拟路径," +"[param file]是文件的二进制数据。如果 [param remap] 为 [code]true[/code],则文" +"件将不会被导出,而是被重新映射到给定的 [param path]。" + +msgid "" "Adds a C++ code to the iOS export. The final code is created from the code " "appended by each active export plugin." msgstr "" @@ -26186,6 +27934,29 @@ msgid "Adds a static lib from the given [param path] to the iOS project." msgstr "向 iOS 项目中添加位于给定路径 [param path] 的静态库。" msgid "" +"Adds file or directory matching [param path] to [code]PlugIns[/code] " +"directory of macOS app bundle.\n" +"[b]Note:[/b] This is useful only for macOS exports." +msgstr "" +"将匹配 [param path] 的文件或目录,添加到 macOS 应用程序包的 [code]PlugIns[/" +"code] 目录中。\n" +"[b]注意:[/b]仅适用于 macOS 导出。" + +msgid "" +"Adds a shared object or a directory containing only shared objects with the " +"given [param tags] and destination [param path].\n" +"[b]Note:[/b] In case of macOS exports, those shared objects will be added to " +"[code]Frameworks[/code] directory of app bundle.\n" +"In case of a directory code-sign will error if you place non code object in " +"directory." +msgstr "" +"添加一个共享对象或仅包含具有给定 [param tags] 和目标 [param path] 的共享对象" +"的目录。\n" +"[b]注意:[/b]使用 macOS 导出时,这些共享对象将被添加到应用程序包的 " +"[code]Frameworks[/code] 目录中。\n" +"如果使用的是目录,如果将非代码对象放在该目录中,则代码签名时会报错。" + +msgid "" "To be called inside [method _export_file]. Skips the current file, so it's " "not included in the export." msgstr "在 [method _export_file] 中调用。跳过当前文件,因此它不包括在导出中。" @@ -26215,6 +27986,41 @@ msgid "Returns the specified [param feature]'s human-readable name." msgstr "返回指定特性 [param feature] 的人类可读名称。" msgid "" +"Returns [code]true[/code] if the class specified by [param class_name] is " +"disabled. When disabled, the class won't appear in the Create New Node " +"dialog." +msgstr "" +"如果 [param class_name] 指定的类被禁用,则返回 [code]true[/code]。被禁用时," +"该类不会出现在“创建 Node”对话框中。" + +msgid "" +"Returns [code]true[/code] if editing for the class specified by [param " +"class_name] is disabled. When disabled, the class will still appear in the " +"Create New Node dialog but the Inspector will be read-only when selecting a " +"node that extends the class." +msgstr "" +"如果由 [param class_name] 指定的类的编辑被禁用,则返回 [code]true[/code]。被" +"禁用时,该类仍会出现在“创建 Node”对话框中,但在选择继承该类的节点时,检查器将" +"是只读的。" + +msgid "" +"Returns [code]true[/code] if [param property] is disabled in the class " +"specified by [param class_name]. When a property is disabled, it won't " +"appear in the Inspector when selecting a node that extends the class " +"specified by [param class_name]." +msgstr "" +"如果在 [param class_name] 指定的类中禁用 [param property],则返回 " +"[code]true[/code]。当属性被禁用时,在选择继承由 [param class_name] 指定的类的" +"节点时,该属性将不会出现在检查器中。" + +msgid "" +"Returns [code]true[/code] if the [param feature] is disabled. When a feature " +"is disabled, it will disappear from the editor entirely." +msgstr "" +"如果 [param feature] 被禁用,则返回 [code]true[/code]。当一个功能被禁用时,它" +"将从编辑器中完全消失。" + +msgid "" "Loads an editor feature profile from a file. The file must follow the JSON " "format obtained by using the feature profile manager's [b]Export[/b] button " "or the [method save_to_file] method." @@ -26321,6 +28127,26 @@ msgstr "" "[EditorFileDialog] 是 [FileDialog] 的增强版,只对编辑器插件可用。额外的功能包" "括收藏/最近文件列表和以缩略图网格而不是列表的形式查看文件的能力。" +msgid "" +"Adds a comma-delimited file name [param filter] option to the " +"[EditorFileDialog] with an optional [param description], which restricts " +"what files can be picked.\n" +"A [param filter] should be of the form [code]\"filename.extension\"[/code], " +"where filename and extension can be [code]*[/code] to match any string. " +"Filters starting with [code].[/code] (i.e. empty filenames) are not " +"allowed.\n" +"For example, a [param filter] of [code]\"*.tscn, *.scn\"[/code] and a [param " +"description] of [code]\"Scenes\"[/code] results in filter text \"Scenes (*." +"tscn, *.scn)\"." +msgstr "" +"将一个逗号分隔的文件名 [param filter] 且带有可选 [param description] 的选项添" +"加到的 [EditorFileDialog],这限制了可以选择的文件。\n" +"[param filter] 的格式应为 [code]\"文件名.扩展名\"[/code],其中文件名和扩展名" +"可以是 [code]*[/code],以匹配任意字符串。不允许使用以 [code].[/code] 开头的过" +"滤器(即空文件名)。\n" +"例如,[code]\"*.tscn, *.scn\"[/code] 的 [param filter] 和 [code]\"场景\"[/" +"code] 的 [param description] 会产生过滤文本“场景 (* .tscn, *.scn)”。" + msgid "Removes all filters except for \"All Files (*)\"." msgstr "移除“All Files(*)”筛选器之外的所有筛选器。" @@ -26377,6 +28203,20 @@ msgid "" "user." msgstr "[EditorFileDialog] 向用户显示资源的视图格式。" +msgid "" +"The dialog's open or save mode, which affects the selection behavior. See " +"[enum FileMode]." +msgstr "对话框的打开或保存模式,会影响选择行为。见 [enum FileMode]。" + +msgid "" +"If [code]true[/code], hidden files and directories will be visible in the " +"[EditorFileDialog]. This property is synchronized with [member " +"EditorSettings.filesystem/file_dialog/show_hidden_files]." +msgstr "" +"如果为 [code]true[/code],隐藏的文件和目录将在 [EditorFileDialog] 中可见。该" +"属性与 [member EditorSettings.filesystem/file_dialog/show_hidden_files] 同" +"步。" + msgid "Emitted when a directory is selected." msgstr "选择目录时触发。" @@ -26526,6 +28366,14 @@ msgid "Returns the path to the file at index [param idx]." msgstr "返回索引 [param idx] 处的文件所在路径。" msgid "" +"Returns the name of the script class defined in the file at index [param " +"idx]. If the file doesn't define a script class using the [code]class_name[/" +"code] syntax, this will return an empty string." +msgstr "" +"返回索引 [param idx] 处文件中定义的脚本类的名称。如果文件没有使用 " +"[code]class_name[/code] 语法定义脚本类,这将返回一个空字符串。" + +msgid "" "Returns the resource type of the file at index [param idx]. This returns a " "string such as [code]\"Resource\"[/code] or [code]\"GDScript\"[/code], " "[i]not[/i] a file extension such as [code]\".gd\"[/code]." @@ -26553,6 +28401,9 @@ msgstr "返回在索引 [param idx] 处的子目录。" msgid "Returns the number of subdirectories in this directory." msgstr "返回这个目录的子目录的数量。" +msgid "Used to query and configure import format support." +msgstr "用于查询和配置导入格式支持。" + msgid "" "This class is used to query and configure a certain import format. It is " "used in conjunction with asset format import plugins." @@ -26564,6 +28415,9 @@ msgstr "返回支持的文件扩展名。" msgid "Return whether this importer is active." msgstr "返回此导入器是否处于活动状态。" +msgid "Query support. Return false if import must not continue." +msgstr "查询支持。如果不能继续导入,则返回 false。" + msgid "" "Registers a custom resource importer in the editor. Use the class to parse " "any file and import it as a new resource type." @@ -27058,6 +28912,37 @@ msgstr "检查器插件" msgid "Returns [code]true[/code] if this object can be handled by this plugin." msgstr "如果此插件可以处理此对象返回 [code]true[/code]。" +msgid "" +"Called to allow adding controls at the beginning of the property list for " +"[param object]." +msgstr "可以将控件添加在 [param object] 的属性列表开头时调用。" + +msgid "" +"Called to allow adding controls at the beginning of a category in the " +"property list for [param object]." +msgstr "可以将控件添加在 [param object] 属性列表中的某个分类开头时调用。" + +msgid "" +"Called to allow adding controls at the end of the property list for [param " +"object]." +msgstr "可以将控件添加在 [param object] 的属性列表末尾时调用。" + +msgid "" +"Called to allow adding controls at the beginning of a group or a sub-group " +"in the property list for [param object]." +msgstr "" +"可以将控件添加在 [param object] 属性列表的某个分组或子分组的开头时调用。" + +msgid "" +"Called to allow adding property-specific editors to the property list for " +"[param object]. The added editor control must extend [EditorProperty]. " +"Returning [code]true[/code] removes the built-in editor for this property, " +"otherwise allows to insert a custom editor before the built-in one." +msgstr "" +"可以为 [param object] 的属性列表添加针对属性的编辑器时调用。这些编辑器必须继" +"承 [EditorProperty]。返回 [code]true[/code] 会移除该属性的内置编辑器,否则会" +"在内置编辑器之前插入自定义编辑器。" + msgid "Adds a custom control, which is not necessarily a property editor." msgstr "添加自定义控件,它不一定是属性编辑器。" @@ -27219,12 +29104,27 @@ msgstr "" "inspector_only] 为 [code]true[/code] ,插件将不会试图编辑 [param object]。" msgid "" +"Returns [code]true[/code] if Movie Maker mode is enabled in the editor. See " +"also [method set_movie_maker_enabled]. See [MovieWriter] for more " +"information." +msgstr "" +"如果编辑器启用了 Movie Maker 模式,则返回 [code]true[/code]。另见 [method " +"set_movie_maker_enabled]。详情见 [MovieWriter]。" + +msgid "" "Returns [code]true[/code] if a scene is currently being played, [code]false[/" "code] otherwise. Paused scenes are considered as being played." msgstr "" "如果场景正在播放,返回 [code]true[/code],否则返回 [code]false[/code]。暂停的" "场景将被视为正在播放。" +msgid "" +"Returns [code]true[/code] if the specified [param plugin] is enabled. The " +"plugin name is the same as its directory name." +msgstr "" +"如果启用了指定的 [param plugin],则返回 [code]true[/code]。插件名称与其目录名" +"称相同。" + msgid "Opens the scene at the given path." msgstr "打开给定路径中的场景。" @@ -27261,6 +29161,22 @@ msgid "" msgstr "在文件系统面板中选中文件,路径由 [param file] 提供。" msgid "" +"Sets the editor's current main screen to the one specified in [param name]. " +"[param name] must match the text of the tab in question exactly ([code]2D[/" +"code], [code]3D[/code], [code]Script[/code], [code]AssetLib[/code])." +msgstr "" +"将编辑器的当前主屏幕设置为 [param name] 中指定的屏幕。[param name] 必须与相关" +"选项卡的文本完全匹配([code]2D[/code]、[code]3D[/code]、[code]Script[/code]、" +"[code]AssetLib[/code])。" + +msgid "" +"Sets whether Movie Maker mode is enabled in the editor. See also [method " +"is_movie_maker_enabled]. See [MovieWriter] for more information." +msgstr "" +"设置是否在编辑器中启用 Movie Maker 模式。参见 [method " +"is_movie_maker_enabled]。有关详细信息,请参阅 [MovieWriter]。" + +msgid "" "Sets the enabled status of a plugin. The plugin name is the same as its " "directory name." msgstr "设置插件的启用状态。插件名称与其目录名称相同。" @@ -27289,6 +29205,82 @@ msgstr "" "[EditorNode3DGizmoPlugin]。" msgid "" +"Override this method to commit a handle being edited (handles must have been " +"previously added by [method add_handles]). This usually means creating an " +"[UndoRedo] action for the change, using the current handle value as \"do\" " +"and the [param restore] argument as \"undo\".\n" +"If the [param cancel] argument is [code]true[/code], the [param restore] " +"value should be directly set, without any [UndoRedo] action.\n" +"The [param secondary] argument is [code]true[/code] when the committed " +"handle is secondary (see [method add_handles] for more information)." +msgstr "" +"重写该方法以提交一个正在编辑的控柄(控柄必须是之前通过 [method add_handles] " +"添加的)。这通常意味着为该修改创建一个 [UndoRedo] 动作,将当前控柄值用" +"作“做”,并将 [param restore] 参数用作“撤销”。\n" +"如果 [param cancel] 参数为 [code]true[/code],则应直接设置 [param restore] " +"值,而不需要任何 [UndoRedo] 动作。\n" +"当提交的控柄为次要时,[param secondary] 参数为 [code]true[/code](有关更多信" +"息,请参阅 [method add_handles])。" + +msgid "" +"Override this method to commit a group of subgizmos being edited (see " +"[method _subgizmos_intersect_ray] and [method " +"_subgizmos_intersect_frustum]). This usually means creating an [UndoRedo] " +"action for the change, using the current transforms as \"do\" and the [param " +"restores] transforms as \"undo\".\n" +"If the [param cancel] argument is [code]true[/code], the [param restores] " +"transforms should be directly set, without any [UndoRedo] action." +msgstr "" +"重写该方法以提交一组正在编辑的子小工具(参见 [method " +"_subgizmos_intersect_ray] 和 [method _subgizmos_intersect_frustum])。这通常" +"意味着为该更改创建一个 [UndoRedo] 动作,将当前变换用作“做”,并将 [param " +"restores] 变换用作“撤消”。\n" +"如果 [param cancel] 参数为 [code]true[/code],则应直接设置 [param restores] " +"变换,而无需任何 [UndoRedo] 动作。" + +msgid "" +"Override this method to return the name of an edited handle (handles must " +"have been previously added by [method add_handles]). Handles can be named " +"for reference to the user when editing.\n" +"The [param secondary] argument is [code]true[/code] when the requested " +"handle is secondary (see [method add_handles] for more information)." +msgstr "" +"重写该方法以返回编辑的控柄的名称(控柄必须先前通过 [method add_handles] 添加" +"的)。可以命名控柄以供用户在编辑时引用。\n" +"当请求的控柄是次要手柄时,[param secondary] 参数为 [code]true[/code](有关更" +"多信息,请参阅 [method add_handles])。" + +msgid "" +"Override this method to return the current value of a handle. This value " +"will be requested at the start of an edit and used as the [code]restore[/" +"code] argument in [method _commit_handle].\n" +"The [param secondary] argument is [code]true[/code] when the requested " +"handle is secondary (see [method add_handles] for more information)." +msgstr "" +"重写该方法以返回一个控柄的当前值。该值将在编辑开始时被请求,并用作 [method " +"_commit_handle] 中的 [code]restore[/code] 参数。\n" +"当请求的控柄是次要控柄时,[param secondary] 参数为 [code]true[/code](有关更" +"多信息,请参阅 [method add_handles])。" + +msgid "" +"Override this method to return the current transform of a subgizmo. This " +"transform will be requested at the start of an edit and used as the " +"[code]restore[/code] argument in [method _commit_subgizmos]." +msgstr "" +"重写该方法以返回子小工具的当前变换。该变换将在编辑开始时被请求,并用作 " +"[method _commit_subgizmos] 中的 [code]restore[/code] 参数。" + +msgid "" +"Override this method to update the node properties during subgizmo editing " +"(see [method _subgizmos_intersect_ray] and [method " +"_subgizmos_intersect_frustum]). The [param transform] is given in the " +"Node3D's local coordinate system." +msgstr "" +"重写该方法以在子小工具编辑期间更新节点属性(参见 [method " +"_subgizmos_intersect_ray] 和 [method _subgizmos_intersect_frustum])。[param " +"transform] 是在 Node3D 的局部坐标系中给出的。" + +msgid "" "Adds lines to the gizmo (as sets of 2 points), with a given material. The " "lines are used for visualizing the gizmo. Call this method during [method " "_redraw]." @@ -27330,6 +29322,11 @@ msgstr "" "设置该小工具的隐藏状态。如果为 [code]true[/code],则该小工具将被隐藏。如果为 " "[code]false[/code] 则会显示。" +msgid "" +"Sets the reference [Node3D] node for the gizmo. [param node] must inherit " +"from [Node3D]." +msgstr "设置该小工具参考的 [Node3D] 节点。[parma node] 必须继承自 [Node3D]。" + msgid "Used by the editor to define Node3D gizmo types." msgstr "被编辑器用来定义 Node3D 小工具类型。" @@ -27385,6 +29382,73 @@ msgstr "编辑器专用单例,返回特定于操作系统的各种数据文件 msgid "File paths in Godot projects" msgstr "Godot 项目中的文件路径" +msgid "" +"Returns the absolute path to the user's cache folder. This folder should be " +"used for temporary data that can be removed safely whenever the editor is " +"closed (such as generated resource thumbnails).\n" +"[b]Default paths per platform:[/b]\n" +"[codeblock]\n" +"- Windows: %LOCALAPPDATA%\\Godot\\\n" +"- macOS: ~/Library/Caches/Godot/\n" +"- Linux: ~/.cache/godot/\n" +"[/codeblock]" +msgstr "" +"返回用户缓存文件夹的绝对路径。该文件夹应该用于临时数据,关闭编辑器时应该能够" +"安全地移除这些数据(例如生成的资源预览图)。\n" +"[b]各平台的默认路径:[/b]\n" +"[codeblock]\n" +"- Windows: %LOCALAPPDATA%\\Godot\\\n" +"- macOS: ~/Library/Caches/Godot/\n" +"- Linux: ~/.cache/godot/\n" +"[/codeblock]" + +msgid "" +"Returns the absolute path to the user's configuration folder. This folder " +"should be used for [i]persistent[/i] user configuration files.\n" +"[b]Default paths per platform:[/b]\n" +"[codeblock]\n" +"- Windows: %APPDATA%\\Godot\\ (same as `get_data_dir()`)\n" +"- macOS: ~/Library/Application Support/Godot/ (same as `get_data_dir()`)\n" +"- Linux: ~/.config/godot/\n" +"[/codeblock]" +msgstr "" +"返回用户配置文件夹的绝对路径。该文件夹应该用于[i]持久化[/i]的用户配置文件。\n" +"[b]各平台的默认路径:[/b]\n" +"[codeblock]\n" +"- Windows: %APPDATA%\\Godot\\ (同 `get_data_dir()`)\n" +"- macOS: ~/Library/Application Support/Godot/ (同 `get_data_dir()`)\n" +"- Linux: ~/.config/godot/\n" +"[/codeblock]" + +msgid "" +"Returns the absolute path to the user's data folder. This folder should be " +"used for [i]persistent[/i] user data files such as installed export " +"templates.\n" +"[b]Default paths per platform:[/b]\n" +"[codeblock]\n" +"- Windows: %APPDATA%\\Godot\\ (same as " +"`get_config_dir()`)\n" +"- macOS: ~/Library/Application Support/Godot/ (same as `get_config_dir()`)\n" +"- Linux: ~/.local/share/godot/\n" +"[/codeblock]" +msgstr "" +"返回用户数据文件夹的绝对路径。该文件夹应该用于[i]持久化[/i]的用户数据文件,例" +"如已安装的导出模板。\n" +"[b]各平台的默认路径:[/b]\n" +"[codeblock]\n" +"- Windows:%APPDATA%\\Godot\\ (同 `get_config_dir()` )\n" +"- macOS:~/Library/Application Support/Godot/ (同 `get_config_dir()` )\n" +"- Linux:~/.local/share/godot/\n" +"[/codeblock]" + +msgid "" +"Returns the project-specific editor settings path. Projects all have a " +"unique subdirectory inside the settings path where project-specific editor " +"settings are saved." +msgstr "" +"返回针对项目的编辑器设置路径。各个项目在设置路径中都有一个独立的子目录,用于" +"保存针对项目的编辑器设置。" + msgid "Used by the editor to extend its functionality." msgstr "由编辑器使用,用于扩展其功能。" @@ -27840,6 +29904,9 @@ msgstr "" "这个方法在编辑器保存项目后或关闭项目时被调用,它要求插件保存编辑的外部场景/资" "源。" +msgid "Adds a script at [param path] to the Autoload list as [param name]." +msgstr "将 [param path] 处的脚本作为 [param name] 添加到自动加载列表中。" + msgid "" "Adds a control to the bottom panel (together with Output, Debug, Animation, " "etc). Returns a reference to the button added. It's up to you to hide/show " @@ -28136,6 +30203,17 @@ msgstr "" "如果添加的任何控件可以获得键盘焦点,将其添加到此处。这样可以确保在检查器被刷" "新时恢复焦点。" +msgid "" +"If one or several properties have changed, this must be called. [param " +"field] is used in case your editor can modify fields separately (as an " +"example, Vector3.x). The [param changing] argument avoids the editor " +"requesting this property to be refreshed (leave as [code]false[/code] if " +"unsure)." +msgstr "" +"如果一个或几个属性发生了变化,必然会调用这个函数。[param field] 用于您的编辑" +"器可以单独修改字段的情况(例如,Vector3.x)。[param changing] 参数可以避免编" +"辑器请求刷新该属性(如果不确定,请保留为 [code]false[/code])。" + msgid "Gets the edited object." msgstr "获取编辑后的对象。" @@ -28223,6 +30301,19 @@ msgstr "" "身或子检查器控制的。" msgid "" +"This virtual method is called when updating the context menu of " +"[EditorResourcePicker]. Implement this method to override the \"New ...\" " +"items with your own options. [param menu_node] is a reference to the " +"[PopupMenu] node.\n" +"[b]Note:[/b] Implement [method _handle_menu_selected] to handle these custom " +"items." +msgstr "" +"在更新 [EditorResourcePicker] 的上下文菜单时调用该虚方法。实现该方法以使用您" +"自己的选项覆盖“新建 ...”项目。[param menu_node] 是对 [PopupMenu] 节点的引" +"用。\n" +"[b]注意:[/b]实现 [method _handle_menu_selected] 来处理这些自定义项。" + +msgid "" "Returns a list of all allowed types and subtypes corresponding to the " "[member base_type]. If the [member base_type] is empty, an empty list is " "returned." @@ -28258,6 +30349,14 @@ msgstr "" msgid "Emitted when the value of the edited resource was changed." msgstr "当正在编辑的资源改变值时发出。" +msgid "" +"Emitted when the resource value was set and user clicked to edit it. When " +"[param inspect] is [code]true[/code], the signal was caused by the context " +"menu \"Edit\" or \"Inspect\" option." +msgstr "" +"当资源值被设置,并且用户点击它编辑时触发。当 [param inspect] 为 [code]true[/" +"code] 时,该信号是由上下文菜单“编辑”或“检查”选项引起的。" + msgid "Helper to generate previews of resources or files." msgstr "帮助生成资源或文件的预览。" @@ -28279,6 +30378,42 @@ msgid "" "corresponding signal emitted." msgstr "检查资源是否发生变化,如果发生变化,则无效,并发出相应的信号。" +msgid "" +"Queue the [param resource] being edited for preview. Once the preview is " +"ready, the [param receiver]'s [param receiver_func] will be called. The " +"[param receiver_func] must take the following four arguments: [String] path, " +"[Texture2D] preview, [Texture2D] thumbnail_preview, [Variant] userdata. " +"[param userdata] can be anything, and will be returned when [param " +"receiver_func] is called.\n" +"[b]Note:[/b] If it was not possible to create the preview the [param " +"receiver_func] will still be called, but the preview will be null." +msgstr "" +"将正在编辑的 [param resource] 排队以供预览。预览准备就绪后,将调用 [param " +"receiver] 的 [param receiver_func]。[param receiver_func] 必须接受以下四个参" +"数:[String] path、[Texture2D] preview、[Texture2D] thumbnail_preview、" +"[Variant] userdata。[param userdata] 可以是任何东西,并将在调用 [param " +"receiver_func] 时返回。\n" +"[b]注意:[/b]如果无法创建预览,[param receiver_func] 仍将被调用,但 preview " +"将为 null。" + +msgid "" +"Queue a resource file located at [param path] for preview. Once the preview " +"is ready, the [param receiver]'s [param receiver_func] will be called. The " +"[param receiver_func] must take the following four arguments: [String] path, " +"[Texture2D] preview, [Texture2D] thumbnail_preview, [Variant] userdata. " +"[param userdata] can be anything, and will be returned when [param " +"receiver_func] is called.\n" +"[b]Note:[/b] If it was not possible to create the preview the [param " +"receiver_func] will still be called, but the preview will be null." +msgstr "" +"将位于 [param path] 的资源文件排队以供预览。预览准备就绪后,将调用 [param " +"receiver] 的 [param receiver_func]。[param receiver_func] 必须接受以下四个参" +"数:[String] path、[Texture2D] preview、[Texture2D] thumbnail_preview、" +"[Variant] userdata。[param userdata] 可以是任何东西,并将在调用 [param " +"receiver_func] 时返回。\n" +"[b]注意:[/b]如果无法创建预览,[param receiver_func] 仍将被调用,但 preview " +"将为 null。" + msgid "Removes a custom preview generator." msgstr "移除自定义预览生成器。" @@ -28305,6 +30440,12 @@ msgstr "" "返回空纹理是失败的好方法,并让另一个生成器负责。\n" "注意!,因为始终从线程(而不是主线程)调用此函数。" +msgid "" +"Returns [code]true[/code] if your generator supports the resource of type " +"[param type]." +msgstr "" +"如果您的生成器支持类型为 [param type] 的资源,则返回 [code]true[/code]。" + msgid "Imports scenes from third-parties' 3D files." msgstr "从第三方的 3D 文件中导入场景。" @@ -28439,6 +30580,22 @@ msgstr "返回导入的源文件路径(如[code]res://scene.dae[/code])。" msgid "Plugin to control and modifying the process of importing a scene." msgstr "用于控制和修改导入场景的过程的插件。" +msgid "" +"Return true or false whether a given option should be visible. Return null " +"to ignore." +msgstr "返回给定的选项是否应该可见。忽略时返回 null。" + +msgid "" +"Post process the scene. This function is called after the final scene has " +"been configured." +msgstr "对场景进行后期处理。该方法会在最终场景配置完成后调用。" + +msgid "" +"Pre Process the scene. This function is called right after the scene format " +"loader loaded the scene and no changes have been made." +msgstr "" +"对场景进行预处理。该方法会在场景格式加载器加载场景后、尚未进行更改时调用。" + msgid "Base script that can be used to add extension functions to the editor." msgstr "可用于为编辑器添加扩展功能的基础脚本。" @@ -28513,6 +30670,13 @@ msgstr "" msgid "This method is executed by the Editor when [b]File > Run[/b] is used." msgstr "当使用[b]文件 > 运行[/b]时,此方法由编辑器执行。" +msgid "" +"Adds [param node] as a child of the root node in the editor context.\n" +"[b]Warning:[/b] The implementation of this method is currently disabled." +msgstr "" +"在编辑器上下文中,将 [param node] 添加为根节点的子节点。\n" +"[b]警告:[/b]该方法的实现目前已被禁用。" + msgid "Returns the [EditorInterface] singleton instance." msgstr "返回 [EditorInterface] 单例的实例。" @@ -28590,23 +30754,111 @@ msgstr "更改选择时发出。" msgid "Object that holds the project-independent editor settings." msgstr "保存与项目无关的编辑器设置的对象。" +msgid "" +"Checks if any settings with the prefix [param setting_prefix] exist in the " +"set of changed settings. See also [method get_changed_settings]." +msgstr "" +"检查已改变的设置中是否存在前缀为 [param setting_prefix] 的设置项。另见 " +"[method get_changed_settings]。" + +msgid "Erases the setting whose name is specified by [param property]." +msgstr "擦除名称为 [param property] 的设置项。" + msgid "Returns the list of favorite files and directories for this project." msgstr "返回本项目最收藏的文件和目录列表。" msgid "" +"Returns project-specific metadata for the [param section] and [param key] " +"specified. If the metadata doesn't exist, [param default] will be returned " +"instead. See also [method set_project_metadata]." +msgstr "" +"返回由 [param section]、[param key]、[param data] 指定的针对项目的元数据。如" +"果该元数据不存在,则返回 [param default]。另见 [method " +"set_project_metadata]。" + +msgid "" "Returns the list of recently visited folders in the file dialog for this " "project." msgstr "返回此项目文件对话框中最近访问的文件夹列表。" +msgid "" +"Returns the value of the setting specified by [param name]. This is " +"equivalent to using [method Object.get] on the EditorSettings instance." +msgstr "" +"返回由 [param name] 指定的设置项的值。等价于在 EditorSettings 实例上使用 " +"[method Object.get]。" + +msgid "" +"Returns [code]true[/code] if the setting specified by [param name] exists, " +"[code]false[/code] otherwise." +msgstr "" +"如果由 [param name] 指定的设置项存在则返回 [code]true[/code],否则返回 " +"[code]false[/code]。" + +msgid "" +"Marks the passed editor setting as being changed, see [method " +"get_changed_settings]. Only settings which exist (see [method has_setting]) " +"will be accepted." +msgstr "" +"将传入的编辑器设置项标记为已更改,见 [method get_changed_settings]。仅接受存" +"在的设置项(见 [method has_setting])。" + +msgid "" +"Overrides the built-in editor action [param name] with the input actions " +"defined in [param actions_list]." +msgstr "" +"使用 [param actions_list] 中定义的输入动作覆盖内置的编辑器动作 [param name]。" + msgid "Sets the list of favorite files and directories for this project." msgstr "设置此项目为收藏的文件和目录列表。" msgid "" +"Sets the initial value of the setting specified by [param name] to [param " +"value]. This is used to provide a value for the Revert button in the Editor " +"Settings. If [param update_current] is true, the current value of the " +"setting will be set to [param value] as well." +msgstr "" +"将由 [param name] 指定的设置项的初始值设置为 [param value]。用于在“编辑器设" +"置”中为“恢复”按钮提供值。如果 [param update_current] 为 true,则该设置的当前" +"值也会被设为 [param value]。" + +msgid "" +"Sets project-specific metadata with the [param section], [param key] and " +"[param data] specified. This metadata is stored outside the project folder " +"and therefore won't be checked into version control. See also [method " +"get_project_metadata]." +msgstr "" +"设置由 [param section]、[param key]、[param data] 指定的针对项目的元数据。该" +"元数据保存在项目文件夹之外,因此不会加入到版本控制中。另见 [method " +"get_project_metadata]。" + +msgid "" "Sets the list of recently visited folders in the file dialog for this " "project." msgstr "在文件对话框中设置本项目最近访问过的文件夹列表。" msgid "" +"Sets the [param value] of the setting specified by [param name]. This is " +"equivalent to using [method Object.set] on the EditorSettings instance." +msgstr "" +"将有 [param name] 指定的设置项设置为 [param value]。等价于在 EditorSettings " +"实例上使用 [method Object.set]。" + +msgid "" +"List of file extensions to consider as editable text files in the FileSystem " +"dock (by double-clicking on the files)." +msgstr "" +"文件扩展名列表,“文件系统”面板会将这些文件认为是可编辑的文本文件(在文件上双" +"击编辑)。" + +msgid "" +"The thumbnail size to use in the FileSystem dock (in pixels). See also " +"[member filesystem/file_dialog/thumbnail_size]." +msgstr "" +"“文件系统”面板中使用的缩略图尺寸(单位为像素)。另见 [member filesystem/" +"file_dialog/thumbnail_size]。" + +msgid "" "The refresh interval to use for the Inspector dock's properties. The effect " "of this setting is mainly noticeable when adjusting gizmos in the 2D/3D " "editor and looking at the inspector at the same time. Lower values make the " @@ -28667,6 +30919,18 @@ msgstr "" "2D 骨架编辑器中的骨骼宽度(单位为像素)。另见 [member editors/2d/" "bone_outline_size]。" +msgid "" +"If [code]true[/code], prevents the 2D editor viewport from leaving the " +"scene. Limits are calculated dynamically based on nodes present in the " +"current scene. If [code]false[/code], the 2D editor viewport will be able to " +"move freely, but you risk getting lost when zooming out too far. You can " +"refocus on the scene by selecting a node then pressing [kbd]F[/kbd]." +msgstr "" +"如果为 [code]true[/code],则防止 2D 编辑器视图离开场景。限制是根据当前场景中" +"存在的节点动态计算的。如果为 [code]false[/code],则 2D 编辑器视图将能够自由移" +"动,但如果缩得太小就可能会迷失方向。要重新聚焦场景,你可以选中某节点并按 " +"[kbd]F[/kbd] 键。" + msgid "The grid color to use in the 2D editor." msgstr "2D 编辑器使用的栅格颜色。" @@ -28676,6 +30940,35 @@ msgid "" msgstr "2D 编辑器使用的参考线颜色。可以通过从标尺上拖动鼠标光标来创建参考线。" msgid "" +"The navigation scheme to use when freelook is enabled in the 3D editor. Some " +"of the navigation schemes below may be more convenient when designing " +"specific levels in the 3D editor.\n" +"- [b]Default:[/b] The \"Freelook Forward\", \"Freelook Backward\", " +"\"Freelook Up\" and \"Freelook Down\" keys will move relative to the camera, " +"taking its pitch angle into account for the movement.\n" +"- [b]Partially Axis-Locked:[/b] The \"Freelook Forward\" and \"Freelook " +"Backward\" keys will move relative to the camera, taking its pitch angle " +"into account for the movement. The \"Freelook Up\" and \"Freelook Down\" " +"keys will move in an \"absolute\" manner, [i]not[/i] taking the camera's " +"pitch angle into account for the movement.\n" +"- [b]Fully Axis-Locked:[/b] The \"Freelook Forward\", \"Freelook Backward\", " +"\"Freelook Up\" and \"Freelook Down\" keys will move in an \"absolute\" " +"manner, [i]not[/i] taking the camera's pitch angle into account for the " +"movement.\n" +"See also [member editors/3d/navigation/navigation_scheme]." +msgstr "" +"在 3D 编辑器中启用自由观看时使用的导航方案。在 3D 编辑器中设计特定关卡时,下" +"面的一些导航方案可能会更方便。\n" +"- [b]默认值:[/b]“自由观看向前”、“自由观看向后”、“自由观看向上”和“自由观看向" +"下”键将相对于相机移动,运动时考虑相机的俯仰角。\n" +"- [b]部分轴锁定:[/b]“自由观看向前”和“自由观看向后”键将相对于相机移动,运动时" +"考虑相机的俯仰角。“自由观看向上”和“自由观看向下”键将以“绝对的”方式移动,运动" +"时[i]不[/i]考虑相机的俯仰角。\n" +"- [b]完全轴锁定:[/b]“自由观看向前”、“自由观看向后”、“自由观看向上”和“自由观" +"看向下”键将以“绝对的”方式移动,运动时[i]不[/i]考虑相机的俯仰角。\n" +"另见 [member editors/3d/navigation/navigation_scheme]。" + +msgid "" "If [code]true[/code], render the grid on an XY plane. This can be useful for " "3D side-scrolling games." msgstr "" @@ -28743,6 +31036,37 @@ msgstr "" "未指定,则该文件会使用系统默认的程序打开。" msgid "" +"The display mode to use in the editor's file dialogs.\n" +"- [b]Thumbnails[/b] takes more space, but displays dynamic resource " +"thumbnails, making resources easier to preview without having to open them.\n" +"- [b]List[/b] is more compact but doesn't display dynamic resource " +"thumbnails. Instead, it displays static icons based on the file extension." +msgstr "" +"编辑器的文件对话框所使用的显示模式。\n" +"- [b]Thumbnails[/b](缩略图)占据更多空间,但可以显示动态资源缩略图,无需打开" +"也能够方便地预览资源。\n" +"- [b]List[/b](列表)更紧凑,但不显示动态资源缩略图,而是根据文件扩展名显示静" +"态图标。" + +msgid "" +"If [code]true[/code], display hidden files in the editor's file dialogs. " +"Files that have names starting with [code].[/code] are considered hidden (e." +"g. [code].hidden_file[/code])." +msgstr "" +"如果为 [code]true[/code],则在编辑器的文件对话框中显示隐藏文件。名称以 " +"[code].[/code] 开头的文件被视为隐藏文件(例如 [code].hidden_file[/code])。" + +msgid "" +"The thumbnail size to use in the editor's file dialogs (in pixels). See also " +"[member docks/filesystem/thumbnail_size]." +msgstr "" +"编辑器的文件对话框中使用的缩略图尺寸(单位为像素)。另见 [member docks/" +"filesystem/thumbnail_size]。" + +msgid "If [code]true[/code], uses lossless compression for binary resources." +msgstr "如果为 [code]true[/code],则对二进制资源使用无损压缩。" + +msgid "" "The font to use for the script editor. Must be a resource of a [Font] type " "such as a [code].ttf[/code] or [code].otf[/code] font file." msgstr "" @@ -28852,6 +31176,22 @@ msgstr "" "[b]注意:[/b]在触摸屏设备上默认为 [code]true[/code]。" msgid "" +"If [code]true[/code], enable two finger pan and scale gestures on " +"touchscreen devices.\n" +"[b]Note:[/b] Defaults to [code]true[/code] on touchscreen devices." +msgstr "" +"如果为 [code]true[/code],则在触摸屏设备上启用两指平移和缩放手势。\n" +"[b]注意:[/b]在触摸屏设备上默认为 [code]true[/code]。" + +msgid "" +"If [code]true[/code], increases the scrollbar touch area to improve " +"usability on touchscreen devices.\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 " @@ -28914,6 +31254,12 @@ msgstr "如果为 [code]true[/code],则会在左侧的边栏中显示行号。 msgid "The width of the minimap in the script editor (in pixels)." msgstr "脚本编辑器中小地图的宽度(单位为像素)。" +msgid "If [code]true[/code], draws space characters as centered points." +msgstr "如果为 [code]true[/code],则会将空格字符绘制为居中的点。" + +msgid "If [code]true[/code], draws tab characters as chevrons." +msgstr "如果为 [code]true[/code],则会将制表符绘制为人字形。" + msgid "If [code]true[/code], allows scrolling past the end of the file." msgstr "如果为 [code]true[/code],则允许滚动越过文件的末尾。" @@ -28942,6 +31288,35 @@ msgid "" "reference)." msgstr "编辑器帮助(内置类参考)中标题的字体大小。" +msgid "" +"If [code]true[/code], displays a table of contents at the left of the editor " +"help (at the location where the members overview would appear when editing a " +"script)." +msgstr "" +"如果为 [code]true[/code],则在编辑器帮助的左侧显示目录(编辑脚本时出现成员概" +"览的位置)。" + +msgid "" +"If [code]true[/code], displays an overview of the current script's member " +"variables and functions at the left of the script editor. See also [member " +"text_editor/script_list/sort_members_outline_alphabetically]." +msgstr "" +"如果为 [code]true[/code],则在脚本编辑器的左侧显示当前脚本的成员变量和函数的" +"概览。另见 [member text_editor/script_list/" +"sort_members_outline_alphabetically]。" + +msgid "" +"The script editor's background color. If set to a translucent color, the " +"editor theme's base color will be visible behind." +msgstr "" +"脚本编辑器的背景色。如果设置为半透明的颜色,会透出后面的编辑器主题的基础色。" + +msgid "" +"The script editor's base type color (used for types like [Vector2], " +"[Vector3], [Color], ...)." +msgstr "" +"脚本编辑器的基础类型颜色(用于 [Vector2]、[Vector3]、[Color] 等类型)。" + msgid "The script editor's bookmark icon color (displayed in the gutter)." msgstr "脚本编辑器的书签图标颜色(在边栏中显示)。" @@ -28970,6 +31345,16 @@ msgid "" "gutter)." msgstr "脚本编辑器的代码折叠图标颜色(在边栏中显示)。" +msgid "" +"The script editor's comment color.\n" +"[b]Note:[/b] In GDScript, unlike Python, multiline strings are not " +"considered to be comments, and will use the string highlighting color " +"instead." +msgstr "" +"脚本编辑器的注释颜色。\n" +"[b]注意:[/b]在 GDScript 中,与 Python 不同,多行字符串不被视为注释,而是使用" +"字符串突出显示颜色。" + msgid "The script editor's autocompletion box background color." msgstr "脚本编辑器的自动补全框的背景色。" @@ -29022,9 +31407,27 @@ msgstr "" "这个 [Control] 节点在编辑器的检查器面板中使用,允许编辑数值。可以与 " "[EditorInspectorPlugin] 一起使用,以重新创建相同的行为。" +msgid "If [code]true[/code], the slider will not draw background." +msgstr "如果为 [code]true[/code],则滑动条不会绘制背景。" + msgid "If [code]true[/code], the slider is hidden." msgstr "如果为 [code]true[/code],则隐藏滑动条。" +msgid "The text that displays to the left of the value." +msgstr "在值的左侧显示的文本。" + +msgid "If [code]true[/code], the slider can't be interacted with." +msgstr "如果为 [code]true[/code],则无法与滑动条交互。" + +msgid "Emitted when the value form gains focus." +msgstr "值表单获得焦点时发出。" + +msgid "Emitted when the value form loses focus." +msgstr "值表单丢失焦点时发出。" + +msgid "Base Syntax highlighter resource for the [ScriptEditor]." +msgstr "用于 [ScriptEditor] 的基础语法高亮器资源。" + msgid "" "Virtual method which can be overridden to return the syntax highlighter name." msgstr "虚函数,可以在覆盖后返回语法高亮器的名称。" @@ -29279,6 +31682,11 @@ msgstr "" "要使用 [EditorTranslationParserPlugin],请先使用 [method EditorPlugin." "add_translation_parser_plugin] 方法注册它。" +msgid "" +"Gets the list of file extensions to associate with this parser, e.g. [code]" +"[\"csv\"][/code]." +msgstr "获取与该解析器关联的文件扩展名列表,例如 [code][\"csv\"][/code]。" + msgid "Manages undo history of scenes opened in the editor." msgstr "管理编辑器中打开场景的撤销历史。" @@ -29349,6 +31757,9 @@ msgstr "提交当前暂存的修改,并对提交应用提交信息 [code]msg[/ msgid "Creates a new branch named [code]branch_name[/code] in the VCS." msgstr "在 VCS 中新建名为 [code]branch_name[/code] 的分支。" +msgid "Discards the changes made in a file present at [code]file_path[/code]." +msgstr "丢弃对位于 [code]file_path[/code] 的文件进行的修改。" + msgid "" "Fetches new changes from the remote, but doesn't write changes to the " "current working directory. Equivalent to [code]git fetch[/code]." @@ -29560,6 +31971,21 @@ msgstr "调整主机的带宽限制。" msgid "Destroys the host and all resources associated with it." msgstr "销毁主机和与其关联的所有资源。" +msgid "" +"Configure this ENetHost to use the custom Godot extension allowing DTLS " +"encryption for ENet clients. Call this before [method connect_to_host] to " +"have ENet connect using DTLS validating the server certificate against " +"[code]hostname[/code]. You can pass the optional [param client_options] " +"parameter to customize the trusted certification authorities, or disable the " +"common name verification. See [method TLSOptions.client] and [method " +"TLSOptions.client_unsafe]." +msgstr "" +"配置此 ENetHost 以使用允许对 ENet 客户端进行 DTLS 加密的自定义 Godot 扩展。" +"在 [method connect_to_host] 之前调用它,让 ENet 连接使用 DTLS 根据 " +"[code]hostname[/code] 验证服务器证书。可以通过可选的 [param client_options] " +"参数来自定义受信任的证书颁发机构,或禁用通用名称验证。请参阅 [method " +"TLSOptions.client] 和 [method TLSOptions.client_unsafe]。" + msgid "Returns the local port to which this peer is bound." msgstr "返回该对等体绑定到的本地端口。" @@ -29621,10 +32047,54 @@ msgstr "接收数据的总数。" msgid "Total UDP packets received." msgstr "接收 UDP 数据包的总数。" +msgid "" +"A MultiplayerPeer implementation using the [url=http://enet.bespin.org/index." +"html]ENet[/url] library." +msgstr "" +"使用 [url=http://enet.bespin.org/index.html]ENet[/url] 库实现的 " +"MultiplayerPeer。" + msgid "High-level multiplayer" msgstr "高级多人游戏" msgid "" +"Create client that connects to a server at [code]address[/code] using " +"specified [code]port[/code]. The given address needs to be either a fully " +"qualified domain name (e.g. [code]\"www.example.com\"[/code]) or an IP " +"address in IPv4 or IPv6 format (e.g. [code]\"192.168.1.1\"[/code]). The " +"[code]port[/code] is the port the server is listening on. The " +"[code]channel_count[/code] parameter can be used to specify the number of " +"ENet channels allocated for the connection. The [code]in_bandwidth[/code] " +"and [code]out_bandwidth[/code] parameters can be used to limit the incoming " +"and outgoing bandwidth to the given number of bytes per second. The default " +"of 0 means unlimited bandwidth. Note that ENet will strategically drop " +"packets on specific sides of a connection between peers to ensure the peer's " +"bandwidth is not overwhelmed. The bandwidth parameters also determine the " +"window size of a connection which limits the amount of reliable packets that " +"may be in transit at any given time. Returns [constant OK] if a client was " +"created, [constant ERR_ALREADY_IN_USE] if this ENetMultiplayerPeer instance " +"already has an open connection (in which case you need to call [method " +"MultiplayerPeer.close] first) or [constant ERR_CANT_CREATE] if the client " +"could not be created. If [code]local_port[/code] is specified, the client " +"will also listen to the given port; this is useful for some NAT traversal " +"techniques." +msgstr "" +"创建客户端,该客户端使用指定的 [code]port[/code] 连接到位于 [code]address[/" +"code] 的服务器。给定的地址必须是完全限定的域名(例如 [code]\"www.example." +"com\"[/code]),或 IPv4 或 IPv6 格式的 IP 地址(例如 [code]\"192.168.1.1\"[/" +"code])。[code]port[/code] 是服务器监听的端口。[code]channel_count[/code] 参" +"数可用于指定为连接分配的 ENet 通道数。[code]in_bandwidth[/code] 和 " +"[code]out_bandwidth[/code] 参数可用于将传入和传出带宽限制为给定的每秒字节数。" +"默认值 0 表示无限制的带宽。请注意,ENet 将对在对等体之间的连接的特定端,策略" +"性地丢弃数据包,以确保对等体的带宽不会被淹没。带宽参数还决定了连接的窗口大" +"小,它限制了在任何给定时间可能正在传输的可靠数据包的数量。如果创建了一个客户" +"端,则返回 [constant OK];如果该 ENetMultiplayerPeer 实例已经有一个打开的连接" +"(在这种情况下,需要先调用 [method MultiplayerPeer.close]),则返回 " +"[constant ERR_ALREADY_IN_USE];如果不能被创建客户端,则返回 [constant " +"ERR_CANT_CREATE]。如果指定了 [code]local_port[/code],客户端也会监听给定的端" +"口;这对一些 NAT 穿越技术很有用。" + +msgid "" "The IP used when creating a server. This is set to the wildcard [code]\"*\"[/" "code] by default, which binds to all available interfaces. The given IP " "needs to be in IPv4 or IPv6 address format, for example: " @@ -29725,6 +32195,31 @@ msgstr "该对等体正在断开连接。" msgid "The peer has acknowledged the disconnection request." msgstr "该对等体已确认断开请求。" +msgid "" +"The peer has lost connection, but is not considered truly disconnected (as " +"the peer didn't acknowledge the disconnection request)." +msgstr "" +"该对等体已丢失连接,但并未真正断开连接(因为该对等体还没有对断开连接请求进行" +"确认)。" + +msgid "Packet loss variance." +msgstr "丢包方差。" + +msgid "Mean packet round trip time for reliable packets." +msgstr "可靠数据包的平均往返时间。" + +msgid "Variance of the mean round trip time." +msgstr "平均往返时间方差。" + +msgid "Last recorded round trip time for a reliable packet." +msgstr "可靠数据包的记录的上次行程时间。" + +msgid "Variance of the last trip time recorded." +msgstr "记录的上次行程时间方差。" + +msgid "The peer's current throttle status." +msgstr "该对等体的当前节流状态。" + msgid "Mark the packet to be sent as reliable." msgstr "将要发送的数据包标记为可靠。" @@ -29748,6 +32243,56 @@ msgstr "" "[Engine] 单例使您可以查询和修改项目的运行时参数,例如每秒帧数,时间范围等。" msgid "" +"Returns the name of the CPU architecture the Godot binary was built for. " +"Possible return values are [code]x86_64[/code], [code]x86_32[/code], " +"[code]arm64[/code], [code]armv7[/code], [code]rv64[/code], [code]riscv[/" +"code], [code]ppc64[/code], [code]ppc[/code], [code]wasm64[/code] and " +"[code]wasm32[/code].\n" +"To detect whether the current CPU architecture is 64-bit, you can use the " +"fact that all 64-bit architecture names have [code]64[/code] in their name:\n" +"[codeblocks]\n" +"[gdscript]\n" +"if \"64\" in Engine.get_architecture_name():\n" +" print(\"Running on 64-bit CPU.\")\n" +"else:\n" +" print(\"Running on 32-bit CPU.\")\n" +"[/gdscript]\n" +"[csharp]\n" +"if (Engine.GetArchitectureName().Contains(\"64\"))\n" +" GD.Print(\"Running on 64-bit CPU.\");\n" +"else\n" +" GD.Print(\"Running on 32-bit CPU.\");\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Note:[/b] [method get_architecture_name] does [i]not[/i] return the name " +"of the host CPU architecture. For example, if running an x86_32 Godot binary " +"on a x86_64 system, the returned value will be [code]x86_32[/code]." +msgstr "" +"返回构建 Godot 二进制文件所针对的 CPU 体系结构的名称。可能的返回值有 " +"[code]x86_64[/code]、[code]x86_32[/code]、[code]arm64[/code]、[code]armv7[/" +"code]、[code]rv64[/code]、[code]riscv[/code]、[code]ppc64[/code]、[code]ppc[/" +"code]、[code]wasm64[/code] 和 [code]wasm32[/code]。\n" +"要检测当前 CPU 架构是否为 64 位,可以利用所有 64 位架构名称中都包含 " +"[code]64[/code]:\n" +"[codeblocks]\n" +"[gdscript]\n" +"if \"64\" in Engine.get_architecture_name():\n" +" print(\"正运行在 64 位 CPU 上。\")\n" +"else:\n" +" print(\"正运行在 32 位 CPU 上。\")\n" +"[/gdscript]\n" +"[csharp]\n" +"if (Engine.GetArchitectureName().Contains(\"64\"))\n" +" GD.Print(\"正运行在 64 位 CPU 上。\");\n" +"else\n" +" GD.Print(\"正运行在 32 位 CPU 上。\");\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]注意:[/b][method get_architecture_name] [i]不[/i]返回主机 CPU 体系结构的" +"名称。例如,如果在 x86_64 系统上运行 x86_32 Godot 二进制文件,返回值将是 " +"[code]x86_32[/code]。" + +msgid "" "Returns engine author information in a Dictionary.\n" "[code]lead_developers[/code] - Array of Strings, lead developer names\n" "[code]founders[/code] - Array of Strings, founder names\n" @@ -29903,10 +32448,30 @@ msgstr "" "[/csharp]\n" "[/codeblocks]" +msgid "Returns an instance of a [ScriptLanguage] with the given index." +msgstr "返回给定索引处的 [ScriptLanguage] 实例。" + +msgid "" +"Returns the number of available script languages. Use with [method " +"get_script_language]." +msgstr "返回可用脚本语言的数量。请配合 [method get_script_language] 使用。" + +msgid "" +"Returns a global singleton with given [param name]. Often used for plugins, " +"e.g. GodotPayments." +msgstr "" +"返回具有给定名称 [param name] 的全局单例。常用于插件,例如 GodotPayments。" + msgid "Returns a list of available global singletons." msgstr "返回可用全局单例的列表。" msgid "" +"Returns [code]true[/code] if a singleton with given [param name] exists in " +"global scope." +msgstr "" +"如果全局范围内存在具有给定 [param name] 的单例,则返回 [code]true[/code]。" + +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 " @@ -29966,6 +32531,50 @@ msgid "" msgstr "如果游戏在游戏循环的固定过程和物理阶段内,返回 [code]true[/code]。" msgid "" +"Registers a [ScriptLanguage] instance to be available with " +"[code]ScriptServer[/code].\n" +"Returns:\n" +"- [constant OK] on success\n" +"- [constant ERR_UNAVAILABLE] if [code]ScriptServer[/code] has reached it " +"limit and cannot register any new language\n" +"- [constant ERR_ALREADY_EXISTS] if [code]ScriptServer[/code] already " +"contains a language with similar extension/name/type" +msgstr "" +"注册一个 [ScriptLanguage] 实例以供 [code]ScriptServer[/code] 使用。\n" +"返回:\n" +"- [constant OK] 成功\n" +"- [constant ERR_UNAVAILABLE] 如果 [code]ScriptServer[/code] 已达到限制,并且" +"无法注册任何新语言\n" +"- [constant ERR_ALREADY_EXISTS] 如果 [code]ScriptServer[/code] 已经包含一个具" +"有相似扩展名/名称/类型的语言" + +msgid "" +"Registers the given object as a singleton, globally available under [param " +"name]." +msgstr "将给定的对象注册为单例,名称 [param name] 全局可用。" + +msgid "" +"Unregisters the [ScriptLanguage] instance from [code]ScriptServer[/code].\n" +"Returns:\n" +"- [constant OK] on success\n" +"- [constant ERR_DOES_NOT_EXIST] if the language is already not registered in " +"[code]ScriptServer[/code]" +msgstr "" +"从 [code]ScriptServer[/code] 注销该 [ScriptLanguage] 实例。\n" +"返回:\n" +"- [constant OK] 成功\n" +"- [constant ERR_DOES_NOT_EXIST] 如果该语言尚未在 [code]ScriptServer[/code] 中" +"注册" + +msgid "" +"Unregisters the singleton registered under [param name]. The singleton " +"object is not freed. Only works with user-defined singletons created with " +"[method register_singleton]." +msgstr "" +"将名称为 [param name] 的单例解除注册。该单例对象不会被释放。仅能够对通过 " +"[method register_singleton] 创建的用户定义单例使用。" + +msgid "" "Controls the maximum number of physics steps that can be simulated each " "rendered frame. The default value is tuned to avoid \"spiral of death\" " "situations where expensive physics simulations trigger more expensive " @@ -30043,10 +32652,60 @@ msgstr "" msgid "Exposes the internal debugger." msgstr "暴露内部调试器。" +msgid "" +"[EngineDebugger] handles the communication between the editor and the " +"running game. It is active in the running game. Messages can be sent/" +"received through it. It also manages the profilers." +msgstr "" +"[EngineDebugger] 处理编辑器与正在运行的游戏之间的通信。它会在运行游戏时激活," +"可以通过它收发消息,还负责管理性能分析器。" + +msgid "" +"Returns [code]true[/code] if a capture with the given name is present " +"otherwise [code]false[/code]." +msgstr "" +"如果存在具有给定名称的捕获,则返回 [code]true[/code],否则返回 [code]false[/" +"code]。" + +msgid "" +"Returns [code]true[/code] if a profiler with the given name is present " +"otherwise [code]false[/code]." +msgstr "" +"如果存在具有给定名称的分析器,则返回 [code]true[/code],否则返回 " +"[code]false[/code]。" + +msgid "" +"Returns [code]true[/code] if the debugger is active otherwise [code]false[/" +"code]." +msgstr "" +"如果调试器处于活动状态,则返回 [code]true[/code],否则返回 [code]false[/" +"code]。" + +msgid "" +"Returns [code]true[/code] if a profiler with the given name is present and " +"active otherwise [code]false[/code]." +msgstr "" +"如果存在具有给定名称的分析器,并且该分析器处于活动状态,则返回 [code]true[/" +"code],否则返回 [code]false[/code]。" + +msgid "Unregisters the message capture with given [param name]." +msgstr "将具有给定名称 [param name] 的消息捕获解除注册。" + +msgid "Unregisters a profiler with given [param name]." +msgstr "将具有给定名称 [param name] 的分析器解除注册。" + msgid "Base class for creating custom profilers." msgstr "用于创建自定义分析器的基类。" msgid "" +"This class can be used to implement custom profilers that are able to " +"interact with the engine and editor debugger.\n" +"See [EngineDebugger] and [EditorDebuggerPlugin] for more information." +msgstr "" +"这个类可用于实现自定义分析器,能够与引擎和编辑器调试器进行交互。\n" +"有关详细信息,请参阅 [EngineDebugger] 和 [EditorDebuggerPlugin]。" + +msgid "" "Resource for environment nodes (like [WorldEnvironment]) that define " "multiple rendering options." msgstr "定义渲染选项的资源,用于环境节点(例如 [WorldEnvironment])。" @@ -30321,6 +32980,22 @@ msgid "" "(blurriest)." msgstr "第 7 级辉光的强度。这是最“全局”的级别(最模糊)。" +msgid "" +"If [code]true[/code], glow levels will be normalized so that summed together " +"their intensities equal [code]1.0[/code]." +msgstr "" +"如果为 [code]true[/code],则辉光级别将被归一化,使强度的总和等于 [code]1.0[/" +"code]。" + +msgid "" +"The strength of the glow effect. This applies as the glow is blurred across " +"the screen and increases the distance and intensity of the blur. When using " +"the Mobile rendering method, this should be increased to compensate for the " +"lower dynamic range." +msgstr "" +"辉光效果的强度。适用于屏幕上的辉光模糊,能够增加模糊的距离和强度。使用 " +"Mobile 渲染方法时应将其提高,对低动态范围进行补偿。" + msgid "The reflected (specular) light source." msgstr "反射(镜面反射)光源。" @@ -30447,11 +33122,42 @@ msgid "" "slower." msgstr "屏幕空间反射的最大步数。数值越高,速度越慢。" +msgid "" +"The default exposure used for tonemapping. Higher values result in a " +"brighter image. See also [member tonemap_white]." +msgstr "色调映射的默认曝光。值越高,图像越亮。另见 [member tonemap_white]。" + +msgid "" +"The tonemapping mode to use. Tonemapping is the process that \"converts\" " +"HDR values to be suitable for rendering on a LDR display. (Godot doesn't " +"support rendering on HDR displays yet.)" +msgstr "" +"要使用的色调映射模式。色调映射是对 HDR 值进行“转换”的过程,转换后的值适合在 " +"LDR 显示器上渲染。(Godot 尚不支持在 HDR 显示器上进行渲染。)" + +msgid "" +"The white reference value for tonemapping (also called \"whitepoint\"). " +"Higher values can make highlights look less blown out, and will also " +"slightly darken the whole scene as a result. Only effective if the [member " +"tonemap_mode] isn't set to [constant TONE_MAPPER_LINEAR]. See also [member " +"tonemap_exposure]." +msgstr "" +"色调映射的白色参考值(也称为“白点”)。值越高,高光处的过曝越不明显,并且整个" +"场景也会因此而略微变暗。仅当 [member tonemap_mode] 未设置为 [constant " +"TONE_MAPPER_LINEAR] 时有效。另见 [member tonemap_exposure]。" + msgid "The brightness of the emitted light from the volumetric fog." msgstr "从体积雾发出的光的亮度。" +msgid "" +"Clears the background using the clear color defined in [member " +"ProjectSettings.rendering/environment/defaults/default_clear_color]." +msgstr "" +"使用 [member ProjectSettings.rendering/environment/defaults/" +"default_clear_color] 中定义的清除颜色来清除背景。" + msgid "Clears the background using a custom clear color." -msgstr "使用自定义的底色清除背景。" +msgstr "使用自定义的清除颜色来清除背景。" msgid "Displays a user-defined sky in the background." msgstr "在背景中显示用户自定义的天空。" @@ -30492,6 +33198,21 @@ msgstr "" "TONE_MAPPER_REINHARDT] 更鲜艳。" msgid "" +"Use the Academy Color Encoding System tonemapper. ACES is slightly more " +"expensive than other options, but it handles bright lighting in a more " +"realistic fashion by desaturating it as it becomes brighter. ACES typically " +"has a more contrasted output compared to [constant TONE_MAPPER_REINHARDT] " +"and [constant TONE_MAPPER_FILMIC].\n" +"[b]Note:[/b] This tonemapping operator is called \"ACES Fitted\" in Godot 3." +"x." +msgstr "" +"使用学院色彩编码系统(Academy Color Encoding System)色调映射器。ACES 比其他" +"选项消耗略高,但对于较亮光照的处理更真实,越亮饱和度越低。ACES 的输出在对比度" +"方面通常比 [constant TONE_MAPPER_REINHARDT] 和 [constant TONE_MAPPER_FILMIC] " +"更高。\n" +"[b]注意:[/b]Godot 3.x 将该色调映射运算符称为“ACES Fitted”。" + +msgid "" "Additive glow blending mode. Mostly used for particles, glows (bloom), lens " "flare, bright sources." msgstr "添加辉光混合模式。主要用于粒子、辉光(泛光)、镜头眩光、亮源。" @@ -30623,15 +33344,32 @@ msgstr "" "如果你在 [method parse] 中定义了输入变量,你可以在输入数组中以同样的顺序指定" "它们的值。" +msgid "" +"Returns the error text if [method parse] or [method execute] has failed." +msgstr "如果 [method parse] 或 [method execute] 失败,则返回错误文本。" + msgid "Returns [code]true[/code] if [method execute] has failed." msgstr "如果 [method execute] 失败,返回 [code]true[/code]。" +msgid "" +"Parses the expression and returns an [enum Error] code.\n" +"You can optionally specify names of variables that may appear in the " +"expression with [param input_names], so that you can bind them when it gets " +"executed." +msgstr "" +"解析表达式并返回 [enum Error] 代码。\n" +"你也可以选择用 [param input_names] 来指定可能出现在表达式中的变量名称,这样就" +"可以在执行表达式时进行绑定。" + msgid "Generates noise using the FastNoiseLite library." msgstr "使用 FastNoiseLite 库生成噪声。" msgid "The noise algorithm used. See [enum NoiseType]." msgstr "所使用的噪声算法。见 [enum NoiseType]。" +msgid "Translate the noise input coordinates by the given [Vector3]." +msgstr "使用给定的 [Vector3] 对噪声输入坐标进行平移。" + msgid "The random number seed for all noise types." msgstr "所有噪声类型的随机数种子。" @@ -30642,6 +33380,19 @@ msgstr "" "与 [constant TYPE_PERLIN] 不同,渐变存在于单纯形点阵中,而不是网格点阵中,从" "而避免了定向伪影。" +msgid "" +"Modified, higher quality version of [constant TYPE_SIMPLEX], but slower." +msgstr "对 [constant TYPE_SIMPLEX] 修改后得到的更高质量版本,但速度较慢。" + +msgid "Euclidean distance to the nearest point." +msgstr "到最近点的欧几里得距离。" + +msgid "Squared Euclidean distance to the nearest point." +msgstr "到最近点的欧几里得距离的平方。" + +msgid "Manhattan distance (taxicab metric) to the nearest point." +msgstr "到最近点的曼哈顿距离(出租车度量法)。" + msgid "Type to handle file reading and writing operations." msgstr "用于处理文件读写操作的类型。" @@ -30782,6 +33533,41 @@ msgstr "" "[code]using[/code] 语句或直接调用 [code]Dispose[/code] 方法。" msgid "" +"Returns [code]true[/code] if the file cursor has already read past the end " +"of the file.\n" +"[b]Note:[/b] [code]eof_reached() == false[/code] cannot be used to check " +"whether there is more data available. To loop while there is more data " +"available, use:\n" +"[codeblocks]\n" +"[gdscript]\n" +"while file.get_position() < file.get_length():\n" +" # Read data\n" +"[/gdscript]\n" +"[csharp]\n" +"while (file.GetPosition() < file.GetLength())\n" +"{\n" +" // Read data\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"如果文件光标已经读到了文件末尾,则返回 [code]true[/code]。\n" +"[b]注意:[/b] [code]eof_reached() == false[/code] 不能用于检查是否有更多可用" +"数据。要在有更多可用数据时循环,请使用:\n" +"[codeblocks]\n" +"[gdscript]\n" +"while file.get_position() < file.get_length():\n" +" # 读取数据\n" +"[/gdscript]\n" +"[csharp]\n" +"while (file.GetPosition() < file.GetLength())\n" +"{\n" +" // 读取数据\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + +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 " @@ -30796,6 +33582,21 @@ msgstr "" "对于非静态的相对等效项,请使用 [method DirAccess.file_exists]。" msgid "" +"Writes the file's buffer to disk. Flushing is automatically performed when " +"the file is closed. This means you don't need to call [method flush] " +"manually before closing a file. Still, calling [method flush] can be used to " +"ensure the data is safe even if the project crashes instead of being closed " +"gracefully.\n" +"[b]Note:[/b] Only call [method flush] when you actually need it. Otherwise, " +"it will decrease performance due to constant disk writes." +msgstr "" +"将文件的缓冲区写入磁盘。当关闭文件时,会自动进行刷新。这意味着你不需要在关闭" +"文件前手动调用 [method flush]。尽管如此,即使项目崩溃而不是正常关闭,调用 " +"[method flush] 仍可用于确保数据安全。\n" +"[b]注意:[/b] 只有在你真正需要的时候才调用 [method flush]。否则,它会因不断的" +"磁盘写入而降低性能。" + +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 "" @@ -30823,9 +33624,58 @@ msgstr "" "以整数形式返回文件中接下来的 8 位。请参阅 [method store_8],详细了解哪些值可" "以通过这种方式存储和检索。" +msgid "" +"Returns the whole file as a [String]. Text is interpreted as being UTF-8 " +"encoded.\n" +"If [param skip_cr] is [code]true[/code], carriage return characters " +"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only " +"line feed characters ([code]\\n[/code], LF) represent a new line (Unix " +"convention)." +msgstr "" +"以 [String] 形式返回整个文件。文本会按照 UTF-8 编码解析。\n" +"如果 [param skip_cr] 为 [code]true[/code],解析 UTF-8 时会忽略回车符" +"([code]\\r[/code],CR),因此只使用换行符([code]\\n[/code],LF)表示新一行" +"的开始(Unix 规范)。" + msgid "Returns next [param length] bytes of the file as a [PackedByteArray]." msgstr "将文件中接下来的 [param length] 个字节作为 [PackedByteArray] 返回。" +msgid "" +"Returns the next value of the file in CSV (Comma-Separated Values) format. " +"You can pass a different delimiter [param delim] to use other than the " +"default [code]\",\"[/code] (comma). This delimiter must be one-character " +"long, and cannot be a double quotation mark.\n" +"Text is interpreted as being UTF-8 encoded. Text values must be enclosed in " +"double quotes if they include the delimiter character. Double quotes within " +"a text value can be escaped by doubling their occurrence.\n" +"For example, the following CSV lines are valid and will be properly parsed " +"as two strings each:\n" +"[codeblock]\n" +"Alice,\"Hello, Bob!\"\n" +"Bob,Alice! What a surprise!\n" +"Alice,\"I thought you'd reply with \"\"Hello, world\"\".\"\n" +"[/codeblock]\n" +"Note how the second line can omit the enclosing quotes as it does not " +"include the delimiter. However it [i]could[/i] very well use quotes, it was " +"only written without for demonstration purposes. The third line must use " +"[code]\"\"[/code] for each quotation mark that needs to be interpreted as " +"such instead of the end of a text value." +msgstr "" +"以 CSV(逗号分隔值)格式返回文件的下一个值。可以传递不同的分隔符 [param " +"delim],以使用默认 [code]\",\"[/code](逗号)以外的其他分隔符。这个分隔符必须" +"为一个字符长,且不能是双引号。\n" +"文本被解析为 UTF-8 编码。如果文本值包含分隔符,则它们必须用双引号引起来。文本" +"值中的双引号可以通过将它们的出现次数加倍来转义。\n" +"例如,以下 CSV 行是有效的,每行将被正确解析为两个字符串:\n" +"[codeblock]\n" +"Alice,\"Hello, Bob!\"\n" +"Bob,Alice! What a surprise!\n" +"Alice,\"I thought you'd reply with \"\"Hello, world\"\".\"\n" +"[/codeblock]\n" +"请注意第二行如何省略封闭的引号,因为它不包含分隔符。然而它[i]可以[/i]很好地使" +"用引号,它只是为了演示目的而没有编写。第三行必须为每个需要被解析为引号而不是" +"文本值的末尾而使用 [code]\"\"[/code]。" + msgid "Returns the next 64 bits from the file as a floating-point number." msgstr "将文件中接下来的 64 位作为浮点数返回。" @@ -30868,6 +33718,14 @@ msgid "" msgstr "返回一个给定路径文件的 MD5 字符串,如果失败则返回一个空的 [String]。" msgid "" +"Returns the last time the [param file] was modified in Unix timestamp format " +"or returns a [String] \"ERROR IN [code]file[/code]\". This Unix timestamp " +"can be converted to another format using the [Time] singleton." +msgstr "" +"以 Unix 时间戳格式返回 [param file]的最后修改时间,或者返回一个 [String] “在 " +"[code]file[/code] 中出错”。这个Unix 时间戳可以用 [Time] 单例转换为其他格式。" + +msgid "" "Returns a [String] saved in Pascal format from the file.\n" "Text is interpreted as being UTF-8 encoded." msgstr "" @@ -30911,6 +33769,17 @@ msgid "Returns [code]true[/code] if the file is currently opened." msgstr "如果文件当前被打开,返回 [code]true[/code]。" msgid "" +"Creates a new [FileAccess] object and opens the file for writing or reading, " +"depending on the flags.\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" +"如果打开文件失败,则返回 [code]null[/code] 。你可以使用 [method " +"get_open_error] 来检查发生的错误。" + +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 " @@ -30940,6 +33809,17 @@ msgstr "" "来检查发生的错误。" msgid "" +"Creates a new [FileAccess] object and opens an encrypted file in write or " +"read mode. You need to pass a password to encrypt/decrypt it.\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" +"如果打开文件失败,则返回 [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 "将文件的读/写光标改变到指定的位置(从文件开始的字节数)。" @@ -31074,6 +33954,18 @@ msgstr "" msgid "Stores the given array of bytes in the file." msgstr "在文件中存储给定的字节数组。" +msgid "" +"Store the given [PackedStringArray] in the file as a line formatted in the " +"CSV (Comma-Separated Values) format. You can pass a different delimiter " +"[param delim] to use other than the default [code]\",\"[/code] (comma). This " +"delimiter must be one-character long.\n" +"Text will be encoded as UTF-8." +msgstr "" +"将给定的 [PackedStringArray] 作为 CSV(逗号分隔值)格式的行存储在文件中。你可" +"以传递不同的分隔符 [param delim] 以使用默认 [code]\",\"[/code](逗号)以外的" +"其他分隔符。此分隔符的长度必须为一个字符。\n" +"将使用 UTF-8 编码文本。" + msgid "Stores a floating-point number as 64 bits in the file." msgstr "将一个浮点数以 64 位形式存储在文件中。" @@ -31081,6 +33973,13 @@ msgid "Stores a floating-point number as 32 bits in the file." msgstr "将一个浮点数以 32 位形式存储在文件中。" msgid "" +"Appends [param line] to the file followed by a line return character " +"([code]\\n[/code]), encoding the text as UTF-8." +msgstr "" +"将 [param line] 附加到文件末尾,并在后面加上一个换行符([code]\\n[/code])," +"将使用 UTF-8 编码文本。" + +msgid "" "Stores the given [String] as a line in the file in Pascal format (i.e. also " "store the length of the string).\n" "Text will be encoded as UTF-8." @@ -31168,6 +34067,26 @@ msgstr "" "题,请将 [member mode_overrides_title] 设置为 [code]false[/code],禁用此功" "能。" +msgid "" +"Adds a comma-delimited file name [param filter] option to the [FileDialog] " +"with an optional [param description], which restricts what files can be " +"picked.\n" +"A [param filter] should be of the form [code]\"filename.extension\"[/code], " +"where filename and extension can be [code]*[/code] to match any string. " +"Filters starting with [code].[/code] (i.e. empty filenames) are not " +"allowed.\n" +"For example, a [param filter] of [code]\"*.png, *.jpg\"[/code] and a [param " +"description] of [code]\"Images\"[/code] results in filter text \"Images (*." +"png, *.jpg)\"." +msgstr "" +"将一个逗号分隔的文件名 [param filter] 且带有可选 [param description] 的选项添" +"加到的 [FileDialog],这限制了可以选择的文件。\n" +"[param filter] 的格式应为 [code]\"文件名.扩展名\"[/code],其中文件名和扩展名" +"可以是 [code]*[/code],以匹配任意字符串。不允许使用以 [code].[/code] 开头的过" +"滤器(即空文件名)。\n" +"例如,[code]\"*.png, *.jpg\"[/code] 的 [param filter] 和 [code]\"图像\"[/" +"code] 的 [param description] 会产生过滤器文本“图像 (* .png, *.jpg)”。" + msgid "Clear all the added filters in the dialog." msgstr "清除对话框中所有添加的过滤器。" @@ -31549,6 +34468,21 @@ msgstr "子节点的水平分隔量。" msgid "The vertical separation of children nodes." msgstr "子节点的垂直分隔量。" +msgid "" +"[Material] used with a [FogVolume] to draw things with the volumetric fog " +"effect." +msgstr "[FogVolume] 使用的 [Material],用于绘制具有体积雾效果的东西。" + +msgid "" +"A [Material] resource that can be used by [FogVolume]s to draw volumetric " +"effects.\n" +"If you need more advanced effects, use a custom [url=$DOCS_URL/tutorials/" +"shaders/shader_reference/fog_shader.html]fog shader[/url]." +msgstr "" +"[FogVolume] 使用的 [Material] 资源,用于绘制体积效果。\n" +"如果你需要更高阶的效果,请使用自定义[url=$DOCS_URL/tutorials/shaders/" +"shader_reference/fog_shader.html]雾着色器[/url]。" + msgid "Base class for fonts and font variations." msgstr "字体和字体变体的基类。" @@ -31565,9 +34499,9 @@ msgid "" "[b]Note:[/b] Do not use this function to draw strings character by " "character, use [method draw_string] or [TextLine] instead." msgstr "" -"使用该字体在画布项目中绘制单个 Unicode 字符 [param char],使用给定的位置,颜" -"色为 [param modulate]。[param pos] 指定的是基线位置而不是顶部。如果要按顶部位" -"置绘制,则必须在 Y 轴中加入[i]升部[/i]。\n" +"使用该字体将单个 Unicode 字符 [param char] 绘制在画布项目中的给定的位置,颜色" +"为 [param modulate]。[param pos] 指定的是基线位置而不是顶部。如果要按顶部位置" +"绘制,则必须在 Y 轴中加入[i]升部[/i]。\n" "[b]注意:[/b]请勿使用这个方法进行逐字符的绘制,请改用 [method draw_string] " "或 [TextLine]。" @@ -31579,12 +34513,69 @@ msgid "" "[b]Note:[/b] Do not use this function to draw strings character by " "character, use [method draw_string] or [TextLine] instead." msgstr "" -"使用该字体在画布项目中绘制单个 Unicode 字符 [param char] 的轮廓,使用给定的位" +"使用该字体将单个 Unicode 字符 [param char] 的轮廓绘制在画布项目中的给定的位" "置,颜色为 [param modulate]。[param pos] 指定的是基线位置而不是顶部。如果要按" "顶部位置绘制,则必须在 Y 轴中加入[i]升部[/i]。\n" "[b]注意:[/b]请勿使用这个方法进行逐字符的绘制,请改用 [method draw_string] " "或 [TextLine]。" +msgid "" +"Breaks [param text] into lines using rules specified by [param brk_flags] " +"and draws it into a canvas item using the font, at a given position, with " +"[param modulate] color, optionally clipping the width and aligning " +"horizontally. [param pos] specifies the baseline of the first line, not the " +"top. To draw from the top, [i]ascent[/i] must be added to the Y axis.\n" +"See also [method CanvasItem.draw_multiline_string]." +msgstr "" +"使用 [param brk_flags] 指定的规则对 [param text] 进行断行,并使用该字体将其绘" +"制在画布项目中的给定位置,颜色为 [param modulate],也可以指定裁剪宽度并进行水" +"平对齐。[param pos] 指定的是基线位置而不是顶部。如果要按顶部位置绘制,则必须" +"在 Y 轴中加入[i]升部[/i]。\n" +"另见 [method CanvasItem.draw_multiline_string]。" + +msgid "" +"Breaks [param text] to the lines using rules specified by [param brk_flags] " +"and draws text outline into a canvas item using the font, at a given " +"position, with [param modulate] color and [param size] outline size, " +"optionally clipping the width and aligning horizontally. [param pos] " +"specifies the baseline of the first line, not the top. To draw from the top, " +"[i]ascent[/i] must be added to the Y axis.\n" +"See also [method CanvasItem.draw_multiline_string_outline]." +msgstr "" +"使用 [param brk_flags] 指定的规则对 [param text] 进行断行,并使用该字体将其轮" +"廓绘制在画布项目中的给定位置,颜色为 [param modulate],也可以指定裁剪宽度并进" +"行水平对齐。[param pos] 指定的是基线位置而不是顶部。如果要按顶部位置绘制,则" +"必须在 Y 轴中加入[i]升部[/i]。\n" +"另见 [method CanvasItem.draw_multiline_string_outline]。" + +msgid "" +"Draw [param text] into a canvas item using the font, at a given position, " +"with [param modulate] color, optionally clipping the width and aligning " +"horizontally. [param pos] specifies the baseline, not the top. To draw from " +"the top, [i]ascent[/i] must be added to the Y axis.\n" +"See also [method CanvasItem.draw_string]." +msgstr "" +"使用该字体将 [param text] 绘制在画布项目中的给定位置,颜色为 [param " +"modulate],也可以指定裁剪宽度并进行水平对齐。[param pos] 指定的是基线位置而不" +"是顶部。如果要按顶部位置绘制,则必须在 Y 轴中加入[i]升部[/i]。\n" +"另见 [method CanvasItem.draw_string]。" + +msgid "" +"Draw [param text] outline into a canvas item using the font, at a given " +"position, with [param modulate] color and [param size] outline size, " +"optionally clipping the width and aligning horizontally. [param pos] " +"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] " +"must be added to the Y axis.\n" +"See also [method CanvasItem.draw_string_outline]." +msgstr "" +"使用该字体将 [param text] 的轮廓绘制在画布项目中的给定位置,颜色为 [param " +"modulate],也可以指定裁剪宽度并进行水平对齐。[param pos] 指定的是基线位置而不" +"是顶部。如果要按顶部位置绘制,则必须在 Y 轴中加入[i]升部[/i]。\n" +"另见 [method CanvasItem.draw_string]。" + +msgid "Returns number of faces in the TrueType / OpenType collection." +msgstr "返回 TrueType / OpenType 集合中的字体数。" + msgid "Returns array of fallback [Font]s." msgstr "返回回退 [Font] 数组。" @@ -31680,6 +34671,9 @@ msgstr "字体源数据和预渲染字形的缓存,从动态字体或位图字 msgid "Removes all font cache entries." msgstr "移除所有字体缓存条目。" +msgid "Removes all font sizes from the cache entry" +msgstr "从缓存条目中移除所有字体大小" + msgid "Returns the font ascent (number of pixels above the baseline)." msgstr "返回字体的上升幅度(超出基线的像素数)。" @@ -31689,15 +34683,36 @@ msgstr "返回字体缓存条目的数量。" msgid "Returns the font descent (number of pixels below the baseline)." msgstr "返回字体的减少量(低于基线的像素数)。" +msgid "Returns thickness of the underline in pixels." +msgstr "返回下划线的粗细度,单位为像素。" + +msgid "Recturns an active face index in the TrueType / OpenType collection." +msgstr "返回 TrueType / OpenType 集合中的活动字体索引。" + +msgid "Returns list of rendered glyphs in the cache entry." +msgstr "返回缓存条目中的已渲染字形列表。" + msgid "Returns glyph size." msgstr "返回字形大小。" +msgid "Returns index of the cache texture containing the glyph." +msgstr "返回包含该字形的缓存纹理的索引。" + +msgid "Returns rectangle in the cache texture containing the glyph." +msgstr "返回包含该字形的缓存纹理中的矩形。" + msgid "Returns list of language support overrides." msgstr "返回语言支持覆盖的列表。" msgid "Returns list of script support overrides." msgstr "返回文字支持覆盖的列表。" +msgid "Returns number of textures used by font cache entry." +msgstr "返回字体缓存条目所使用的纹理数。" + +msgid "Returns a copy of the font cache texture image." +msgstr "返回字体缓存纹理图像的副本。" + msgid "Removes specified font cache entry." msgstr "删除指定的字体缓存条目。" @@ -31707,12 +34722,29 @@ msgstr "移除语言支持覆盖。" msgid "Removes script support override." msgstr "移除文字支持覆盖。" +msgid "Removes specified font size from the cache entry." +msgstr "从缓存条目中移除指定的字体大小。" + msgid "Sets the font ascent (number of pixels above the baseline)." msgstr "设置字体的升部(基线上方的像素数)。" msgid "Sets the font descent (number of pixels below the baseline)." msgstr "设置字体的降部(基线下方的像素数)。" +msgid "Sets scaling factor of the color bitmap font." +msgstr "设置彩色位图字体的缩放系数。" + +msgid "Sets thickness of the underline in pixels." +msgstr "设置下划线的粗细度,单位为像素。" + +msgid "" +"Sets embolden strength, if is not equal to zero, emboldens the font " +"outlines. Negative values reduce the outline thickness." +msgstr "设置加粗强度,如果不等于零,则会加粗字体的轮廓。负值会减小轮廓的厚度。" + +msgid "Sets an active face index in the TrueType / OpenType collection." +msgstr "在 TrueType / OpenType 集合中设置活动字体索引。" + msgid "Sets glyph offset from the baseline." msgstr "设置字形相对于基线的偏移量。" @@ -31749,15 +34781,40 @@ msgstr "字体样式标志,见 [enum TextServer.FontStyle]。" msgid "Font hinting mode. Used by dynamic fonts only." msgstr "字体微调模式。仅由动态字体使用。" +msgid "" +"The width of the range around the shape between the minimum and maximum " +"representable signed distance. If using font outlines, [member " +"msdf_pixel_range] must be set to at least [i]twice[/i] the size of the " +"largest font outline. The default [member msdf_pixel_range] value of " +"[code]16[/code] allows outline sizes up to [code]8[/code] to look correct." +msgstr "" +"最小和最大可表示的有符号距离之间的形状周围的范围宽度。如果使用字体轮廓," +"[member msdf_pixel_range] 必须至少设置为最大字体轮廓大小的[i]两倍[/i]。" +"[member msdf_pixel_range] 的默认值为 [code]16[/code],允许大小最大到 " +"[code]8[/code] 的轮廓看起来正确。" + msgid "Font OpenType feature set override." msgstr "字体 OpenType 特性集覆盖。" +msgid "" +"Font oversampling factor. If set to [code]0.0[/code], the global " +"oversampling factor is used instead. Used by dynamic fonts only (MSDF fonts " +"ignore oversampling)." +msgstr "" +"字体过采样系数。如果设置为 [code]0.0[/code] ,则使用全局过采样系数。仅由动态" +"字体使用(MSDF 字体忽略过采样)。" + msgid "Font style name." msgstr "字体样式名称。" msgid "Variation of the [Font]." msgstr "[Font] 的变体。" +msgid "" +"Base font used to create a variation. If not set, default [Theme] font is " +"used." +msgstr "用于创建变体的基础字体。如果未设置,则使用默认的 [Theme] 字体。" + msgid "Extra spacing at the bottom of the line in pixels." msgstr "行底部的额外间距,单位为像素。" @@ -31770,6 +34827,19 @@ msgstr "空格字形的额外宽度。" msgid "Extra spacing at the top of the line in pixels." msgstr "行顶部的额外间距,单位为像素。" +msgid "" +"If is not equal to zero, emboldens the font outlines. Negative values reduce " +"the outline thickness.\n" +"[b]Note:[/b] Emboldened fonts might have self-intersecting outlines, which " +"will prevent MSDF fonts and [TextMesh] from working correctly." +msgstr "" +"如果不等于零,则加粗字体轮廓。负值会减小轮廓厚度。\n" +"[b]注意:[/b] 加粗字体可能有自相交的轮廓,这将阻止 MSDF 字体和 [TextMesh] 正" +"常工作。" + +msgid "Active face index in the TrueType / OpenType collection file." +msgstr "在 TrueType / OpenType 集合文件中的活动字体索引。" + msgid "A script implemented in the GDScript programming language." msgstr "用 GDScript 编程语言实现的脚本。" @@ -32149,6 +35219,9 @@ msgstr "如果启用,则存在跨这些轴的线性马达。" msgid "Represents the size of the [enum Flag] enum." msgstr "代表 [enum Flag] 枚举的大小。" +msgid "Helper node to calculate generic geometry operations in 2D space." +msgstr "辅助节点,用于计算 2D 空间中的通用几何体操作。" + msgid "" "Given an array of [Vector2]s, returns the convex hull as a list of points in " "counterclockwise order. The last point is the same as the first one." @@ -32157,6 +35230,68 @@ msgstr "" "个点相同。" msgid "" +"Returns the 2D point on the 2D segment ([param s1], [param s2]) that is " +"closest to [param point]. The returned point will always be inside the " +"specified segment." +msgstr "" +"返回 2D 线段 ([param s1], [param s2]) 上与 [param point] 最接近的 2D 点。返回" +"的点始终在指定的线段上。" + +msgid "" +"Returns the 2D point on the 2D line defined by ([param s1], [param s2]) that " +"is closest to [param point]. The returned point can be inside the segment " +"([param s1], [param s2]) or outside of it, i.e. somewhere on the line " +"extending from the segment." +msgstr "" +"返回 2D 直线 ([param s1], [param s2]) 上与 [param point] 最接近的 2D 点。返回" +"的点可能在 ([param s1], [param s2]) 线段上,也有可能不在,即直线上该线段之外" +"的部分。" + +msgid "" +"Given the two 2D segments ([param p1], [param q1]) and ([param p2], [param " +"q2]), finds those two points on the two segments that are closest to each " +"other. Returns a [PackedVector2Array] that contains this point on ([param " +"p1], [param q1]) as well the accompanying point on ([param p2], [param q2])." +msgstr "" +"给定两个 2D 线段 ([param p1], [param q1]) 和 ([param p2], [param q2]),找出这" +"两个线段见距离最近的两个点。返回 [PackedVector2Array],包含 ([param p1], " +"[param q1]) 和 ([param p2], [param q2]) 上的点。" + +msgid "" +"Returns [code]true[/code] if [param point] is inside the circle or if it's " +"located exactly [i]on[/i] the circle's boundary, otherwise returns " +"[code]false[/code]." +msgstr "" +"如果 [param point] 在圆内或恰好位于圆的边界[i]上[/i],则返回 [code]true[/" +"code];否则返回 [code]false[/code]。" + +msgid "" +"Returns [code]true[/code] if [param point] is inside [param polygon] or if " +"it's located exactly [i]on[/i] polygon's boundary, otherwise returns " +"[code]false[/code]." +msgstr "" +"如果 [param point] 在 [param polygon] 内或者它恰好位于多边形的边界[i]上[/i]," +"则返回 [code]true[/code];否则返回 [code]false[/code]。" + +msgid "" +"Returns [code]true[/code] if [param polygon]'s vertices are ordered in " +"clockwise order, otherwise returns [code]false[/code]." +msgstr "" +"如果 [param polygon] 的顶点按顺时针顺序排序,则返回 [code]true[/code];否则返" +"回 [code]false[/code]。" + +msgid "" +"Checks if the two lines ([param from_a], [param dir_a]) and ([param from_b], " +"[param dir_b]) intersect. If yes, return the point of intersection as " +"[Vector2]. If no intersection takes place, returns [code]null[/code].\n" +"[b]Note:[/b] The lines are specified using direction vectors, not end points." +msgstr "" +"检查两条直线 ([param from_a], [param dir_a]) 和 ([param from_b], [param " +"dir_b]) 是否相交。如果相交,则返回交点 [Vector2]。如果不相交,则返回 " +"[code]null[/code]。\n" +"[b]注意:[/b]直线使用方向向量指定,而不是终点。" + +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 " @@ -32217,6 +35352,64 @@ msgstr "" "[/codeblocks]" msgid "" +"Returns if [param point] is inside the triangle specified by [param a], " +"[param b] and [param c]." +msgstr "" +"返回 [param point] 是否位于由 [param a]、[param b]、[param c] 指定的三角形" +"中。" + +msgid "" +"Given the 2D segment ([param segment_from], [param segment_to]), returns the " +"position on the segment (as a number between 0 and 1) at which the segment " +"hits the circle that is located at position [param circle_position] and has " +"radius [param circle_radius]. If the segment does not intersect the circle, " +"-1 is returned (this is also the case if the line extending the segment " +"would intersect the circle, but the segment does not)." +msgstr "" +"给定 2D 线段 ([param segment_from], [param segment_to]),返回该线段与圆相交的" +"位置(0 和 1 之间的数),这个圆位于 [param circle_position],半径为 [param " +"circle_radius]。如果该线段与圆不相交,则返回 -1(同样也适用于这条线段的延长线" +"所在的直线与圆相交,而线段本身不相交的情况)。" + +msgid "" +"Checks if the two segments ([param from_a], [param to_a]) and ([param " +"from_b], [param to_b]) intersect. If yes, return the point of intersection " +"as [Vector2]. If no intersection takes place, returns [code]null[/code]." +msgstr "" +"检查两条线段 ([param from_a], [param to_a]) 和 ([param from_b], [param " +"to_b]) 是否相交。如果相交,则返回交点 [Vector2]。如果不相交,则返回 " +"[code]null[/code]。" + +msgid "" +"Triangulates the area specified by discrete set of [param points] such that " +"no point is inside the circumcircle of any resulting triangle. Returns a " +"[PackedInt32Array] where each triangle consists of three consecutive point " +"indices into [param points] (i.e. the returned array will have [code]n * 3[/" +"code] elements, with [code]n[/code] being the number of found triangles). If " +"the triangulation did not succeed, an empty [PackedInt32Array] is returned." +msgstr "" +"对由离散的 [param points] 集指定的区域进行三角化,使得任何点都不在任何生成的" +"三角形的外接圆内。返回一个 [PackedInt32Array],其中每个三角形由 [param " +"points] 中的三个连续点的索引组成(即返回的数组将具有 [code]n * 3[/code] 个元" +"素,其中 [code]n[/code] 是找到的三角形的数量)。如果三角化没有成功,则返回一" +"个空的 [PackedInt32Array]。" + +msgid "" +"Triangulates the polygon specified by the points in [param polygon]. Returns " +"a [PackedInt32Array] where each triangle consists of three consecutive point " +"indices into [param polygon] (i.e. the returned array will have [code]n * 3[/" +"code] elements, with [code]n[/code] being the number of found triangles). " +"Output triangles will always be counter clockwise, and the contour will be " +"flipped if it's clockwise. If the triangulation did not succeed, an empty " +"[PackedInt32Array] is returned." +msgstr "" +"对由 [param polygon] 中的点指定的多边形进行三角化。 返回一个 " +"[PackedInt32Array],其中每个三角形由 [param polygon] 中的三个连续点的索引组成" +"(即返回的数组将具有 [code]n * 3[/code] 个元素,其中 [code]n[/code] 是找到的" +"三角形的数量)。输出三角形将始终为逆时针旋转,如果为顺时针旋转,则轮廓将翻" +"转。如果三角化没有成功,则返回一个空的 [PackedInt32Array]。" + +msgid "" "Create regions where either subject or clip polygons (or both) are filled." msgstr "创建区域,其中主体或剪辑多边形(或两者)被填充。" @@ -32273,6 +35466,90 @@ msgstr "端点被平方化并扩展了 [code]delta[/code] 单位。" msgid "Endpoints are rounded off and extended by [code]delta[/code] units." msgstr "端点被四舍五入,并以 [code]delta[/code] 为单位进行扩展。" +msgid "Helper node to calculate generic geometry operations in 3D space." +msgstr "辅助节点,用于计算 3D 空间中的通用几何体操作。" + +msgid "" +"Returns the 3D point on the 3D segment ([param s1], [param s2]) that is " +"closest to [param point]. The returned point will always be inside the " +"specified segment." +msgstr "" +"返回 3D 线段 ([param s1], [param s2]) 上与 [param point] 最近的 3D 点。返回的" +"点始终在指定的线段内部。" + +msgid "" +"Returns the 3D point on the 3D line defined by ([param s1], [param s2]) that " +"is closest to [param point]. The returned point can be inside the segment " +"([param s1], [param s2]) or outside of it, i.e. somewhere on the line " +"extending from the segment." +msgstr "" +"返回直线上与 [param point] 最近的 3D 点,该直线由 ([param s1], [param s2]) 定" +"义。返回的点可能在线段 ([param s1], [param s2]) 上,也可能不在,即位于线段的" +"延长线上。" + +msgid "" +"Given the two 3D segments ([param p1], [param p2]) and ([param q1], [param " +"q2]), finds those two points on the two segments that are closest to each " +"other. Returns a [PackedVector3Array] that contains this point on ([param " +"p1], [param p2]) as well the accompanying point on ([param q1], [param q2])." +msgstr "" +"给定两个 3D 线段 ([param p1], [param p2]) 和 ([param q1], [param q2]),找出这" +"两个线段见距离最近的两个点。返回 [PackedVector3Array],包含 ([param p1], " +"[param q1]) 和 ([param p2], [param q2]) 上的点。" + +msgid "" +"Tests if the 3D ray starting at [param from] with the direction of [param " +"dir] intersects the triangle specified by [param a], [param b] and [param " +"c]. If yes, returns the point of intersection as [Vector3]. If no " +"intersection takes place, returns [code]null[/code]." +msgstr "" +"测试起始于 [param from]、方向为 [param dir] 的 3D 射线是否与 [param a]、" +"[param b]、[param c] 构成的三角形相交。如果相交则返回交点 [Vector3]。如果不相" +"交则返回 [code]null[/code]。" + +msgid "" +"Given a convex hull defined though the [Plane]s in the array [param planes], " +"tests if the segment ([param from], [param to]) intersects with that hull. " +"If an intersection is found, returns a [PackedVector3Array] containing the " +"point the intersection and the hull's normal. Otherwise, returns an empty " +"array." +msgstr "" +"给定一个通过数组 [param planes] 中的 [Plane] 定义的凸面体,测试线段([param " +"from],[param to])是否与该面体相交。如果找到交点,则返回一个 " +"[PackedVector3Array],其中包含交点和凸面体的法线。否则,返回一个空数组。" + +msgid "" +"Checks if the segment ([param from], [param to]) intersects the cylinder " +"with height [param height] that is centered at the origin and has radius " +"[param radius]. If no, returns an empty [PackedVector3Array]. If an " +"intersection takes place, the returned array contains the point of " +"intersection and the cylinder's normal at the point of intersection." +msgstr "" +"检查线段([param from],[param to])是否与以原点为中心且高度为 [param " +"height]、半径为 [param radius] 的圆柱相交。如果不相交,则返回一个空的 " +"[PackedVector3Array]。如果相交,则返回的数组包含交点和圆柱体在交点处的法线。" + +msgid "" +"Checks if the segment ([param from], [param to]) intersects the sphere that " +"is located at [param sphere_position] and has radius [param sphere_radius]. " +"If no, returns an empty [PackedVector3Array]. If yes, returns a " +"[PackedVector3Array] containing the point of intersection and the sphere's " +"normal at the point of intersection." +msgstr "" +"检查线段([param from],[param to])是否与球心位于 [param sphere_position] 且" +"半径为 [param sphere_radius] 的球体相交。如果不相交,则返回一个空的 " +"[PackedVector3Array]。如果相交,则返回一个 [PackedVector3Array],其中包含交点" +"和球体在交点处的法线。" + +msgid "" +"Tests if the segment ([param from], [param to]) intersects the triangle " +"[param a], [param b], [param c]. If yes, returns the point of intersection " +"as [Vector3]. If no intersection takes place, returns [code]null[/code]." +msgstr "" +"测试线段([param from],[param to])是否与三角形 [param a]、[param b]、" +"[param c] 相交。如果相交,则将交点作为 [Vector3] 返回。如果不相交,则返回 " +"[code]null[/code]。" + msgid "Base node for geometry-based visual instances." msgstr "基于几何图形的视觉实例的基础节点。" @@ -32283,6 +35560,32 @@ msgstr "" "基于几何图形的视觉实例的基础节点。分享一些共同的机制,如可见性和自定义材质。" msgid "" +"Set the value of a shader uniform for this instance only ([url=$DOCS_URL/" +"tutorials/shaders/shader_reference/shading_language.html#per-instance-" +"uniforms]per-instance uniform[/url]). See also [method ShaderMaterial." +"set_shader_parameter] to assign a uniform on all instances using the same " +"[ShaderMaterial].\n" +"[b]Note:[/b] For a shader uniform to be assignable on a per-instance basis, " +"it [i]must[/i] be defined with [code]instance uniform ...[/code] rather than " +"[code]uniform ...[/code] in the shader code.\n" +"[b]Note:[/b] [param name] is case-sensitive and must match the name of the " +"uniform in the code exactly (not the capitalized name in the inspector).\n" +"[b]Note:[/b] Per-instance shader uniforms are currently only available in " +"3D, so there is no 2D equivalent of this method." +msgstr "" +"仅为该实例设置一个着色器 uniform 值([url=$DOCS_URL/tutorials/shaders/" +"shader_reference/shading_language.html#per-instance-uniforms]每实例 uniform[/" +"url]) 。另请参阅 [method ShaderMaterial.set_shader_parameter] 以使用相同的 " +"[ShaderMaterial] 在所有实例上分配一个 uniform。\n" +"[b]注意:[/b]要在每个实例的基础上分配一个着色器 uniform,则[i]必须[/i]在着色" +"器代码中,使用 [code]instance uniform ...[/code],而不是 [code]uniform ...[/" +"code] 来定义。\n" +"[b]注意:[/b][param name] 是区分大小写的,并且必须与代码中的 uniform 名称完全" +"匹配(而不是检查器中大写的名称)。\n" +"[b]注意:[/b]逐实例着色器 uniform 目前仅在 3D 中可用,因此没有该方法的 2D 等" +"效方法。" + +msgid "" "The selected shadow casting flag. See [enum ShadowCastingSetting] for " "possible values." msgstr "选择的阴影投射标志。可能的取值见 [enum ShadowCastingSetting]。" @@ -32330,6 +35633,9 @@ msgstr "" "只显示从这个物体投射出来的阴影。\n" "换句话说,实际的网格将不可见,只有网格投影可见。" +msgid "The standard texel density for lightmapping with [LightmapGI]." +msgstr "使用 [LightmapGI] 进行光照贴图的标准纹素密度。" + msgid "Represents the size of the [enum LightmapScale] enum." msgstr "代表 [enum LightmapScale] 枚举的大小。" @@ -32400,15 +35706,35 @@ msgstr "" "Godot 使用的是直径的米数。映射到 GLTF 的 [code]ymag[/code] 属性。只在正交相机" "中使用,即 [member perspective] 为 false 时。" +msgid "Unregisters the given [GLTFDocumentExtension] instance." +msgstr "将给定的 [GLTFDocumentExtension] 实例取消注册。" + msgid "[GLTFDocument] extension class." msgstr "[GLTFDocument] 扩展类。" msgid "Represents a GLTF light." -msgstr "代表 GLTF 灯。" +msgstr "代表 GLTF 灯光。" + +msgid "" +"Represents a light as defined by the [code]KHR_lights_punctual[/code] GLTF " +"extension." +msgstr "代表由 [code]KHR_lights_punctual[/code] GLTF 扩展定义的灯光。" msgid "KHR_lights_punctual GLTF extension spec" msgstr "KHR_lights_punctual GLTF 扩展规格" +msgid "Creates a new GLTFLight instance by parsing the given [Dictionary]." +msgstr "通过解析给定的 [Dictionary] 新建 GLTFLight 实例。" + +msgid "Create a new GLTFLight instance from the given Godot [Light3D] node." +msgstr "从给定的 Godot [Light3D] 节点新建 GLTFLight 实例。" + +msgid "Serializes this GLTFLight instance into a [Dictionary]." +msgstr "将这个 GLTFLight 实例序列化为 [Dictionary]。" + +msgid "Converts this GLTFLight instance into a Godot [Light3D] node." +msgstr "将这个 GLTFLight 实例转换为 Godot [Light3D] 节点。" + msgid "" "The [Color] of the light. Defaults to white. A black color causes the light " "to have no effect." @@ -32434,12 +35760,43 @@ msgstr "" msgid "GLTF node class." msgstr "GLTF 节点类。" +msgid "GLTF scene and node spec" +msgstr "GLTF 场景和节点规格" + msgid "The diffuse texture." msgstr "漫反射纹理。" +msgid "Discards all embedded textures and uses untextured materials." +msgstr "丢弃所有内嵌的纹理,并使用无纹理的材质。" + +msgid "" +"Extracts embedded textures to be reimported and compressed. Editor only. " +"Acts as uncompressed at runtime." +msgstr "提取内嵌的纹理以重新导入和压缩。仅限编辑器。在运行时充当未压缩的。" + +msgid "" +"Embeds textures VRAM compressed with Basis Universal into the generated " +"scene." +msgstr "将使用 Basis Universal 压缩的纹理 VRAM 嵌入到生成的场景中。" + +msgid "" +"Embeds textures compressed losslessly into the generated scene, matching old " +"behavior." +msgstr "将无损压缩的纹理嵌入到生成的场景中,匹配旧行为。" + msgid "Represents a GLTF texture sampler" msgstr "代表 GLTF 纹理采样器" +msgid "" +"Texture's magnification filter, used when texture appears larger on screen " +"than the source image." +msgstr "纹理的放大滤镜,当纹理在屏幕上看起来比源图像大时使用。" + +msgid "" +"Texture's minification filter, used when the texture appears smaller on " +"screen than the source image." +msgstr "纹理的缩小滤镜,当纹理在屏幕上看起来比源图像小时使用。" + msgid "Bridge between Godot and the Mono runtime (Mono-enabled builds only)." msgstr "Godot 和 Mono 运行时之间的桥梁(仅支持 Mono 的构建)。" @@ -32453,6 +35810,13 @@ msgstr "" "Mono 的 Godot 构建中可用。\n" "参阅 [CSharpScript] 。" +msgid "" +"Returns [code]true[/code] if the .NET runtime is initialized, [code]false[/" +"code] otherwise." +msgstr "" +"如果 .NET 运行时已初始化,则返回 [code]true[/code],否则返回 [code]false[/" +"code]。" + msgid "2D particle emitter." msgstr "2D 粒子发射器。" @@ -32481,6 +35845,23 @@ msgstr "" "如果当节点进入/退出屏幕时粒子突然出现/消失,则增长矩形。[Rect2] 可以通过代码" "或使用 [b]Particles → Generate Visibility Rect[/b] 编辑器工具生成。" +msgid "Particle starts at the specified position." +msgstr "粒子在指定位置开始。" + +msgid "Particle starts with specified rotation and scale." +msgstr "粒子以指定的旋转和缩放开始。" + +msgid "" +"Particle starts with the specified velocity vector, which defines the " +"emission direction and speed." +msgstr "粒子从指定的速度向量开始,该向量定义了发射方向和速度。" + +msgid "Particle starts with specified color." +msgstr "粒子以指定的颜色开始。" + +msgid "Particle starts with specified [code]CUSTOM[/code] data." +msgstr "粒子以指定的 [code]CUSTOM[/code] 数据开始。" + msgid "3D particle emitter." msgstr "3D 粒子发射器。" @@ -32492,9 +35873,15 @@ msgid "" "are active in the current frame." msgstr "返回包含当前帧中所有活动粒子的轴对齐包围盒。" +msgid "Returns the [Mesh] that is drawn at index [param pass]." +msgstr "返回在索引 [param pass] 处绘制的 [Mesh] 。" + msgid "Restarts the particle emission, clearing existing particles." msgstr "重新发射粒子,清除现有的粒子。" +msgid "Sets the [Mesh] that is drawn at index [param pass]." +msgstr "设置在索引 [param pass] 处绘制的 [Mesh] 。" + msgid "Number of particles to emit." msgstr "要发射的粒子数。" @@ -32542,6 +35929,111 @@ msgid "Maximum number of draw passes supported." msgstr "支持的最大绘制阶段数。" msgid "" +"Abstract class for 3D particle attractors affecting [GPUParticles3D] nodes." +msgstr "3D 粒子吸引器的抽象类,会影响 [GPUParticles3D] 节点。" + +msgid "" +"Particle attractors can be used to attract particles towards the attractor's " +"origin, or to push them away from the attractor's origin.\n" +"Particle attractors work in real-time and can be moved, rotated and scaled " +"during gameplay. Unlike collision shapes, non-uniform scaling of attractors " +"is also supported.\n" +"Attractors can be temporarily disabled by hiding them, or by setting their " +"[member strength] to [code]0.0[/code].\n" +"[b]Note:[/b] Particle attractors only affect [GPUParticles3D], not " +"[CPUParticles3D]." +msgstr "" +"粒子吸引器可以将粒子朝吸引器的原点吸,也可以将粒子推离吸引器的原点。\n" +"粒子吸引器是实时进行的,可以在游戏过程中进行移动、旋转、缩放。与碰撞形状不" +"同,吸引器支持不统一的缩放。\n" +"临时禁用吸引器的方法是将其隐藏,也可以将 [member strength] 设置为 [code]0.0[/" +"code]。\n" +"[b]注意:[/b]粒子吸引器只会影响 [GPUParticles3D],不影响 [CPUParticles3D]。" + +msgid "Box-shaped 3D particle attractor affecting [GPUParticles3D] nodes." +msgstr "盒状 3D 粒子吸引器,会影响 [GPUParticles3D] 节点。" + +msgid "" +"Box-shaped 3D particle attractor affecting [GPUParticles3D] nodes.\n" +"[b]Note:[/b] Particle attractors only affect [GPUParticles3D], not " +"[CPUParticles3D]." +msgstr "" +"盒状 3D 粒子吸引器,会影响 [GPUParticles3D] 节点。\n" +"[b]注意:[/b]粒子吸引器只会影响 [GPUParticles3D],不影响 [CPUParticles3D]。" + +msgid "The attractor box's size in 3D units." +msgstr "吸引器盒的尺寸,使用 3D 单位。" + +msgid "Ellipse-shaped 3D particle attractor affecting [GPUParticles3D] nodes." +msgstr "椭圆形 3D 粒子吸引器,会影响 [GPUParticles3D] 节点。" + +msgid "" +"Ellipse-shaped 3D particle attractor affecting [GPUParticles3D] nodes.\n" +"[b]Note:[/b] Particle attractors only affect [GPUParticles3D], not " +"[CPUParticles3D]." +msgstr "" +"椭圆形 3D 粒子吸引器,会影响 [GPUParticles3D] 节点。\n" +"[b]注意:[/b]粒子吸引器只会影响 [GPUParticles3D],不影响 [CPUParticles3D]。" + +msgid "" +"The attractor sphere's radius in 3D units.\n" +"[b]Note:[/b] Stretched ellipses can be obtained by using non-uniform scaling " +"on the [GPUParticlesAttractorSphere3D] node." +msgstr "" +"吸引器球体的半径,使用 3D 单位。\n" +"[b]注意:[/b]要得到拉伸椭圆形,可以对 [GPUParticlesAttractorSphere3D] 节点使" +"用非统一缩放。" + +msgid "" +"Box-shaped 3D particle attractor with strength varying within the box, " +"affecting [GPUParticles3D] nodes." +msgstr "盒状 3D 粒子吸引器,内部存在强度变化,会影响 [GPUParticles3D] 节点。" + +msgid "" +"Box-shaped 3D particle attractor with strength varying within the box, " +"affecting [GPUParticles3D] nodes.\n" +"Unlike [GPUParticlesAttractorBox3D], [GPUParticlesAttractorVectorField3D] " +"uses a [member texture] to affect attraction strength within the box. This " +"can be used to create complex attraction scenarios where particles travel in " +"different directions depending on their location. This can be useful for " +"weather effects such as sandstorms.\n" +"[b]Note:[/b] Particle attractors only affect [GPUParticles3D], not " +"[CPUParticles3D]." +msgstr "" +"盒状 3D 粒子吸引器,内部存在强度变化,会影响 [GPUParticles3D] 节点。\n" +"与 [GPUParticlesAttractorBox3D] 不同,[GPUParticlesAttractorVectorField3D] 使" +"用 [member texture] 来影响盒子内的吸引力强度。可用于创建复杂的吸引场景,其中" +"粒子根据其位置向不同方向移动。这对于沙尘暴等天气影响很有用。\n" +"[b]注意:[/b]粒子吸引器只会影响 [GPUParticles3D],不影响 [CPUParticles3D]。" + +msgid "The size of the vector field box in 3D units." +msgstr "向量场盒子的尺寸,使用 3D 单位。" + +msgid "" +"The 3D texture to be used. Values are linearly interpolated between the " +"texture's pixels.\n" +"[b]Note:[/b] To get better performance, the 3D texture's resolution should " +"reflect the [member size] of the attractor. Since particle attraction is " +"usually low-frequency data, the texture can be kept at a low resolution such " +"as 64×64×64." +msgstr "" +"要使用的 3D 纹理。会在纹理像素之间进行线性插值。\n" +"[b]注意:[/b]为了获得更好的性能,3D 纹理的分辨率应该反映该吸引器的 [member " +"extents]。由于粒子吸引力通常是低频数据,因此可以将纹理保持在较低分辨率,例如 " +"64×64×64。" + +msgid "The collision box's size in 3D units." +msgstr "碰撞框的范围,使用 3D 单位。" + +msgid "" +"Real-time heightmap-shaped 3D particle attractor affecting [GPUParticles3D] " +"nodes." +msgstr "实时高度图状的 3D 粒子吸引器,影响 [GPUParticles3D] 节点。" + +msgid "The update policy to use for the generated heightmap." +msgstr "生成的高度图的更新策略。" + +msgid "" "Generate a 256×256 heightmap. Intended for small-scale scenes, or larger " "scenes with no distant particles." msgstr "生成 256×256 的高度图。适用于小规模场景,或没有远景粒子的较大场景。" @@ -32575,6 +36067,9 @@ msgstr "生成 8192×8192 的高度图。适用于具有远景粒子的巨大场 msgid "Represents the size of the [enum Resolution] enum." msgstr "代表 [enum Resolution] 枚举的大小。" +msgid "The 3D texture representing the signed distance field." +msgstr "代表有符号距离场的 3D 纹理。" + msgid "" "Bake a 16×16×16 signed distance field. This is the fastest option, but also " "the least precise." @@ -32597,6 +36092,10 @@ msgid "" "also the most precise." msgstr "烘焙 512×512×512 的有符号距离场。这是最慢的选项,但也是最精确的。" +msgid "" +"Sphere-shaped 3D particle collision shape affecting [GPUParticles3D] nodes." +msgstr "球状的 3D 粒子碰撞形状,影响 [GPUParticles3D] 节点。" + msgid "The collision sphere's radius in 3D units." msgstr "碰撞球的半径,以 3D 单位表示。" @@ -32621,15 +36120,42 @@ msgstr "" "的偏移量 1 处。\n" "另请参阅 [Curve],支持更多复杂的缓动函数,但不支持颜色。" +msgid "Returns the color of the gradient color at index [param point]." +msgstr "返回渐变色在索引 [param point] 处的颜色。" + +msgid "Returns the offset of the gradient color at index [param point]." +msgstr "返回渐变色在索引 [param point] 处的偏移。" + +msgid "Returns the number of colors in the gradient." +msgstr "返回渐变中的颜色数。" + +msgid "Removes the color at the index [param point]." +msgstr "移除索引 [param point] 处的颜色。" + +msgid "Reverses/mirrors the gradient." +msgstr "将渐变进行反转/镜像。" + msgid "Returns the interpolated color specified by [code]offset[/code]." msgstr "返回由偏移 [code]offset[/code] 指定的插值颜色。" +msgid "Sets the color of the gradient color at index [param point]." +msgstr "设置渐变色在索引 [param point] 处的颜色。" + +msgid "Sets the offset for the gradient color at index [param point]." +msgstr "设置渐变色在索引 [param point] 处的偏移。" + +msgid "Gradient's colors returned as a [PackedColorArray]." +msgstr "将渐变色中的颜色以 [PackedColorArray] 的形式返回。" + msgid "" "Defines how the colors between points of the gradient are interpolated. See " "[enum InterpolationMode] for available modes." msgstr "" "定义如何在渐变点之间对颜色进行插值。可用的模式见 [enum InterpolationMode]。" +msgid "Gradient's offsets returned as a [PackedFloat32Array]." +msgstr "将渐变色中的偏移以 [PackedFloat32Array] 的形式返回。" + msgid "" "Constant interpolation, color changes abruptly at each point and stays " "uniform between. This might cause visible aliasing when used for a gradient " @@ -32824,6 +36350,14 @@ msgstr "" "[b]警告:[/b]这是一个必需的内部节点,删除和释放它可能会导致崩溃。如果你希望隐" "藏它或其任何子项,请使用它们的 [member CanvasItem.visible] 属性。" +msgid "" +"Returns [code]true[/code] if the [param from_port] of the [param from_node] " +"[GraphNode] is connected to the [param to_port] of the [param to_node] " +"[GraphNode]." +msgstr "" +"如果 [param from_node] [GraphNode] 的 [param from_port] 连接到 [param " +"to_node] [GraphNode] 的 [param to_port],则返回 [code]true[/code]。" + msgid "If [code]true[/code], the minimap is visible." msgstr "如果为 [code]true[/code],小图是可见的。" @@ -32871,6 +36405,12 @@ msgstr "每个缩放级别的步长。" msgid "Emitted at the beginning of a GraphNode movement." msgstr "在 GraphNode 移动开始时发出。" +msgid "Emitted at the end of a connection drag." +msgstr "在连接拖动结束时发出。" + +msgid "Emitted at the beginning of a connection drag." +msgstr "在连接拖动开始时发出。" + msgid "" "Emitted when a GraphNode is attempted to be removed from the GraphEdit. " "Provides a list of node names to be removed (all selected nodes, excluding " @@ -32906,6 +36446,12 @@ msgstr "选定的矩形的填充颜色。" msgid "The outline color of the selection rectangle." msgstr "选择的矩形的轮廓颜色。" +msgid "The horizontal range within which a port can be grabbed (inner side)." +msgstr "能够抓取端口的(内侧)横向范围。" + +msgid "The horizontal range within which a port can be grabbed (outer side)." +msgstr "能够抓取端口的(外侧)横向范围。" + msgid "The icon for the zoom out button." msgstr "缩小按钮的图标。" @@ -33019,9 +36565,40 @@ msgstr "返回索引为 [param slot_index] 的插槽的左侧(输入)类型 msgid "Returns the right (output) type of the slot [param slot_index]." msgstr "返回索引为 [param slot_index] 的插槽的右侧(输出)类型。" +msgid "" +"Returns [code]true[/code] if left (input) side of the slot [param " +"slot_index] is enabled." +msgstr "" +"如果插槽 [param slot_index] 的左侧(输入)被启用,则返回 [code]true[/code]。" + +msgid "" +"Returns [code]true[/code] if right (output) side of the slot [param " +"slot_index] is enabled." +msgstr "" +"如果插槽 [param slot_index] 的右侧(输出)被启用,则返回 [code]true[/code]。" + +msgid "" +"Toggles the left (input) side of the slot [param slot_index]. If [param " +"enable] is [code]true[/code], a port will appear on the left side and the " +"slot will be able to be connected from this side." +msgstr "" +"切换插槽 [param slot_index] 的左侧(输入)端口。如果[param enable] 为" +"[code]true[/code],则左侧会出现一个端口,插槽可以从这一侧连接。" + +msgid "" +"Toggles the right (output) side of the slot [param slot_index]. If [param " +"enable] is [code]true[/code], a port will appear on the right side and the " +"slot will be able to be connected from this side." +msgstr "" +"切换插槽 [param slot_index] 的右侧(输出)端口。如果[param enable] 为" +"[code]true[/code],则右侧会出现一个端口,插槽可以从这一侧连接。" + msgid "If [code]true[/code], the GraphNode is a comment node." msgstr "如果为 [code]true[/code],则该 GraphNode 是注释节点。" +msgid "If [code]true[/code], the user can drag the GraphNode." +msgstr "如果为 [code]true[/code],则用户能够拖动该 GraphNode。" + msgid "Sets the overlay shown above the GraphNode. See [enum Overlay]." msgstr "设置在 GraphNode 上方显示的叠加层。见 [enum Overlay]。" @@ -33034,6 +36611,9 @@ msgstr "" "[b]注意:[/b]拖动手柄只会发出 [signal resize_request] 信号,GraphNode 需要手" "动调整大小。" +msgid "If [code]true[/code], the user can select the GraphNode." +msgstr "如果为 [code]true[/code],则用户能够选中该 GraphNode。" + msgid "If [code]true[/code], the GraphNode is selected." msgstr "如果为 [code]true[/code],则该 GraphNode 被选中。" @@ -33059,6 +36639,12 @@ msgstr "" msgid "Emitted when the GraphNode is dragged." msgstr "当 GraphNode 被拖动时发出。" +msgid "Emitted when the GraphNode is deselected." +msgstr "当 GraphNode 被取消选择时发出。" + +msgid "Emitted when the GraphNode is selected." +msgstr "当 GraphNode 被选中时发出。" + msgid "Emitted when the GraphNode is moved." msgstr "当 GraphNode 被移动时触发。" @@ -33082,6 +36668,12 @@ msgstr "当任何图形节点的插槽更新时发出。" msgid "No overlay is shown." msgstr "没有显示覆盖层。" +msgid "Show overlay set in the [theme_item breakpoint] theme property." +msgstr "显示在主题属性 [theme_item breakpoint] 中设置的覆盖层。" + +msgid "Show overlay set in the [theme_item position] theme property." +msgstr "显示在主题属性 [theme_item position] 中设置的覆盖层。" + msgid "The color modulation applied to the close button icon." msgstr "应用于关闭按钮图标的颜色调制。" @@ -33100,6 +36692,9 @@ msgstr "端口的水平偏移量。" msgid "The vertical distance between ports." msgstr "端口之间的垂直距离。" +msgid "Horizontal offset of the title text." +msgstr "标题文本的水平偏移量。" + msgid "Vertical offset of the title text." msgstr "标题文本的垂直偏移量。" @@ -33142,6 +36737,9 @@ msgstr "当 [member overlay] 设置为 [constant OVERLAY_POSITION] 时使用的 msgid "The background used when the [GraphNode] is selected." msgstr "[GraphNode] 被选中时使用的背景。" +msgid "The [StyleBox] used for each slot of the [GraphNode]." +msgstr "用于 [GraphNode] 的每个插槽的 [StyleBox]。" + msgid "" "Grid container used to arrange Control-derived children in a grid like " "layout." @@ -33407,6 +37005,13 @@ msgstr "" msgid "Closes the current context, and return the computed hash." msgstr "关闭当前上下文,并返回计算出的哈希值。" +msgid "" +"Starts a new hash computation of the given [param type] (e.g. [constant " +"HASH_SHA256] to start computation of a SHA-256)." +msgstr "" +"开始对给定类型 [param type] 的哈希计算(例如 [constant HASH_SHA256] 会开始计" +"算 SHA-256)。" + msgid "Updates the computation with the given [param chunk] of data." msgstr "使用给定的数据块 [param chunk] 更新计算。" @@ -33967,6 +37572,74 @@ msgid "Reads one chunk from the response." msgstr "从响应中读取一块数据。" msgid "" +"Sends a request to the connected host.\n" +"The URL parameter is usually just the part after the host, so for " +"[code]https://somehost.com/index.php[/code], it is [code]/index.php[/code]. " +"When sending requests to an HTTP proxy server, it should be an absolute URL. " +"For [constant HTTPClient.METHOD_OPTIONS] requests, [code]*[/code] is also " +"allowed. For [constant HTTPClient.METHOD_CONNECT] requests, it should be the " +"authority component ([code]host:port[/code]).\n" +"Headers are HTTP request headers. For available HTTP methods, see [enum " +"Method].\n" +"To create a POST request with query strings to push to the server, do:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var fields = {\"username\" : \"user\", \"password\" : \"pass\"}\n" +"var query_string = http_client.query_string_from_dict(fields)\n" +"var headers = [\"Content-Type: application/x-www-form-urlencoded\", " +"\"Content-Length: \" + str(query_string.length())]\n" +"var result = http_client.request(http_client.METHOD_POST, \"/index.php\", " +"headers, query_string)\n" +"[/gdscript]\n" +"[csharp]\n" +"var fields = new Godot.Collections.Dictionary { { \"username\", \"user\" }, " +"{ \"password\", \"pass\" } };\n" +"string queryString = new HTTPClient().QueryStringFromDict(fields);\n" +"string[] headers = { \"Content-Type: application/x-www-form-urlencoded\", $" +"\"Content-Length: {queryString.Length}\" };\n" +"var result = new HTTPClient().Request(HTTPClient.Method.Post, \"index.php\", " +"headers, queryString);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Note:[/b] The [param body] parameter is ignored if [param method] is " +"[constant HTTPClient.METHOD_GET]. This is because GET methods can't contain " +"request data. As a workaround, you can pass request data as a query string " +"in the URL. See [method String.uri_encode] for an example." +msgstr "" +"向连接的服务器发送请求。\n" +"URL 参数通常只是主机名后面的部分,所以对于 [code]https://somehost.com/index." +"php[/code] 来说就是 [code]/index.php[/code]。当向 HTTP 代理服务器发送请求时," +"它应该是一个绝对 URL。对于 [constant HTTPClient.METHOD_OPTIONS] 请求," +"[code]*[/code] 也是允许的。对于 [constant HTTPClient.METHOD_CONNECT] 请求,它" +"应该是权限组件 ([code]host:port[/code])。\n" +"Headers 参数是 HTTP 请求的报头。有关可用的 HTTP 方法,请参阅 [enum " +"Method]。\n" +"要创建带有查询字符串的 POST 请求以推送到服务器,请执行以下操作:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var fields = {\"username\" : \"user\", \"password\" : \"pass\"}\n" +"var query_string = http_client.query_string_from_dict(fields)\n" +"var headers = [\"Content-Type: application/x-www-form-urlencoded\", " +"\"Content-Length: \" + str(query_string.length())]\n" +"var result = http_client.request(http_client.METHOD_POST, \"/index.php\", " +"headers, query_string)\n" +"[/gdscript]\n" +"[csharp]\n" +"var fields = new Godot.Collections.Dictionary { { \"username\", \"user\" }, " +"{ \"password\", \"pass\" } };\n" +"string queryString = new HTTPClient().QueryStringFromDict(fields);\n" +"string[] headers = { \"Content-Type: application/x-www-form-urlencoded\", $" +"\"Content-Length: {queryString.Length}\" };\n" +"var result = new HTTPClient().Request(HTTPClient.Method.Post, \"index.php\", " +"headers, queryString);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]注意:[/b]如果 [param method] 是 [constant HTTPClient.METHOD_GET],则忽略 " +"[param body] 参数。这是因为 GET 方法不能包含请求数据。解决方法是,可以将请求" +"数据作为 URL 中的查询字符串传递。有关示例,请参见 [method String." +"uri_encode]。" + +msgid "" "Sets the proxy server for HTTP requests.\n" "The proxy server is unset if [param host] is empty or [param port] is -1." msgstr "" @@ -34612,6 +38285,337 @@ msgstr "" msgid "A node with the ability to send HTTP(S) requests." msgstr "具有发送 HTTP(S) 请求能力的节点。" +msgid "" +"A node with the ability to send HTTP requests. Uses [HTTPClient] " +"internally.\n" +"Can be used to make HTTP requests, i.e. download or upload files or web " +"content via HTTP.\n" +"[b]Warning:[/b] See the notes and warnings on [HTTPClient] for limitations, " +"especially regarding TLS security.\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]Example of contacting a REST API and printing one of its returned fields:" +"[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _ready():\n" +" # Create an HTTP request node and connect its completion signal.\n" +" var http_request = HTTPRequest.new()\n" +" add_child(http_request)\n" +" http_request.request_completed.connect(self._http_request_completed)\n" +"\n" +" # Perform a GET request. The URL below returns JSON as of writing.\n" +" var error = http_request.request(\"https://httpbin.org/get\")\n" +" if error != OK:\n" +" push_error(\"An error occurred in the HTTP request.\")\n" +"\n" +" # Perform a POST request. The URL below returns JSON as of writing.\n" +" # Note: Don't make simultaneous requests using a single HTTPRequest " +"node.\n" +" # The snippet below is provided for reference only.\n" +" var body = JSON.new().stringify({\"name\": \"Godette\"})\n" +" error = http_request.request(\"https://httpbin.org/post\", [], true, " +"HTTPClient.METHOD_POST, body)\n" +" if error != OK:\n" +" push_error(\"An error occurred in the HTTP request.\")\n" +"\n" +"# Called when the HTTP request is completed.\n" +"func _http_request_completed(result, response_code, headers, body):\n" +" var json = JSON.new()\n" +" json.parse(body.get_string_from_utf8())\n" +" var response = json.get_data()\n" +"\n" +" # Will print the user agent string used by the HTTPRequest node (as " +"recognized by httpbin.org).\n" +" print(response.headers[\"User-Agent\"])\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Ready()\n" +"{\n" +" // Create an HTTP request node and connect its completion signal.\n" +" var httpRequest = new HTTPRequest();\n" +" AddChild(httpRequest);\n" +" httpRequest.RequestCompleted += HttpRequestCompleted;\n" +"\n" +" // Perform a GET request. The URL below returns JSON as of writing.\n" +" Error error = httpRequest.Request(\"https://httpbin.org/get\");\n" +" if (error != Error.Ok)\n" +" {\n" +" GD.PushError(\"An error occurred in the HTTP request.\");\n" +" }\n" +"\n" +" // Perform a POST request. The URL below returns JSON as of writing.\n" +" // Note: Don't make simultaneous requests using a single HTTPRequest " +"node.\n" +" // The snippet below is provided for reference only.\n" +" string body = new Json().Stringify(new Godot.Collections.Dictionary\n" +" {\n" +" { \"name\", \"Godette\" }\n" +" });\n" +" error = httpRequest.Request(\"https://httpbin.org/post\", null, true, " +"HTTPClient.Method.Post, body);\n" +" if (error != Error.Ok)\n" +" {\n" +" GD.PushError(\"An error occurred in the HTTP request.\");\n" +" }\n" +"}\n" +"\n" +"// Called when the HTTP request is completed.\n" +"private void HttpRequestCompleted(long result, long responseCode, string[] " +"headers, byte[] body)\n" +"{\n" +" var json = new Json();\n" +" json.Parse(body.GetStringFromUtf8());\n" +" var response = json.GetData().AsGodotDictionary();\n" +"\n" +" // Will print the user agent string used by the HTTPRequest node (as " +"recognized by httpbin.org).\n" +" GD.Print((response[\"headers\"].AsGodotDictionary())[\"User-Agent\"]);\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Example of loading and displaying an image using HTTPRequest:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _ready():\n" +" # Create an HTTP request node and connect its completion signal.\n" +" var http_request = HTTPRequest.new()\n" +" add_child(http_request)\n" +" http_request.request_completed.connect(self._http_request_completed)\n" +"\n" +" # Perform the HTTP request. The URL below returns a PNG image as of " +"writing.\n" +" var error = http_request.request(\"https://via.placeholder.com/512\")\n" +" if error != OK:\n" +" push_error(\"An error occurred in the HTTP request.\")\n" +"\n" +"# Called when the HTTP request is completed.\n" +"func _http_request_completed(result, response_code, headers, body):\n" +" if result != HTTPRequest.RESULT_SUCCESS:\n" +" push_error(\"Image couldn't be downloaded. Try a different image." +"\")\n" +"\n" +" var image = Image.new()\n" +" var error = image.load_png_from_buffer(body)\n" +" if error != OK:\n" +" push_error(\"Couldn't load the image.\")\n" +"\n" +" var texture = ImageTexture.create_from_image(image)\n" +"\n" +" # Display the image in a TextureRect node.\n" +" var texture_rect = TextureRect.new()\n" +" add_child(texture_rect)\n" +" texture_rect.texture = texture\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Ready()\n" +"{\n" +" // Create an HTTP request node and connect its completion signal.\n" +" var httpRequest = new HTTPRequest();\n" +" AddChild(httpRequest);\n" +" httpRequest.RequestCompleted += HttpRequestCompleted;\n" +"\n" +" // Perform the HTTP request. The URL below returns a PNG image as of " +"writing.\n" +" Error error = httpRequest.Request(\"https://via.placeholder.com/512\");\n" +" if (error != Error.Ok)\n" +" {\n" +" GD.PushError(\"An error occurred in the HTTP request.\");\n" +" }\n" +"}\n" +"\n" +"// Called when the HTTP request is completed.\n" +"private void HttpRequestCompleted(long result, long responseCode, string[] " +"headers, byte[] body)\n" +"{\n" +" if (result != (long)HTTPRequest.Result.Success)\n" +" {\n" +" GD.PushError(\"Image couldn't be downloaded. Try a different image." +"\");\n" +" }\n" +" var image = new Image();\n" +" Error error = image.LoadPngFromBuffer(body);\n" +" if (error != Error.Ok)\n" +" {\n" +" GD.PushError(\"Couldn't load the image.\");\n" +" }\n" +"\n" +" var texture = ImageTexture.CreateFromImage(image);\n" +"\n" +" // Display the image in a TextureRect node.\n" +" var textureRect = new TextureRect();\n" +" AddChild(textureRect);\n" +" textureRect.Texture = texture;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Gzipped response bodies[/b]: HTTPRequest will automatically handle " +"decompression of response bodies. A [code]Accept-Encoding[/code] header will " +"be automatically added to each of your requests, unless one is already " +"specified. Any response with a [code]Content-Encoding: gzip[/code] header " +"will automatically be decompressed and delivered to you as uncompressed " +"bytes." +msgstr "" +"一种具有发送 HTTP 请求能力的节点。内部使用 [HTTPClient]。\n" +"可用于发出 HTTP 请求,即通过 HTTP 下载或上传文件或网络内容。\n" +"[b]警告:[/b]请参阅 [HTTPClient] 中的注释和警告以了解限制,尤其是有关 TLS 安" +"全性的限制。\n" +"[b]注意:[/b]导出到 Android 时,在导出项目或使用一键部署前,请确保在 Android " +"导出预设中启用 [code]INTERNET[/code] 权限。否则,任何类型的网络通信都将被 " +"Android 阻止。\n" +"[b]联系 REST API 并打印其返回字段之一的示例:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _ready():\n" +" # 创建一个 HTTP 请求节点并连接其完成信号。\n" +" var http_request = HTTPRequest.new()\n" +" add_child(http_request)\n" +" http_request.request_completed.connect(self._http_request_completed)\n" +"\n" +" # 执行一个 GET 请求。以下 URL 会将写入作为 JSON 返回。\n" +" var error = http_request.request(\"https://httpbin.org/get\")\n" +" if error != OK:\n" +" push_error(\"在HTTP请求中发生了一个错误。\")\n" +"\n" +" # 执行一个 POST 请求。 以下 URL 会将写入作为 JSON 返回。\n" +" # 注意:不要使用单个 HTTPRequest 节点同时发出请求。\n" +" # 下面的代码片段仅供参考。\n" +" var body = JSON.new().stringify({\"name\": \"Godette\"})\n" +" error = http_request.request(\"https://httpbin.org/post\", [], true, " +"HTTPClient.METHOD_POST, body)\n" +" if error != OK:\n" +" push_error(\"在HTTP请求中发生了一个错误。\")\n" +"\n" +"# 当 HTTP 请求完成时调用。\n" +"func _http_request_completed(result, response_code, headers, body):\n" +" var json = JSON.new()\n" +" json.parse(body.get_string_from_utf8())\n" +" var response = json.get_data()\n" +"\n" +" # 将打印 HTTPRequest 节点使用的用户代理字符串(由 httpbin.org 识别)。\n" +" print(response.headers[\"User-Agent\"])\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Ready()\n" +"{\n" +" // 创建一个 HTTP 请求节点并连接其完成信号。\n" +" var httpRequest = new HTTPRequest();\n" +" AddChild(httpRequest);\n" +" httpRequest.RequestCompleted += HttpRequestCompleted;\n" +"\n" +" // 执行一个 GET 请求。以下 URL 会将写入作为 JSON 返回。\n" +" Error error = httpRequest.Request(\"https://httpbin.org/get\");\n" +" if (error != Error.Ok)\n" +" {\n" +" GD.PushError(\"在HTTP请求中发生了一个错误。\");\n" +" }\n" +"\n" +" // 执行一个 POST 请求。 以下 URL 会将写入作为 JSON 返回。\n" +" // 注意:不要使用单个 HTTPRequest 节点同时发出请求。\n" +" // 下面的代码片段仅供参考。\n" +" string body = new Json().Stringify(new Godot.Collections.Dictionary\n" +" {\n" +" { \"name\", \"Godette\" }\n" +" });\n" +" error = httpRequest.Request(\"https://httpbin.org/post\", null, true, " +"HTTPClient.Method.Post, body);\n" +" if (error != Error.Ok)\n" +" {\n" +" GD.PushError(\"在HTTP请求中发生了一个错误。\");\n" +" }\n" +"}\n" +"\n" +"// 当 HTTP 请求完成时调用。\n" +"private void HttpRequestCompleted(long result, long responseCode, string[] " +"headers, byte[] body)\n" +"{\n" +" var json = new Json();\n" +" json.Parse(body.GetStringFromUtf8());\n" +" var response = json.GetData().AsGodotDictionary();\n" +"\n" +" // 将打印 HTTPRequest 节点使用的用户代理字符串(由 httpbin.org 识别)。\n" +" GD.Print((response[\"headers\"].AsGodotDictionary())[\"User-Agent\"]);\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]使用 HTTPRequest 加载和显示图像的示例:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _ready():\n" +" # 创建一个 HTTP 请求节点并连接其完成信号。\n" +" var http_request = HTTPRequest.new()\n" +" add_child(http_request)\n" +" http_request.request_completed.connect(self._http_request_completed)\n" +"\n" +" # 执行一个 HTTP 请求。下面的 URL 将写入作为一个 PNG 图像返回。\n" +" var error = http_request.request(\"https://via.placeholder.com/512\")\n" +" if error != OK:\n" +" push_error(\"在HTTP请求中发生了一个错误。\")\n" +"\n" +"# 当 HTTP 请求完成时调用。\n" +"func _http_request_completed(result, response_code, headers, body):\n" +" if result != HTTPRequest.RESULT_SUCCESS:\n" +" push_error(\"无法下载图像。尝试一个不同的图像。\")\n" +"\n" +" var image = Image.new()\n" +" var error = image.load_png_from_buffer(body)\n" +" if error != OK:\n" +" push_error(\"无法加载图像。\")\n" +"\n" +" var texture = ImageTexture.create_from_image(image)\n" +"\n" +" # 在 TextureRect 节点中显示图像。\n" +" var texture_rect = TextureRect.new()\n" +" add_child(texture_rect)\n" +" texture_rect.texture = texture\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Ready()\n" +"{\n" +" // 创建一个 HTTP 请求节点并连接其完成信号。\n" +" var httpRequest = new HTTPRequest();\n" +" AddChild(httpRequest);\n" +" httpRequest.RequestCompleted += HttpRequestCompleted;\n" +"\n" +" // 执行一个 HTTP 请求。下面的 URL 将写入作为一个 PNG 图像返回。\n" +" Error error = httpRequest.Request(\"https://via.placeholder.com/512\");\n" +" if (error != Error.Ok)\n" +" {\n" +" GD.PushError(\"在HTTP请求中发生了一个错误。\");\n" +" }\n" +"}\n" +"\n" +"// 当 HTTP 请求完成时调用。\n" +"private void HttpRequestCompleted(long result, long responseCode, string[] " +"headers, byte[] body)\n" +"{\n" +" if (result != (long)HTTPRequest.Result.Success)\n" +" {\n" +" GD.PushError(\"无法下载图像。尝试一个不同的图像。\");\n" +" }\n" +" var image = new Image();\n" +" Error error = image.LoadPngFromBuffer(body);\n" +" if (error != Error.Ok)\n" +" {\n" +" GD.PushError(\"无法加载图像。\");\n" +" }\n" +"\n" +" var texture = ImageTexture.CreateFromImage(image);\n" +"\n" +" // 在 TextureRect 节点中显示图像。\n" +" var textureRect = new TextureRect();\n" +" AddChild(textureRect);\n" +" textureRect.Texture = texture;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Gzipped 响应体[/b]:HTTPRequest 将自动处理响应体的解压缩。除非已经指定了一" +"个,否则 [code]Accept-Encoding[/code] 报头将自动添加到您的每个请求中。任何带" +"有 [code]Content-Encoding: gzip[/code] 报头的响应都将自动解压,并作为未压缩的" +"字节传送给您。" + msgid "Making HTTP requests" msgstr "发出 HTTP 请求" @@ -34637,6 +38641,43 @@ msgid "" msgstr "返回内部 [HTTPClient] 的当前状态。见 [enum HTTPClient.Status]。" msgid "" +"Creates request on the underlying [HTTPClient]. If there is no configuration " +"errors, it tries to connect using [method HTTPClient.connect_to_host] and " +"passes parameters onto [method HTTPClient.request].\n" +"Returns [constant OK] if request is successfully created. (Does not imply " +"that the server has responded), [constant ERR_UNCONFIGURED] if not in the " +"tree, [constant ERR_BUSY] if still processing previous request, [constant " +"ERR_INVALID_PARAMETER] if given string is not a valid URL format, or " +"[constant ERR_CANT_CONNECT] if not using thread and the [HTTPClient] cannot " +"connect to host.\n" +"[b]Note:[/b] When [param method] is [constant HTTPClient.METHOD_GET], the " +"payload sent via [param request_data] might be ignored by the server or even " +"cause the server to reject the request (check [url=https://datatracker.ietf." +"org/doc/html/rfc7231#section-4.3.1]RFC 7231 section 4.3.1[/url] for more " +"details). As a workaround, you can send data as a query string in the URL " +"(see [method String.uri_encode] for an example).\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." +msgstr "" +"在底层的 [HTTPClient] 上创建请求。如果没有配置错误,它会尝试使用 [method " +"HTTPClient.connect_to_host] 连接并将参数传递给 [method HTTPClient." +"request]。\n" +"如果成功创建请求,则返回 [constant OK]。(并不意味着服务器已响应),如果不在" +"树中,则返回 [constant ERR_UNCONFIGURED];如果仍在处理先前的请求,则返回 " +"[constant ERR_BUSY];如果给定的字符串不是有效的 URL 格式,则返回 [constant " +"ERR_INVALID_PARAMETER];或者如果不使用线程并且 [HTTPClient] 无法连接到主机," +"则返回 [constant ERR_CANT_CONNECT]。\n" +"[b]注意:[/b]当 [param method] 为 [constant HTTPClient.METHOD_GET] 时,通过 " +"[param request_data] 发送的有效载荷可能会被服务器忽略,甚至导致服务器拒绝请求" +"(参阅 [url= https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.1]RFC " +"7231 第 4.3.1 节[/url]了解更多详情)。作为一种变通方法,可以在 URL 中将数据作" +"为查询字符串发送(有关示例,请参见 [method String.uri_encode])。\n" +"[b]注意:[/b]建议使用传输加密(TLS)并避免在 HTTP GET URL 参数中发送敏感信息" +"(例如登录凭据)。考虑改用 HTTP POST 请求或 HTTP 报头来获取此类信息。" + +msgid "" "Creates request on the underlying [HTTPClient] using a raw array of bytes " "for the request body. If there is no configuration errors, it tries to " "connect using [method HTTPClient.connect_to_host] and passes parameters onto " @@ -34742,6 +38783,62 @@ msgid "Importing images" msgstr "导入图像" msgid "" +"Alpha-blends [param src_rect] from [param src] image to this image at " +"coordinates [param dst], clipped accordingly to both image bounds. This " +"image and [param src] image [b]must[/b] have the same format. [param " +"src_rect] with non-positive size is treated as empty." +msgstr "" +"将 [param src] 图像上的 [param src_rect] 与该图像的坐标 [param dst] 处进行 " +"Alpha 混合,将根据两个图像的边界进行裁剪。该图像和 [param src] 图像[b]必须[/" +"b]具有相同的格式。具有非正大小的 [param src_rect] 将被视为空。" + +msgid "" +"Alpha-blends [param src_rect] from [param src] image to this image using " +"[param mask] image at coordinates [param dst], clipped accordingly to both " +"image bounds. Alpha channels are required for both [param src] and [param " +"mask]. [param dst] pixels and [param src] pixels will blend if the " +"corresponding mask pixel's alpha value is not 0. This image and [param src] " +"image [b]must[/b] have the same format. [param src] image and [param mask] " +"image [b]must[/b] have the same size (width and height) but they can have " +"different formats. [param src_rect] with non-positive size is treated as " +"empty." +msgstr "" +"使用遮罩图 [param mask],将源图像 [param src] 中的 [param src_rect] 区域的图" +"像,Alpha 混合到本图像从坐标 [param dst] 起的区域,会根据两者的图像区域进行裁" +"剪。[param src] 和 [param mask] 都需要有 Alpha 通道。如果遮罩图 mask 上某个像" +"素的 Alpha 值非 0,则相应的 [param dst] 的像素和 [param src] 的像素将混合。这" +"张图像和 [param src] 图像的格式[b]必须[/b]一致。[param src] 图像和 [param " +"mask] 图像的大小(宽度和高度)[b]必须[/b]相同,格式可以不同。[param " +"src_rect] 的大小如果非正,则会作为空矩形处理。" + +msgid "" +"Copies [param src_rect] from [param src] image to this image at coordinates " +"[param dst], clipped accordingly to both image bounds. This image and [param " +"src] image [b]must[/b] have the same format. [param src_rect] with non-" +"positive size is treated as empty." +msgstr "" +"将 [param src] 图像上的 [param src_rect] 复制到该图像的坐标 [param dst] 处," +"并根据两个图像边界进行裁剪。该图像和 [param src] 图像[b]必须[/b]具有相同的格" +"式。具有非正大小的 [param src_rect] 将被视为空矩形。" + +msgid "" +"Blits [param src_rect] area from [param src] image to this image at the " +"coordinates given by [param dst], clipped accordingly to both image bounds. " +"[param src] pixel is copied onto [param dst] if the corresponding [param " +"mask] pixel's alpha value is not 0. This image and [param src] image " +"[b]must[/b] have the same format. [param src] image and [param mask] image " +"[b]must[/b] have the same size (width and height) but they can have " +"different formats. [param src_rect] with non-positive size is treated as " +"empty." +msgstr "" +"将源图像 [param src] 上的矩形区域 [param src_rect] 复制到本图像从坐标 [param " +"dst] 起的区域,会根据两者的图像区域进行裁剪。如果遮罩图 [param mask] 上某个像" +"素的 Alpha 值非 0,就会把 [param src] 上对应的像素复制到 [param dst] 上。这张" +"图像和 [param src] 图像的格式[b]必须[/b]一致。[param src] 图像和 [param " +"mask] 图像的大小(宽度和高度)[b]必须[/b]相同,格式可以不同。[param " +"src_rect] 的大小如果非正,则会作为空矩形处理。" + +msgid "" "Converts a bump map to a normal map. A bump map provides a height offset per-" "pixel, while a normal map provides a normal direction per pixel." msgstr "" @@ -34751,6 +38848,35 @@ msgstr "" msgid "Removes the image's mipmaps." msgstr "删除图像的多级渐远纹理。" +msgid "" +"Compresses the image to use less memory. Can not directly access pixel data " +"while the image is compressed. Returns error if the chosen compression mode " +"is not available.\n" +"The [param mode] parameter helps to pick the best compression method for DXT " +"and ETC2 formats. It is ignored for ASTC compression.\n" +"For ASTC compression, the [param astc_format] parameter must be supplied." +msgstr "" +"压缩图像以减少内存的使用。当图像被压缩时,不能直接访问像素数据。如果选择的压" +"缩模式不可用,则返回错误。\n" +"[param mode] 参数有助于为 DXT 和 ETC2 格式选择最佳压缩方法。对于 ASTC 压缩," +"它会被忽略。\n" +"对于 ASTC 压缩,必须提供 [param astc_format] 参数。" + +msgid "" +"Compresses the image to use less memory. Can not directly access pixel data " +"while the image is compressed. Returns error if the chosen compression mode " +"is not available.\n" +"This is an alternative to [method compress] that lets the user supply the " +"channels used in order for the compressor to pick the best DXT and ETC2 " +"formats. For other formats (non DXT or ETC2), this argument is ignored.\n" +"For ASTC compression, the [param astc_format] parameter must be supplied." +msgstr "" +"压缩图像以减少内存的使用。当图像被压缩时,不能直接访问像素数据。如果选择的压" +"缩模式不可用,则返回错误。\n" +"这是 [method compress] 的一种替代方法,允许用户提供使用的通道,以便压缩器选择" +"最佳的 DXT 和 ETC2 格式。对于其他格式(非 DXT 或 ETC2),将忽略此参数。\n" +"对于 ASTC 压缩,必须提供 [param astc_format] 参数。" + msgid "Converts the image's format. See [enum Format] constants." msgstr "转换图像的格式。请参阅 [enum Format] 常量。" @@ -34758,6 +38884,25 @@ msgid "Copies [param src] image to this image." msgstr "将源图像 [param src] 复制到本图像。" msgid "" +"Creates an empty image of given size and format. See [enum Format] " +"constants. If [param use_mipmaps] is [code]true[/code], then generate " +"mipmaps for this image. See the [method generate_mipmaps]." +msgstr "" +"创建一个给定大小和格式的空图像。请参阅 [enum Format] 常量。如果 [param " +"use_mipmaps] 为 [code]true[/code],则为该图像生成 Mipmaps。请参阅 [method " +"generate_mipmaps]。" + +msgid "" +"Creates a new image of given size and format. See [enum Format] constants. " +"Fills the image with the given raw data. If [param use_mipmaps] is " +"[code]true[/code] then loads mipmaps for this image from [param data]. See " +"[method generate_mipmaps]." +msgstr "" +"创建一个给定大小和格式的新图像。请参阅 [enum Format] 常量。用给定的原始数据填" +"充图像。如果 [param use_mipmaps] 为 [code]true[/code],则从 [param data] 为该" +"图像加载 Mipmaps。请参阅 [method generate_mipmaps]。" + +msgid "" "Returns [constant ALPHA_BLEND] if the image has data for alpha values. " "Returns [constant ALPHA_BIT] if all the alpha values are stored in a single " "bit. Returns [constant ALPHA_NONE] if no data for alpha values is found." @@ -34781,6 +38926,18 @@ msgstr "水平翻转图像。" msgid "Flips the image vertically." msgstr "垂直翻转图像。" +msgid "" +"Generates mipmaps for the image. Mipmaps are precalculated lower-resolution " +"copies of the image that are automatically used if the image needs to be " +"scaled down when rendered. They help improve image quality and performance " +"when rendering. This method returns an error if the image is compressed, in " +"a custom format, or if the image's width/height is [code]0[/code]." +msgstr "" +"为图像生成 Mipmap。Mipmap 是预先计算好的图像的低分辨率副本,如果图像在渲染时" +"需要按比例缩小,则会自动使用这些副本。它们有助于在渲染时提高图像质量和性能。" +"如果图像被压缩,或采用自定义格式,或图像的宽度或高度为 [code]0[/code],则该方" +"法返回错误。" + msgid "Returns a copy of the image's raw data." msgstr "返回图像原始数据的副本。" @@ -34790,6 +38947,21 @@ msgstr "返回图像的格式。参阅 [enum Format] 常量。" msgid "Returns the image's height." msgstr "返回图像的高度。" +msgid "" +"Returns the offset where the image's mipmap with index [param mipmap] is " +"stored in the [code]data[/code] dictionary." +msgstr "" +"返回存储在图像的 [code]data[/code] 字典中的索引为 [param mipmap] 的多级渐远纹" +"理的偏移量。" + +msgid "" +"Returns the color of the pixel at [param point].\n" +"This is the same as [method get_pixel], but with a [Vector2i] argument " +"instead of two integer arguments." +msgstr "" +"返回 [param point] 处像素的颜色。\n" +"这与 [method get_pixel] 相同,只是用一个 [Vector2i] 参数代替了两个整数参数。" + msgid "Returns the image's size (width and height)." msgstr "返回图像的大小(宽度和高度)。" @@ -34813,6 +38985,22 @@ msgstr "" "的 Alpha 高于 0,则返回 [code]false[/code]。" msgid "" +"Loads an image from file [param path]. See [url=$DOCS_URL/tutorials/" +"assets_pipeline/importing_images.html#supported-image-formats]Supported " +"image formats[/url] for a list of supported image formats and limitations.\n" +"[b]Warning:[/b] This method should only be used in the editor or in cases " +"when you need to load external images at run-time, such as images located at " +"the [code]user://[/code] directory, and may not work in exported projects.\n" +"See also [ImageTexture] description for usage examples." +msgstr "" +"从文件 [param path] 加载图像。有关支持的图像格式的列表和限制,请参阅" +"[url=$DOCS_URL/tutorials/assets_pipeline/importing_images.html#supported-" +"image-formats]支持的图像格式[/url]。\n" +"[b]警告:[/b]该方法只能用于编辑器,或需要在运行时加载外部图像的情况,例如位" +"于 [code]user://[/code] 目录的图像,并且可能不适用于导出的项目。\n" +"另请参阅 [ImageTexture] 说明,以获取使用示例。" + +msgid "" "Loads an image from the binary contents of a BMP file.\n" "[b]Note:[/b] Godot's BMP module doesn't support 16-bit per pixel images. " "Only 1-bit, 4-bit, 8-bit, 24-bit, and 32-bit per pixel images are supported." @@ -34841,9 +39029,141 @@ msgstr "" "code]。" msgid "" +"Resizes the image to the nearest power of 2 for the width and height. If " +"[param square] is [code]true[/code] then set width and height to be the " +"same. New pixels are calculated using the [param interpolation] mode defined " +"via [enum Interpolation] constants." +msgstr "" +"将图像的宽度和高度调整为最接近的 2 的幂。如果 [param square] 为 [code]true[/" +"code],则将宽度和高度设置为相同。新像素将通过使用 [enum Interpolation] 常量定" +"义的 [param interpolation] 模式计算。" + +msgid "" "Converts a standard RGBE (Red Green Blue Exponent) image to an sRGB image." msgstr "将标准 RGBE(红绿蓝指数)图像转换为 sRGB 图像。" +msgid "" +"Saves the image as an EXR file to [param path]. If [param grayscale] is " +"[code]true[/code] and the image has only one channel, it will be saved " +"explicitly as monochrome rather than one red channel. This function will " +"return [constant ERR_UNAVAILABLE] if Godot was compiled without the TinyEXR " +"module.\n" +"[b]Note:[/b] The TinyEXR module is disabled in non-editor builds, which " +"means [method save_exr] will return [constant ERR_UNAVAILABLE] when it is " +"called from an exported project." +msgstr "" +"将图像作为 EXR 文件保存到 [param path]。如果 [param grayscale] 为 " +"[code]true[/code],并且图像只有一个通道,它将被明确地保存为单色而不是一个红色" +"通道。如果 Godot 是在没有 TinyEXR 模块的情况下编译的,则该函数将返回 " +"[constant ERR_UNAVAILABLE]。\n" +"[b]注意:[/b]TinyEXR 模块在非编辑器构建中被禁用,这意味着当 [method " +"save_exr] 从导出的项目中被调用时将返回 [constant ERR_UNAVAILABLE]。" + +msgid "" +"Saves the image as an EXR file to a byte array. If [param grayscale] is " +"[code]true[/code] and the image has only one channel, it will be saved " +"explicitly as monochrome rather than one red channel. This function will " +"return an empty byte array if Godot was compiled without the TinyEXR " +"module.\n" +"[b]Note:[/b] The TinyEXR module is disabled in non-editor builds, which " +"means [method save_exr] will return an empty byte array when it is called " +"from an exported project." +msgstr "" +"将图像作为 EXR 文件保存到一个字节数组。如果 [param grayscale] 为 [code]true[/" +"code] 并且图像只有一个通道,它将被明确地保存为单色而不是一个红色通道。如果 " +"Godot 是在没有 TinyEXR 模块的情况下编译的,则该函数将返回一个空字节数组。\n" +"[b]注意:[/b]TinyEXR 模块在非编辑器构建中被禁用,这意味着当 [method " +"save_exr] 从导出的项目中被调用时将返回一个空字节数组。" + +msgid "" +"Sets the [Color] of the pixel at [code](x, y)[/code] to [param color].\n" +"[b]Example:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"var img_width = 10\n" +"var img_height = 5\n" +"var img = Image.create(img_width, img_height, false, Image.FORMAT_RGBA8)\n" +"\n" +"img.set_pixel(1, 2, Color.RED) # Sets the color at (1, 2) to red.\n" +"[/gdscript]\n" +"[csharp]\n" +"int imgWidth = 10;\n" +"int imgHeight = 5;\n" +"var img = Image.Create(imgWidth, imgHeight, false, Image.Format.Rgba8);\n" +"\n" +"img.SetPixel(1, 2, Colors.Red); // Sets the color at (1, 2) to red.\n" +"[/csharp]\n" +"[/codeblocks]\n" +"This is the same as [method set_pixelv], but with a two integer arguments " +"instead of a [Vector2i] argument." +msgstr "" +"将 [code](x, y)[/code] 处像素的 [Color] 设置为 [param color]。\n" +"[b]示例:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"var img_width = 10\n" +"var img_height = 5\n" +"var img = Image.create(img_width, img_height, false, Image.FORMAT_RGBA8)\n" +"\n" +"img.set_pixel(1, 2, Color.RED) # 将 (1, 2) 处的颜色设置为红色。\n" +"[/gdscript]\n" +"[csharp]\n" +"int imgWidth = 10;\n" +"int imgHeight = 5;\n" +"var img = Image.Create(imgWidth, imgHeight, false, Image.Format.Rgba8);\n" +"\n" +"img.SetPixel(1, 2, Colors.Red); // 将 (1, 2) 处的颜色设置为红色。\n" +"[/csharp]\n" +"[/codeblocks]\n" +"这与 [method set_pixelv] 相同,只是使用两个整数参数而不是一个 [Vector2i] 参" +"数。" + +msgid "" +"Sets the [Color] of the pixel at [param point] to [param color].\n" +"[b]Example:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"var img_width = 10\n" +"var img_height = 5\n" +"var img = Image.create(img_width, img_height, false, Image.FORMAT_RGBA8)\n" +"\n" +"img.set_pixelv(Vector2i(1, 2), Color.RED) # Sets the color at (1, 2) to " +"red.\n" +"[/gdscript]\n" +"[csharp]\n" +"int imgWidth = 10;\n" +"int imgHeight = 5;\n" +"var img = Image.Create(imgWidth, imgHeight, false, Image.Format.Rgba8);\n" +"\n" +"img.SetPixelv(new Vector2I(1, 2), Colors.Red); // Sets the color at (1, 2) " +"to red.\n" +"[/csharp]\n" +"[/codeblocks]\n" +"This is the same as [method set_pixel], but with a [Vector2i] argument " +"instead of two integer arguments." +msgstr "" +"将 [param point] 处像素的 [Color] 设置为 [param color]。\n" +"[b]示例:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"var img_width = 10\n" +"var img_height = 5\n" +"var img = Image.create(img_width, img_height, false, Image.FORMAT_RGBA8)\n" +"\n" +"img.set_pixelv(Vector2i(1, 2), Color.RED) # 将 (1, 2) 处的颜色设置为红色。\n" +"[/gdscript]\n" +"[csharp]\n" +"int imgWidth = 10;\n" +"int imgHeight = 5;\n" +"var img = Image.Create(imgWidth, imgHeight, false, Image.Format.Rgba8);\n" +"\n" +"img.SetPixelv(new Vector2I(1, 2), Colors.Red); // 将 (1, 2) 处的颜色设置为红" +"色。\n" +"[/csharp]\n" +"[/codeblocks]\n" +"这与 [method set_pixel] 相同,只是使用一个 [Vector2i] 参数而不是两个整数参" +"数。" + msgid "Shrinks the image by a factor of 2." msgstr "将图像缩小 2 倍。" @@ -35251,10 +39571,54 @@ msgstr "将纹理的大小调整为指定的尺寸。" msgid "Texture with 3 dimensions." msgstr "具有 3 个维度的纹理。" +msgid "" +"Creates the [ImageTexture3D] with specified [param width], [param height], " +"and [param depth]. See [enum Image.Format] for [param format] options. If " +"[param use_mipmaps] is [code]true[/code], then generate mipmaps for the " +"[ImageTexture3D]." +msgstr "" +"创建具有指定 [param width]、[param height] 和 [param depth] 的 " +"[ImageTexture3D]。请参阅 [enum Image.Format] 了解 [param format] 选项。如果 " +"[param use_mipmaps] 为 [code]true[/code],则为该 [ImageTexture3D] 生成 " +"Mipmaps。" + +msgid "" +"Creates an [ImageTextureLayered] from an array of [Image]s. See [method " +"Image.create] for the expected data format. The first image decides the " +"width, height, image format and mipmapping setting. The other images " +"[i]must[/i] have the same width, height, image format and mipmapping " +"setting.\n" +"Each [Image] represents one [code]layer[/code]." +msgstr "" +"从一组 [Image] 创建一个 [ImageTextureLayered]。有关预期的数据格式,请参阅 " +"[method Image.create]。第一张图像决定宽度、高度、图像格式和 mipmapping 设置。" +"其他图像[i]必须[/i]具有相同的宽度、高度、图像格式和 mipmapping 设置。\n" +"每个 [Image] 代表一个 [code]layer[/code]。" + msgid "Clear all surfaces." msgstr "清除所有表面。" msgid "" +"ImporterMesh is a type of [Resource] analogous to [ArrayMesh]. It contains " +"vertex array-based geometry, divided in [i]surfaces[/i]. Each surface " +"contains a completely separate array and a material used to draw it. Design " +"wise, a mesh with multiple surfaces is preferred to a single surface, " +"because objects created in 3D editing software commonly contain multiple " +"materials.\n" +"Unlike its runtime counterpart, [ImporterMesh] contains mesh data before " +"various import steps, such as lod and shadow mesh generation, have taken " +"place. Modify surface data by calling [method clear], followed by [method " +"add_surface] for each surface." +msgstr "" +"ImporterMesh 是一种类似于 [ArrayMesh] 的 [Resource]。它包含基于顶点数组的几何" +"体,被分为[i]表面[/i]。每个表面都包含一个完全独立的数组和一个用于绘制它的材" +"质。在设计方面,具有多个表面的网格优于单个表面,因为在 3D 编辑软件中创建的对" +"象通常包含多种材质。\n" +"与其运行时对应物不同,[ImporterMesh] 在各种导入步骤(例如 lod 和阴影网格生" +"成)发生之前包含网格数据。修改表面数据时,通过先调用 [method clear] ,然后为" +"每个表面调用 [method add_surface]。" + +msgid "" "Returns a [Material] in a given surface. Surface is rendered using this " "material." msgstr "返回给定面的 [Material] 材质。面将由该材质来渲染。" @@ -35319,6 +39683,37 @@ msgstr "" "处理时间的高级情况下,这可能是有用的。" msgid "" +"Returns a value between 0 and 1 representing the raw intensity of the given " +"action, ignoring the action's deadzone. In most cases, you should use " +"[method get_action_strength] instead.\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 "" +"返回一个介于 0 和 1 之间的值,表示给定动作的原始强度,忽略动作的死区。在大多" +"数情况下,应该改用 [method get_action_strength]。\n" +"如果 [param exact_match] 为 [code]false[/code],它会忽略 [InputEventKey] 和 " +"[InputEventMouseButton] 事件的额外输入修饰键,以及 [InputEventJoypadMotion] " +"事件的方向。" + +msgid "" +"Returns a value between 0 and 1 representing the intensity of the given " +"action. In a joypad, for example, the further away the axis (analog sticks " +"or L2, R2 triggers) is from the dead zone, the closer the value will be to " +"1. If the action is mapped to a control that has no axis as the keyboard, " +"the value returned will be 0 or 1.\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 "" +"返回一个介于 0 和 1 之间的值,表示给定动作的强度。例如,在游戏手柄中,轴(模" +"拟摇杆或 L2、R2 触发器)离死区越远,该值将越接近 1。如果动作被映射到一个如键" +"盘一样没有轴的控制器时,返回值将为 0 或 1。\n" +"如果 [param exact_match] 为 [code]false[/code],它会忽略 [InputEventKey] 和 " +"[InputEventMouseButton] 事件的额外输入修饰键,以及 [InputEventJoypadMotion] " +"事件的方向。" + +msgid "" "Get axis input by specifying two actions, one negative and one positive.\n" "This is a shorthand for writing [code]Input." "get_action_strength(\"positive_action\") - Input." @@ -35396,6 +39791,107 @@ msgstr "" "想要的值(在 0 到 1 的范围内)。" msgid "" +"Returns [code]true[/code] when the user starts pressing the action event, " +"meaning it's [code]true[/code] only on the frame that the user pressed down " +"the button.\n" +"This is useful for code that needs to run only once when an action is " +"pressed, instead of every frame while it's pressed.\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.\n" +"[b]Note:[/b] Due to keyboard ghosting, [method is_action_just_pressed] may " +"return [code]false[/code] even if one of the action's keys is pressed. See " +"[url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]Input " +"examples[/url] in the documentation for more information." +msgstr "" +"当用户开始按下动作事件时返回 [code]true[/code],这意味着它仅在用户按下按钮的" +"那一帧上为 [code]true[/code]。\n" +"这对于需要在动作被按下时只运行一次,而不是在被按下时每一帧都运行的代码很有" +"用。\n" +"如果 [param exact_match] 为 [code]false[/code],则它将忽略 [InputEventKey] " +"和 [InputEventMouseButton] 事件的额外输入修饰键,以及 " +"[InputEventJoypadMotion] 事件的方向。\n" +"[b]注意:[/b]由于键盘重影,[method is_action_just_pressed] 可能会返回 " +"[code]false[/code],即使该动作的某个键被按下时也是如此。有关详细信息,请参阅" +"文档中的[url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]" +"《输入示例》[/url]。" + +msgid "" +"Returns [code]true[/code] when the user stops pressing the action event, " +"meaning it's [code]true[/code] only on the frame that the user released the " +"button.\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],这意味着它仅在用户释放按钮的" +"那一帧上为 [code]true[/code]。\n" +"如果 [param exact_match] 为 [code]false[/code],它会忽略 [InputEventKey] 和 " +"[InputEventMouseButton] 事件的额外输入修饰键,以及 [InputEventJoypadMotion] " +"事件的方向。" + +msgid "" +"Returns [code]true[/code] if you are pressing the action event. Note that if " +"an action has multiple buttons assigned and more than one of them is " +"pressed, releasing one button will release the action, even if some other " +"button assigned to this action is still pressed.\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.\n" +"[b]Note:[/b] Due to keyboard ghosting, [method is_action_pressed] may return " +"[code]false[/code] even if one of the action's keys is pressed. See " +"[url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]Input " +"examples[/url] in the documentation for more information." +msgstr "" +"如果正在按下动作事件,则返回 [code]true[/code]。请注意,如果一个动作分配了多" +"个按钮,并且不止一个按钮被按下,则释放一个按钮将释放该动作,即使分配给该动作" +"的其他一些按钮仍然被按下时也是如此。\n" +"如果 [param exact_match] 为 [code]false[/code],它会忽略 [InputEventKey] 和 " +"[InputEventMouseButton] 事件的额外输入修饰键,以及 [InputEventJoypadMotion] " +"事件的方向。\n" +"[b]注意:[/b]由于键盘重影,[method is_action_pressed] 可能会返回 " +"[code]false[/code],即使该动作的某个键被按下时也是如此。有关详细信息,请参阅" +"文档中的 [url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]" +"《输入示例》[/url]。" + +msgid "" +"Feeds an [InputEvent] to the game. Can be used to artificially trigger input " +"events from code. Also generates [method Node._input] calls.\n" +"[b]Example:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"var cancel_event = InputEventAction.new()\n" +"cancel_event.action = \"ui_cancel\"\n" +"cancel_event.pressed = true\n" +"Input.parse_input_event(cancel_event)\n" +"[/gdscript]\n" +"[csharp]\n" +"var cancelEvent = new InputEventAction();\n" +"cancelEvent.Action = \"ui_cancel\";\n" +"cancelEvent.Pressed = true;\n" +"Input.ParseInputEvent(cancelEvent);\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"向游戏提供一个 [InputEvent]。可用于从代码中人为地触发输入事件。也会产生 " +"[method Node._input] 调用。\n" +"[b]示例:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"var cancel_event = InputEventAction.new()\n" +"cancel_event.action = \"ui_cancel\"\n" +"cancel_event.pressed = true\n" +"Input.parse_input_event(cancel_event)\n" +"[/gdscript]\n" +"[csharp]\n" +"var cancelEvent = new InputEventAction();\n" +"cancelEvent.Action = \"ui_cancel\";\n" +"cancelEvent.Pressed = true;\n" +"Input.ParseInputEvent(cancelEvent);\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" "Removes all mappings from the internal database that match the given GUID." msgstr "从内部数据库中删除与给定 GUID 匹配的所有映射。" @@ -35411,6 +39907,36 @@ msgstr "" "[b]注意:[/b]这个值在 Android 和 iOS 上可立即被硬件传感器的值所覆盖。" msgid "" +"Sets a custom mouse cursor image, which is only visible inside the game " +"window. The hotspot can also be specified. Passing [code]null[/code] to the " +"image parameter resets to the system cursor. See [enum CursorShape] for the " +"list of shapes.\n" +"[param image]'s size must be lower than 256×256.\n" +"[param hotspot] must be within [param image]'s size.\n" +"[b]Note:[/b] [AnimatedTexture]s aren't supported as custom mouse cursors. If " +"using an [AnimatedTexture], only the first frame will be displayed.\n" +"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or " +"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] " +"compression mode can't be used for custom cursors.\n" +"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is " +"128×128. Cursor images larger than 32×32 will also only be displayed if the " +"mouse cursor image is entirely located within the page for [url=https://" +"chromestatus.com/feature/5825971391299584]security reasons[/url]." +msgstr "" +"设置一个自定义鼠标光标图像,该图像仅当游戏窗口内可见。还可以指定热点。将 " +"[code]null[/code] 传递给 image 参数将重置为系统光标。有关详细信息,请参阅 " +"[enum CursorShape] 形状列表。\n" +"[param image] 的大小必须小于 256×256。\n" +"[param hotspot] 必须在 [param image] 的大小范围内。\n" +"[b]注意:[/b]不支持 [AnimatedTexture] 作为自定义鼠标光标。如果使用 " +"[AnimatedTexture],则只会显示第一帧。\n" +"[b]注意:[/b]仅支持以[b]无损[/b]、[b]有损[/b]、或[b]未压缩[/b]压缩模式导入的" +"图像。[b]Video RAM[/b] 压缩模式不能用于自定义光标。\n" +"[b]注意:[/b]在网络平台上,最大允许的光标图像大小为 128×128。 出于" +"[url=https://chromestatus.com/feature/5825971391299584]安全原因[/url],只有当" +"鼠标光标图像完全位于页面内时,大于 32×32 的光标图像才会显示。" + +msgid "" "Sets the default cursor shape to be used in the viewport instead of " "[constant CURSOR_ARROW].\n" "[b]Note:[/b] If you want to change the default cursor shape for [Control]'s " @@ -35456,6 +39982,44 @@ msgstr "" "的编辑器中。\n" "[b]注意:[/b]在 Android 和 iOS 上,这个值可立即被硬件传感器的值所覆盖。" +msgid "" +"Starts to vibrate the joypad. Joypads usually come with two rumble motors, a " +"strong and a weak one. [param weak_magnitude] is the strength of the weak " +"motor (between 0 and 1) and [param strong_magnitude] is the strength of the " +"strong motor (between 0 and 1). [param duration] is the duration of the " +"effect in seconds (a duration of 0 will try to play the vibration " +"indefinitely). The vibration can be stopped early by calling [method " +"stop_joy_vibration].\n" +"[b]Note:[/b] Not every hardware is compatible with long effect durations; it " +"is recommended to restart an effect if it has to be played for more than a " +"few seconds." +msgstr "" +"开始振动游戏手柄。游戏手柄通常带有两个震动马达,一强一弱。[param " +"weak_magnitude] 是弱马达的强度(介于 0 和 1 之间),[param strong_magnitude] " +"是强马达的强度(介于 0 和 1 之间)。[param duration] 是效果的持续时间(以秒为" +"单位)(持续时间为 0 将尝试无限期地播放振动)。调用 [method " +"stop_joy_vibration] 可以提前停止震动。\n" +"[b]注意:[/b]并非所有硬件都兼容长效果持续时间;如果播放的时长必须超过几秒钟," +"建议重新启动效果。" + +msgid "" +"Sets the mouse position to the specified vector, provided in pixels and " +"relative to an origin at the upper left corner of the currently focused " +"Window Manager game window.\n" +"Mouse position is clipped to the limits of the screen resolution, or to the " +"limits of the game window if [enum MouseMode] is set to [constant " +"MOUSE_MODE_CONFINED] or [constant MOUSE_MODE_CONFINED_HIDDEN].\n" +"[b]Note:[/b] [method warp_mouse] is only supported on Windows, macOS and " +"Linux. It has no effect on Android, iOS and Web." +msgstr "" +"将鼠标位置设置为指定的向量,单位为像素,并相对于当前聚焦的窗口管理器游戏窗口" +"左上角的原点。\n" +"如果 [enum MouseMode] 被设置为 [constant MOUSE_MODE_CONFINED] 或 [constant " +"MOUSE_MODE_CONFINED_HIDDEN],则鼠标位置会被钳制在屏幕分辨率的限制内,或者钳制" +"在游戏窗口的限制内。\n" +"[b]注意:[/b][method warp_mouse] 仅支持 Windows、macOS 和 Linux。它对 " +"Android、iOS 和 Web 没有影响。" + msgid "Controls the mouse mode. See [enum MouseMode] for more information." msgstr "控制鼠标模式。详情请参阅 [enum MouseMode]。" @@ -35582,12 +40146,100 @@ msgid "Returns a [String] representation of the event." msgstr "返回事件的 [String] 字符串表示。" msgid "" +"Returns a value between 0.0 and 1.0 depending on the given actions' state. " +"Useful for getting the value of events of type [InputEventJoypadMotion].\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 "" +"根据给定动作的状态返回 0.0 到 1.0 之间的值。获取 [InputEventJoypadMotion] 类" +"型事件的值时很有用。\n" +"如果 [param exact_match] 为 [code]false[/code],它会忽略 [InputEventKey] 和 " +"[InputEventMouseButton] 事件的额外输入修饰键,以及 [InputEventJoypadMotion] " +"事件的方向。" + +msgid "" +"Returns [code]true[/code] if this input event matches a pre-defined action " +"of any type.\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]。\n" +"如果 [param exact_match] 为 [code]false[/code],它会忽略 [InputEventKey] 和 " +"[InputEventMouseButton] 事件的额外输入修饰键,以及 [InputEventJoypadMotion] " +"事件的方向。" + +msgid "" +"Returns [code]true[/code] if the given action is being pressed (and is not " +"an echo event for [InputEventKey] events, unless [param allow_echo] is " +"[code]true[/code]). Not relevant for events of type [InputEventMouseMotion] " +"or [InputEventScreenDrag].\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.\n" +"[b]Note:[/b] Due to keyboard ghosting, [method is_action_pressed] may return " +"[code]false[/code] even if one of the action's keys is pressed. See " +"[url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]Input " +"examples[/url] in the documentation for more information." +msgstr "" +"如果给定的动作正被按下,则返回 [code]true[/code](除非 [param allow_echo] 为 " +"[code]true[/code],否则不是 [InputEventKey] 事件中的回显事件)。与 " +"[InputEventMouseMotion] 或 [InputEventScreenDrag] 类型的事件无关。\n" +"如果 [param exact_match] 为 [code]false[/code],则它会忽略 [InputEventKey] " +"和 [InputEventMouseButton] 事件的额外输入修饰键,以及 " +"[InputEventJoypadMotion] 事件的方向。\n" +"[b]注意:[/b]由于键盘重影,[method is_action_pressed] 可能会返回 " +"[code]false[/code],即使动作的某个键被按下时也是如此。有关详细信息,请参阅文" +"档中的 [url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]" +"《输入示例》[/url]。" + +msgid "" +"Returns [code]true[/code] if the given action is released (i.e. not " +"pressed). Not relevant for events of type [InputEventMouseMotion] or " +"[InputEventScreenDrag].\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]。与 " +"[InputEventMouseMotion] 或 [InputEventScreenDrag] 类型的事件无关。\n" +"如果 [param exact_match] 为 [code]false[/code],它会忽略 [InputEventKey] 和 " +"[InputEventMouseButton] 事件的额外输入修饰键,以及 [InputEventJoypadMotion] " +"事件的方向。" + +msgid "" "Returns [code]true[/code] if this input event's type is one that can be " "assigned to an input action." msgstr "" "如果这个输入事件的类型是可以分配给输入动作的类型,则返回 [code]true[/code]。" msgid "" +"Returns [code]true[/code] if this input event is an echo event (only for " +"events of type [InputEventKey]). Any other event type returns [code]false[/" +"code]." +msgstr "" +"如果该输入事件是回显事件(仅适用于 [InputEventKey] 类型的事件),则返回 " +"[code]true[/code]。任何其他事件类型将返回 [code]false[/code]。" + +msgid "" +"Returns [code]true[/code] if the specified [param event] matches this event. " +"Only valid for action events i.e key ([InputEventKey]), button " +"([InputEventMouseButton] or [InputEventJoypadButton]), axis " +"[InputEventJoypadMotion] or action ([InputEventAction]) events.\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 "" +"如果指定的 [param event] 与该事件匹配,则返回 [code]true[/code]。仅对动作事件" +"有效,即键([InputEventKey])、按钮([InputEventMouseButton] 或 " +"[InputEventJoypadButton])、轴 [InputEventJoypadMotion] 或动作" +"([InputEventAction])事件。\n" +"如果 [param exact_match] 为 [code]false[/code],它会忽略 [InputEventKey] 和 " +"[InputEventMouseButton] 事件的额外输入修饰键,以及 [InputEventJoypadMotion] " +"事件的方向。" + +msgid "" "The event's device ID.\n" "[b]Note:[/b] This device ID will always be [code]-1[/code] for emulated " "mouse input from a touchscreen. This can be used to distinguish emulated " @@ -35701,6 +40353,34 @@ msgid "" msgstr "返回该事件 [member physical_keycode] 及修饰键的 [String] 字符串表示。" msgid "" +"Returns the localized key label combined with modifier keys such as " +"[kbd]Shift[/kbd] or [kbd]Alt[/kbd]. See also [InputEventWithModifiers].\n" +"To get a human-readable representation of the [InputEventKey] with " +"modifiers, use [code]OS.get_keycode_string(event." +"get_key_label_with_modifiers())[/code] where [code]event[/code] is the " +"[InputEventKey]." +msgstr "" +"返回与修饰键,例如 [kbd]Shift[/kbd] 或 [kbd]Alt[/kbd] 组合的本地化键标签。另" +"见 [InputEventWithModifiers]。\n" +"要获得带有修饰键的 [InputEventKey] 的人类可读表示,请使用 [code]OS." +"get_keycode_string(event.get_key_label_with_modifiers())[/code],其中 " +"[code]event[/code] 是 [InputEventKey]。" + +msgid "" +"Returns the Latin keycode combined with modifier keys such as [kbd]Shift[/" +"kbd] or [kbd]Alt[/kbd]. See also [InputEventWithModifiers].\n" +"To get a human-readable representation of the [InputEventKey] with " +"modifiers, use [code]OS.get_keycode_string(event." +"get_keycode_with_modifiers())[/code] where [code]event[/code] is the " +"[InputEventKey]." +msgstr "" +"返回与 [kbd]Shift[/kbd] 或 [kbd]Alt[/kbd] 等修饰键组合的拉丁键码。另见 " +"[InputEventWithModifiers]。\n" +"要获得带有修饰键的 [InputEventKey] 的人类可读表示,请使用 [code]OS." +"get_keycode_string(event.get_keycode_with_modifiers())[/code],其中 " +"[code]event[/code] 是 [InputEventKey]。" + +msgid "" "If [code]true[/code], the key was already pressed before this event. It " "means the user is holding the key down." msgstr "" @@ -36137,7 +40817,7 @@ msgstr "" "[InputEvent] 没有被按下,这个方法会忽略键盘(为了正确地检测释放)。如果你不想" "要这种行为,请参阅 [method action_has_event]。\n" "如果 [param exact_match] 是 [code]false[/code],它会忽略 [InputEventKey] 和 " -"[InputEventMouseButton] 事件的额外输入修饰符,以及 [InputEventJoypadMotion] " +"[InputEventMouseButton] 事件的额外输入修饰键,以及 [InputEventJoypadMotion] " "事件的方向。" msgid "Returns an array of all actions in the [InputMap]." @@ -36760,6 +41440,18 @@ msgid "" "column, or optionally in multiple columns." msgstr "提供可选中项目(和/或图标)列表的控件,既可以是单列,也可以是多列。" +msgid "" +"Adds an item to the item list with specified text. Returns the index of an " +"added item.\n" +"Specify an [param icon], or use [code]null[/code] as the [param icon] for a " +"list item with no icon.\n" +"If selectable is [code]true[/code], the list item will be selectable." +msgstr "" +"将一个项目添加到项目列表中,并指定文本。返回添加的项目的索引。\n" +"指定一个 [param icon],或列表项没有图标时使用 [code]null[/code] 作为 [param " +"icon]。\n" +"如果 selectable 为 [code]true[/code],则列表项将是可选择的。" + msgid "Removes all items from the list." msgstr "移除列表中的所有项目。" @@ -37144,6 +41836,61 @@ msgid "Exporting for the Web: Calling JavaScript from script" msgstr "为 Web 导出:从脚本调用 JavaScript" msgid "" +"Creates a new JavaScript object using the [code]new[/code] constructor. The " +"[param object] must a valid property of the JavaScript [code]window[/code]. " +"See [JavaScriptObject] for usage." +msgstr "" +"使用 [code]new[/code] 构造函数创建一个新的 JavaScript 对象。[param object] 必" +"须是 JavaScript [code]window[/code] 的有效属性。有关用法,请参阅 " +"[JavaScriptObject]。" + +msgid "" +"Prompts the user to download a file containing the specified [param buffer]. " +"The file will have the given [param name] and [param mime] type.\n" +"[b]Note:[/b] The browser may override the [url=https://en.wikipedia.org/wiki/" +"Media_type]MIME type[/url] provided based on the file [param name]'s " +"extension.\n" +"[b]Note:[/b] Browsers might block the download if [method download_buffer] " +"is not being called from a user interaction (e.g. button click).\n" +"[b]Note:[/b] Browsers might ask the user for permission or block the " +"download if multiple download requests are made in a quick succession." +msgstr "" +"提示用户下载一个包含指定 [param buffer] 的文件。该文件将具有给定的 [param " +"name] 和 [param mime] 类型。\n" +"[b]注意:[/b]浏览器可能会覆盖根据文件 [param name] 的扩展名提供的 " +"[url=https://en.wikipedia.org/wiki/Media_type]MIME 类型[/url]。\n" +"[b]注意:[/b]如果 [method download_buffer] 不是从用户交互(例如按钮点击)中调" +"用的,浏览器可能会阻止下载。\n" +"[b]注意:[/b]如果快速连续发出多个下载请求,浏览器可能会要求用户同意或阻止下" +"载。" + +msgid "" +"Execute the string [param code] as JavaScript code within the browser " +"window. This is a call to the actual global JavaScript function [code]eval()" +"[/code].\n" +"If [param use_global_execution_context] is [code]true[/code], the code will " +"be evaluated in the global execution context. Otherwise, it is evaluated in " +"the execution context of a function within the engine's runtime environment." +msgstr "" +"在浏览器窗口中将字符串 [param code] 作为 JavaScript 代码执行。这是对实际的全" +"局 JavaScript 函数 [code]eval()[/code] 的调用。\n" +"如果 [param use_global_execution_context] 为 [code]true[/code],则代码将在全" +"局执行上下文中被求值。否则,它将在引擎运行时环境中的函数的执行上下文中进行求" +"值。" + +msgid "" +"Returns an interface to a JavaScript object that can be used by scripts. The " +"[param interface] must be a valid property of the JavaScript [code]window[/" +"code]. The callback must accept a single [Array] argument, which will " +"contain the JavaScript [code]arguments[/code]. See [JavaScriptObject] for " +"usage." +msgstr "" +"返回一个可以被脚本使用的 JavaScript 对象的接口。[param interface] 必须是 " +"JavaScript [code]window[/code] 的有效属性。回调必须接受单个 [Array] 参数,它" +"将包含 JavaScript [code]arguments[/code]。有关用法,请参阅 " +"[JavaScriptObject]。" + +msgid "" "Returns [code]true[/code] if a new version of the progressive web app is " "waiting to be activated.\n" "[b]Note:[/b] Only relevant when exported as a Progressive Web App." @@ -37175,6 +41922,81 @@ msgid "A wrapper class for web native JavaScript objects." msgstr "Web 原生 JavaScript 对象的封装类。" msgid "" +"JavaScriptObject is used to interact with JavaScript objects retrieved or " +"created via [method JavaScriptBridge.get_interface], [method " +"JavaScriptBridge.create_object], or [method JavaScriptBridge." +"create_callback].\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"extends Node\n" +"\n" +"var _my_js_callback = JavaScriptBridge.create_callback(self, \"myCallback\") " +"# This reference must be kept\n" +"var console = JavaScriptBridge.get_interface(\"console\")\n" +"\n" +"func _init():\n" +" var buf = JavaScriptBridge.create_object(\"ArrayBuffer\", 10) # new " +"ArrayBuffer(10)\n" +" print(buf) # prints [JavaScriptObject:OBJECT_ID]\n" +" var uint8arr = JavaScriptBridge.create_object(\"Uint8Array\", buf) # new " +"Uint8Array(buf)\n" +" uint8arr[1] = 255\n" +" prints(uint8arr[1], uint8arr.byteLength) # prints 255 10\n" +" console.log(uint8arr) # prints in browser console \"Uint8Array(10) [ 0, " +"255, 0, 0, 0, 0, 0, 0, 0, 0 ]\"\n" +"\n" +" # Equivalent of JavaScriptBridge: Array.from(uint8arr)." +"forEach(myCallback)\n" +" JavaScriptBridge.get_interface(\"Array\").from(uint8arr)." +"forEach(_my_js_callback)\n" +"\n" +"func myCallback(args):\n" +" # Will be called with the parameters passed to the \"forEach\" callback\n" +" # [0, 0, [JavaScriptObject:1173]]\n" +" # [255, 1, [JavaScriptObject:1173]]\n" +" # ...\n" +" # [0, 9, [JavaScriptObject:1180]]\n" +" print(args)\n" +"[/codeblock]\n" +"[b]Note:[/b] Only available in the Web platform." +msgstr "" +"JavaScriptObject 用于与通过 [method JavaScriptBridge.get_interface]、[method " +"JavaScriptBridge.create_object] 或 [method JavaScriptBridge.create_callback] " +"检索或创建的 JavaScript 对象进行交互。\n" +"[b]示例:[/b]\n" +"[codeblock]\n" +"extends Node\n" +"\n" +"var _my_js_callback = JavaScriptBridge.create_callback(self, \"myCallback\") " +"# 必须保留该引用\n" +"var console = JavaScriptBridge.get_interface(\"console\")\n" +"\n" +"func _init():\n" +" var buf = JavaScriptBridge.create_object(\"ArrayBuffer\", 10) # 新建 " +"ArrayBuffer(10)\n" +" print(buf) # 输出 [JavaScriptObject:OBJECT_ID]\n" +" var uint8arr = JavaScriptBridge.create_object(\"Uint8Array\", buf) # 新" +"建 Uint8Array(buf)\n" +" uint8arr[1] = 255\n" +" prints(uint8arr[1], uint8arr.byteLength) # 输出 255 10\n" +" console.log(uint8arr) # prints in browser console \"Uint8Array(10) [ 0, " +"255, 0, 0, 0, 0, 0, 0, 0, 0 ]\"\n" +"\n" +" # 等效于 JavaScriptBridge: Array.from(uint8arr).forEach(myCallback)\n" +" JavaScriptBridge.get_interface(\"Array\").from(uint8arr)." +"forEach(_my_js_callback)\n" +"\n" +"func myCallback(args):\n" +" # 将使用传递给“forEach”回调的参数调用\n" +" # [0, 0, [JavaScriptObject:1173]]\n" +" # [255, 1, [JavaScriptObject:1173]]\n" +" # ...\n" +" # [0, 9, [JavaScriptObject:1180]]\n" +" print(args)\n" +"[/codeblock]\n" +"[b]注意:[/b]仅在 Web 平台上可用。" + +msgid "" "Singleton that connects the engine with Android plugins to interface with " "native Android code." msgstr "将引擎与 Android 插件连接起来以与原生 Android 代码交互的单例。" @@ -37341,6 +42163,109 @@ msgstr "" "如果上一次调用 [method parse] 成功,则返回空字符串,否则返回失败时的错误消" "息。" +msgid "" +"Converts a [Variant] var to JSON text and returns the result. Useful for " +"serializing data to store or send over the network.\n" +"[b]Note:[/b] The JSON specification does not define integer or float types, " +"but only a [i]number[/i] type. Therefore, converting a Variant to JSON text " +"will convert all numerical values to [float] types.\n" +"[b]Note:[/b] If [param full_precision] is [code]true[/code], when " +"stringifying floats, the unreliable digits are stringified in addition to " +"the reliable digits to guarantee exact decoding.\n" +"The [param indent] parameter controls if and how something is indented, the " +"string used for this parameter will be used where there should be an indent " +"in the output, even spaces like [code]\" \"[/code] will work. [code]\\t[/" +"code] and [code]\\n[/code] can also be used for a tab indent, or to make a " +"newline for each indent respectively.\n" +"[b]Example output:[/b]\n" +"[codeblock]\n" +"## JSON.stringify(my_dictionary)\n" +"{\"name\":\"my_dictionary\",\"version\":\"1.0.0\",\"entities\":[{\"name\":" +"\"entity_0\",\"value\":\"value_0\"},{\"name\":\"entity_1\",\"value\":" +"\"value_1\"}]}\n" +"\n" +"## JSON.stringify(my_dictionary, \"\\t\")\n" +"{\n" +" \"name\": \"my_dictionary\",\n" +" \"version\": \"1.0.0\",\n" +" \"entities\": [\n" +" {\n" +" \"name\": \"entity_0\",\n" +" \"value\": \"value_0\"\n" +" },\n" +" {\n" +" \"name\": \"entity_1\",\n" +" \"value\": \"value_1\"\n" +" }\n" +" ]\n" +"}\n" +"\n" +"## JSON.stringify(my_dictionary, \"...\")\n" +"{\n" +"...\"name\": \"my_dictionary\",\n" +"...\"version\": \"1.0.0\",\n" +"...\"entities\": [\n" +"......{\n" +".........\"name\": \"entity_0\",\n" +".........\"value\": \"value_0\"\n" +"......},\n" +"......{\n" +".........\"name\": \"entity_1\",\n" +".........\"value\": \"value_1\"\n" +"......}\n" +"...]\n" +"}\n" +"[/codeblock]" +msgstr "" +"将 [Variant] 变量转换为 JSON 文本并返回结果。可用于将数据进行序列化保存或通过" +"网络发送。\n" +"[b]注意:[/b]JSON 规范没有定义整数和浮点数类型,只有一个[i]数字[/i]类型。因" +"此,将 Variant 转换为 JSON 文本会将所有数字值转换为 [float] 类型。\n" +"[b]注意:[/b]如果 [param full_precision] 为 [code]true[/code],则在字符串化浮" +"点数时,除可靠数字外,还将对不可靠数字进行字符串化,以保证准确解码。\n" +"[param indent] 参数控制是否缩进以及如何缩进,用于输出该参数的字符串时应该有缩" +"进的地方,甚至可以使用空格 [code]\" \"[/code]。[code]\\t[/code] 和 " +"[code]\\n[/code] 可用于制表符缩进,或分别为每个缩进换行。\n" +"[b]示例输出:[/b]\n" +"[codeblock]\n" +"## JSON.stringify(my_dictionary)\n" +"{\"name\":\"my_dictionary\",\"version\":\"1.0.0\",\"entities\":[{\"name\":" +"\"entity_0\",\"value\":\"value_0\"},{\"name\":\"entity_1\",\"value\":" +"\"value_1\"}]}\n" +"\n" +"## JSON.stringify(my_dictionary, \"\\t\")\n" +"{\n" +" \"name\": \"my_dictionary\",\n" +" \"version\": \"1.0.0\",\n" +" \"entities\": [\n" +" {\n" +" \"name\": \"entity_0\",\n" +" \"value\": \"value_0\"\n" +" },\n" +" {\n" +" \"name\": \"entity_1\",\n" +" \"value\": \"value_1\"\n" +" }\n" +" ]\n" +"}\n" +"\n" +"## JSON.stringify(my_dictionary, \"...\")\n" +"{\n" +"...\"name\": \"my_dictionary\",\n" +"...\"version\": \"1.0.0\",\n" +"...\"entities\": [\n" +"......{\n" +".........\"name\": \"entity_0\",\n" +".........\"value\": \"value_0\"\n" +"......},\n" +"......{\n" +".........\"name\": \"entity_1\",\n" +".........\"value\": \"value_1\"\n" +"......}\n" +"...]\n" +"}\n" +"[/codeblock]" + msgid "Contains the parsed JSON data in [Variant] form." msgstr "包含解析到的 JSON 数据,类型为 [Variant]。" @@ -37361,6 +42286,74 @@ msgstr "" "用其他函数在 [Dictionary] 和 [JSON] 之间进行转换。" msgid "" +"Returns a dictionary in the form of a JSON-RPC notification. Notifications " +"are one-shot messages which do not expect a response.\n" +"- [param method]: Name of the method being called.\n" +"- [param params]: An array or dictionary of parameters being passed to the " +"method." +msgstr "" +"返回 JSON-RPC 通知形式的字典。通知是一次性的信息,不需要有响应。\n" +"- [param method]:被调用的方法的名称。\n" +"- [param params]:传递给该被调用的方法的参数的数组或字典。" + +msgid "" +"Returns a dictionary in the form of a JSON-RPC request. Requests are sent to " +"a server with the expectation of a response. The ID field is used for the " +"server to specify which exact request it is responding to.\n" +"- [param method]: Name of the method being called.\n" +"- [param params]: An array or dictionary of parameters being passed to the " +"method.\n" +"- [param id]: Uniquely identifies this request. The server is expected to " +"send a response with the same ID." +msgstr "" +"以 JSON-RPC 请求的形式返回字典。请求被发送到服务器并期望得到响应。ID 字段用于" +"服务器指定它正在响应的确切请求。\n" +"- [param method]:被调用的方法的名称。\n" +"- [param params]:传递给该被调用的方法的参数的数组或字典。\n" +"- [param id]:唯一标识该请求。服务器应发送具有相同 ID 的响应。" + +msgid "" +"When a server has received and processed a request, it is expected to send a " +"response. If you did not want a response then you need to have sent a " +"Notification instead.\n" +"- [param result]: The return value of the function which was called.\n" +"- [param id]: The ID of the request this response is targeted to." +msgstr "" +"当服务器接收并处理了请求时,它应该发送响应。如果不想要响应,则需要发送通" +"知。\n" +"- [param result]:被调用的函数的返回值。\n" +"- [param id]:该响应针对的请求的 ID。" + +msgid "" +"Creates a response which indicates a previous reply has failed in some way.\n" +"- [param code]: The error code corresponding to what kind of error this is. " +"See the [enum ErrorCode] constants.\n" +"- [param message]: A custom message about this error.\n" +"- [param id]: The request this error is a response to." +msgstr "" +"创建响应,指示先前的回复以某种方式失败。\n" +"- [param code]:这是哪种错误对应的错误代码。请参阅 [enum ErrorCode] 常量。\n" +"- [param message]:关于该错误的自定义消息。\n" +"- [param id]:该错误作为响应对应的请求。" + +msgid "" +"Given a Dictionary which takes the form of a JSON-RPC request: unpack the " +"request and run it. Methods are resolved by looking at the field called " +"\"method\" and looking for an equivalently named function in the JSONRPC " +"object. If one is found that method is called.\n" +"To add new supported methods extend the JSONRPC class and call [method " +"process_action] on your subclass.\n" +"[param action]: The action to be run, as a Dictionary in the form of a JSON-" +"RPC request or notification." +msgstr "" +"给定采用 JSON-RPC 请求形式的字典:解压请求并运行它。通过查看名为“method”的字" +"段,并在 JSONRPC 对象中查找等效命名的函数来解析方法。如果找到,则调用该方" +"法。\n" +"要添加新的受支持方法,请扩展 JSONRPC 类并在你的子类上调用 [method " +"process_action]。\n" +"[param action]:要运行的动作,作为 JSON-RPC 请求或通知形式的字典。" + +msgid "" "A method call was requested but no function of that name existed in the " "JSONRPC subclass." msgstr "请求了方法调用,但 JSONRPC 子类中不存在该名称的函数。" @@ -37368,8 +42361,30 @@ msgstr "请求了方法调用,但 JSONRPC 子类中不存在该名称的函数 msgid "Collision data for [method PhysicsBody2D.move_and_collide] collisions." msgstr "[method PhysicsBody2D.move_and_collide] 碰撞的碰撞数据。" +msgid "" +"Contains collision data for [method PhysicsBody2D.move_and_collide] " +"collisions. When a [PhysicsBody2D] is moved using [method PhysicsBody2D." +"move_and_collide], it stops if it detects a collision with another body. If " +"a collision is detected, a [KinematicCollision2D] object is returned.\n" +"This object contains information about the collision, including the " +"colliding object, the remaining motion, and the collision position. This " +"information can be used to calculate a collision response." +msgstr "" +"包含 [method PhysicsBody2D.move_and_collide] 碰撞的碰撞数据。当使用 [method " +"PhysicsBody2D.move_and_collide] 移动 [PhysicsBody2D] 时,它会在检测到与另一个" +"实体发生碰撞时停止。检测到碰撞时会返回一个 [KinematicCollision2D] 对象。\n" +"该对象包含有关碰撞的信息,包括碰撞对象、剩余运动、和碰撞位置。该信息可用于计" +"算一个碰撞响应。" + +msgid "" +"Returns the collision angle according to [param up_direction], which is " +"[constant Vector2.UP] by default. This value is always positive." +msgstr "" +"根据 [param up_direction] 返回碰撞角度,[param up_direction] 默认为 " +"[constant Vector2.UP]。该返回值始终为正。" + msgid "Returns the colliding body's attached [Object]." -msgstr "返回该碰撞物体所附加的 [Object]。" +msgstr "返回该碰撞实体所附加的 [Object]。" msgid "" "Returns the unique instance ID of the colliding body's attached [Object]. " @@ -37419,6 +42434,25 @@ msgstr "" "在一行中显示纯文本,或在一个矩形内包裹。对于格式化的文本,使用 " "[RichTextLabel]。" +msgid "" +"Label displays plain text on the screen. It gives you control over the " +"horizontal and vertical alignment and can wrap the text inside the node's " +"bounding rectangle. It doesn't support bold, italics, or other formatting. " +"For that, use [RichTextLabel] instead.\n" +"[b]Note:[/b] Contrarily to most other [Control]s, Label's [member Control." +"mouse_filter] defaults to [constant Control.MOUSE_FILTER_IGNORE] (i.e. it " +"doesn't react to mouse input events). This implies that a label won't " +"display any configured [member Control.tooltip_text], unless you change its " +"mouse filter." +msgstr "" +"标签在屏幕上显示纯文本。可以控制水平和垂直的对齐方式,并且可以将文本包裹在节" +"点的边界矩形内。它不支持粗体、斜体等格式。如果需要,请改用 " +"[RichTextLabel]。\n" +"[b]注意:[/b]与大多数其他 [Control] 不同,Label 的 [member Control." +"mouse_filter] 默认为 [constant Control.MOUSE_FILTER_IGNORE](即不响应鼠标输入" +"事件)。这意味着标签不会显示任何已配置的 [member Control.tooltip_text],除非" +"更改了其鼠标过滤器。" + msgid "Returns the number of lines of text the Label has." msgstr "返回该 Label 的文本行数。" @@ -37633,6 +42667,13 @@ msgid "" "options." msgstr "纹理的过滤标志。选项见 [enum BaseMaterial3D.TextureFilter]。" +msgid "" +"Controls the text's vertical alignment. Supports top, center, bottom. Set it " +"to one of the [enum VerticalAlignment] constants." +msgstr "" +"控制文本的垂直对齐方式。支持顶部对齐、居中对齐、底部对齐。请将其设置为 [enum " +"VerticalAlignment] 常量。" + msgid "Text width (in pixels), used for autowrap and fill alignment." msgstr "文本宽度(单位为像素),用于自动换行和填充对齐。" @@ -37790,6 +42831,16 @@ msgid "Shadow filter type. See [enum ShadowFilter] for possible values." msgstr "阴影过滤器类型。可能的取值见 [enum ShadowFilter]。" msgid "" +"The shadow mask. Used with [LightOccluder2D] to cast shadows. Only occluders " +"with a matching [member CanvasItem.light_mask] will cast shadows. See also " +"[member range_item_cull_mask], which affects which objects can [i]receive[/" +"i] the light." +msgstr "" +"阴影遮罩。与 [LightOccluder2D] 一起使用以投射阴影。只有匹配 [member " +"CanvasItem.light_mask] 的遮挡物才会投射阴影。另见 [member " +"range_item_cull_mask],它影响哪些对象可以[i]接收[/i]光。" + +msgid "" "No filter applies to the shadow map. This provides hard shadow edges and is " "the fastest to render. See [member shadow_filter]." msgstr "" @@ -37853,6 +42904,27 @@ msgid "" msgstr "如果为 [code]true[/code],灯光只在编辑器中出现,在运行时将不可见。" msgid "" +"The light's angular size in degrees. Increasing this will make shadows " +"softer at greater distances (also called percentage-closer soft shadows, or " +"PCSS). Only available for [DirectionalLight3D]s. For reference, the Sun from " +"the Earth is approximately [code]0.5[/code]. Increasing this value above " +"[code]0.0[/code] for lights with shadows enabled will have a noticeable " +"performance cost due to PCSS.\n" +"[b]Note:[/b] [member light_angular_distance] is not affected by [member " +"Node3D.scale] (the light's scale or its parent's scale).\n" +"[b]Note:[/b] PCSS for directional lights is only supported in the Forward+ " +"rendering method, not Mobile or Compatibility." +msgstr "" +"灯光的角度大小,单位是度。增加此值将使阴影在更远的距离处更柔和(也称为百分比" +"更近的柔和阴影,或 PCSS)。仅适用于 [DirectionalLight3D]。作为参考,太阳距离" +"地球大约是 [code]0.5[/code]。对于启用了阴影的灯光,将此值增加到 [code]0.0[/" +"code] 以上,将由于 PCSS 而产生明显的性能成本。\n" +"[b]注意:[/b][member light_angular_distance] 不受 [member Node3D.scale](灯光" +"的缩放或其父级的缩放)的影响。\n" +"[b]注意:[/b]定向光的 PCSS 仅支持 Forward+ 渲染方式,不支持 Mobile 或 " +"Compatibility。" + +msgid "" "The light's bake mode. This will affect the global illumination techniques " "that have an effect on the light's rendering. See [enum BakeMode].\n" "[b]Note:[/b] Meshes' global illumination mode will also affect the global " @@ -37879,6 +42951,48 @@ msgstr "" "如果为 [code]true[/code],则光线的效果会逆转,使区域变暗并投射明亮的阴影。" msgid "" +"[Texture2D] projected by light. [member shadow_enabled] must be on for the " +"projector to work. Light projectors make the light appear as if it is " +"shining through a colored but transparent object, almost like light shining " +"through stained-glass.\n" +"[b]Note:[/b] Unlike [BaseMaterial3D] whose filter mode can be adjusted on a " +"per-material basis, the filter mode for light projector textures is set " +"globally with [member ProjectSettings.rendering/textures/light_projectors/" +"filter].\n" +"[b]Note:[/b] Light projector textures are only supported in the Forward+ and " +"Mobile rendering methods, not Compatibility." +msgstr "" +"[Texture2D] 由灯光投影。[member shadow_enabled] 必须打开,投影仪才能工作。灯" +"光投影仪使光线看起来像是透过彩色但透明的物体照射,几乎就像光线透过彩色玻璃照" +"射一样。\n" +"[b]注意:[/b]不像 [BaseMaterial3D] 的过滤器模式可以在每个材质的基础上进行调" +"整,灯光投影仪纹理的过滤器模式是通过 [member ProjectSettings.rendering/" +"textures/light_projectors/filter] 全局设置的。\n" +"[b]注意:[/b]灯光投影仪纹理仅支持 Forward+ 和 Mobile 渲染方法,不支持 " +"Compatibility。" + +msgid "" +"The size of the light in Godot units. Only available for [OmniLight3D]s and " +"[SpotLight3D]s. Increasing this value will make the light fade out slower " +"and shadows appear blurrier (also called percentage-closer soft shadows, or " +"PCSS). This can be used to simulate area lights to an extent. Increasing " +"this value above [code]0.0[/code] for lights with shadows enabled will have " +"a noticeable performance cost due to PCSS.\n" +"[b]Note:[/b] [member light_size] is not affected by [member Node3D.scale] " +"(the light's scale or its parent's scale).\n" +"[b]Note:[/b] PCSS for positional lights is only supported in the Forward+ " +"and Mobile rendering methods, not Compatibility." +msgstr "" +"灯光的大小,使用 Godot 的单位。仅适用于 [OmniLight3D] 和 [SpotLight3D]。增加" +"此值将使光线淡出速度变慢,并且阴影看起来更模糊(也称为百分比接近软阴影或 " +"PCSS)。这可用于在一定程度上模拟区域光。对于启用了阴影的灯光,将此值增加到 " +"[code]0.0[/code] 以上,将由于 PCSS 而产生明显的性能成本。\n" +"[b]注意:[/b][member light_size] 不受 [member Node3D.scale](灯光的缩放或其父" +"级的缩放)的影响。\n" +"[b]注意:[/b]定位光的 PCSS 仅支持 Forward+ 和 Mobile 渲染方法,不支持 " +"Compatibility。" + +msgid "" "The intensity of the specular blob in objects affected by the light. At " "[code]0[/code], the light becomes a pure diffuse light. When not baking " "emission, this can be used to avoid unrealistic reflections when placing " @@ -38223,6 +43337,22 @@ msgstr "2D 直线。" msgid "A line through several points in 2D space." msgstr "一条经过 2D 空间中某几个点的直线。" +msgid "" +"Adds a point with the specified [param position] relative to the line's own " +"position. Appends the new point at the end of the point list.\n" +"If [param index] is given, the new point is inserted before the existing " +"point identified by index [param index]. Every existing point starting from " +"[param index] is shifted further down the list of points. The index must be " +"greater than or equal to [code]0[/code] and must not exceed the number of " +"existing points in the line. See [method get_point_count]." +msgstr "" +"在指定的位置 [param position] 添加一个点,该位置相对于该线段自身的位置。新的" +"点会被加入到点的列表末尾。\n" +"如果给出 [param index],则将新点插入到由索引 [param index] 标识的已有点之前。" +"从 [param index] 开始的每个已有点都会进一步向下移动点列表。索引必须大于或等" +"于 [code]0[/code],并且不得超过线段中已有点的数量。请参阅 [method " +"get_point_count]。" + msgid "Removes all points from the line." msgstr "移除直线上的所有点。" @@ -38335,6 +43465,98 @@ msgstr "擦除 [LineEdit] 的 [member text]。" msgid "Clears the current selection." msgstr "清除当前选择。" +msgid "" +"Returns the [PopupMenu] of this [LineEdit]. By default, this menu is " +"displayed when right-clicking on the [LineEdit].\n" +"You can add custom menu items or remove standard ones. Make sure your IDs " +"don't conflict with the standard ones (see [enum MenuItems]). For example:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _ready():\n" +" var menu = get_menu()\n" +" # Remove all items after \"Redo\".\n" +" menu.item_count = menu.get_item_index(MENU_REDO) + 1\n" +" # Add custom items.\n" +" menu.add_separator()\n" +" menu.add_item(\"Insert Date\", MENU_MAX + 1)\n" +" # Connect callback.\n" +" menu.id_pressed.connect(_on_item_pressed)\n" +"\n" +"func _on_item_pressed(id):\n" +" if id == MENU_MAX + 1:\n" +" insert_text_at_caret(Time.get_date_string_from_system())\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Ready()\n" +"{\n" +" var menu = GetMenu();\n" +" // Remove all items after \"Redo\".\n" +" menu.ItemCount = menu.GetItemIndex(LineEdit.MenuItems.Redo) + 1;\n" +" // Add custom items.\n" +" menu.AddSeparator();\n" +" menu.AddItem(\"Insert Date\", LineEdit.MenuItems.Max + 1);\n" +" // Add event handler.\n" +" menu.IdPressed += OnItemPressed;\n" +"}\n" +"\n" +"public void OnItemPressed(int id)\n" +"{\n" +" if (id == LineEdit.MenuItems.Max + 1)\n" +" {\n" +" InsertTextAtCaret(Time.GetDateStringFromSystem());\n" +" }\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member Window.visible] property." +msgstr "" +"返回该 [LineEdit] 的 [PopupMenu]。默认情况下,右键点击 [LineEdit] 会显示该菜" +"单。\n" +"可以添加自定义菜单项或移除标准菜单项。确保您的 ID 不与标准 ID 冲突(请参阅 " +"[enum MenuItems])。例如:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _ready():\n" +" var menu = get_menu()\n" +" # 在“重做”之后移除所有项目。\n" +" menu.item_count = menu.get_item_index(MENU_REDO) + 1\n" +" # 添加自定义项目。\n" +" menu.add_separator()\n" +" menu.add_item(\"Insert Date\", MENU_MAX + 1)\n" +" # 连接回调。\n" +" menu.id_pressed.connect(_on_item_pressed)\n" +"\n" +"func _on_item_pressed(id):\n" +" if id == MENU_MAX + 1:\n" +" insert_text_at_caret(Time.get_date_string_from_system())\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Ready()\n" +"{\n" +" var menu = GetMenu();\n" +" // 在“重做”之后移除所有项目。\n" +" menu.ItemCount = menu.GetItemIndex(LineEdit.MenuItems.Redo) + 1;\n" +" // 添加自定义项目。\n" +" menu.AddSeparator();\n" +" menu.AddItem(\"Insert Date\", LineEdit.MenuItems.Max + 1);\n" +" // 添加事件处理器。\n" +" menu.IdPressed += OnItemPressed;\n" +"}\n" +"\n" +"public void OnItemPressed(int id)\n" +"{\n" +" if (id == LineEdit.MenuItems.Max + 1)\n" +" {\n" +" InsertTextAtCaret(Time.GetDateStringFromSystem());\n" +" }\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]警告:[/b]这是一个必需的内部节点,移除和释放它可能会导致崩溃。如果希望隐藏" +"它或它的任何子节点,请使用它们的 [member Window.visible] 属性。" + msgid "Returns the selection begin column." msgstr "返回选择的开始列。" @@ -38344,9 +43566,59 @@ msgstr "返回选择结束列。" msgid "Returns [code]true[/code] if the user has selected text." msgstr "如果用户选中了文本,则返回 [code]true[/code]。" +msgid "" +"Inserts [param text] at the caret. If the resulting value is longer than " +"[member max_length], nothing happens." +msgstr "" +"在光标处插入文本 [param text]。如果最终值比 [member max_length] 长,则不会发" +"生任何事情。" + +msgid "" +"Returns whether the menu is visible. Use this instead of [code]get_menu()." +"visible[/code] to improve performance (so the creation of the menu is " +"avoided)." +msgstr "" +"返回菜单是否可见。请使用这个方法来代替 [code]get_menu().visible[/code],可以" +"提高性能(因为避免了菜单的创建)。" + msgid "Executes a given action as defined in the [enum MenuItems] enum." msgstr "执行 [enum MenuItems] 枚举中定义的给定操作。" +msgid "" +"Selects characters inside [LineEdit] between [param from] and [param to]. By " +"default, [param from] is at the beginning and [param to] at the end.\n" +"[codeblocks]\n" +"[gdscript]\n" +"text = \"Welcome\"\n" +"select() # Will select \"Welcome\".\n" +"select(4) # Will select \"ome\".\n" +"select(2, 5) # Will select \"lco\".\n" +"[/gdscript]\n" +"[csharp]\n" +"Text = \"Welcome\";\n" +"Select(); // Will select \"Welcome\".\n" +"Select(4); // Will select \"ome\".\n" +"Select(2, 5); // Will select \"lco\".\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"选择 [LineEdit] 内介于 [param from] 和 [param to] 之间的字符。默认情况下," +"[param from] 位于开头,[param to] 位于结尾。\n" +"[codeblocks]\n" +"[gdscript]\n" +"text = \"Welcome\"\n" +"select() # 将选择“Welcome”。\n" +"select(4) # 将选择“ome”。\n" +"select(2, 5) # 将选择“lco”。\n" +"[/gdscript]\n" +"[csharp]\n" +"Text = \"Welcome\";\n" +"Select(); // 将选择“Welcome”。\n" +"Select(4); // 将选择“ome”。\n" +"Select(2, 5); // 将选择“lco”。\n" +"[/csharp]\n" +"[/codeblocks]" + msgid "Selects the whole [String]." msgstr "选中整个 [String]。" @@ -38405,6 +43677,64 @@ msgid "If [code]true[/code], the [LineEdit] don't display decoration." msgstr "如果为 [code]true[/code],则 [LineEdit] 不显示装饰。" msgid "" +"Maximum number of characters that can be entered inside the [LineEdit]. If " +"[code]0[/code], there is no limit.\n" +"When a limit is defined, characters that would exceed [member max_length] " +"are truncated. This happens both for existing [member text] contents when " +"setting the max length, or for new text inserted in the [LineEdit], " +"including pasting. If any input text is truncated, the [signal " +"text_change_rejected] signal is emitted with the truncated substring as " +"parameter.\n" +"[b]Example:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"text = \"Hello world\"\n" +"max_length = 5\n" +"# `text` becomes \"Hello\".\n" +"max_length = 10\n" +"text += \" goodbye\"\n" +"# `text` becomes \"Hello good\".\n" +"# `text_change_rejected` is emitted with \"bye\" as parameter.\n" +"[/gdscript]\n" +"[csharp]\n" +"Text = \"Hello world\";\n" +"MaxLength = 5;\n" +"// `Text` becomes \"Hello\".\n" +"MaxLength = 10;\n" +"Text += \" goodbye\";\n" +"// `Text` becomes \"Hello good\".\n" +"// `text_change_rejected` is emitted with \"bye\" as parameter.\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"[LineEdit] 中可以输入的最大字符数。如果为 [code]0[/code],则没有限制。\n" +"定义限制后,将截断超过 [member max_length] 的字符。在设置最大长度时,将适用于" +"现有的 [member text] 内容,以及在 [LineEdit] 中插入、包括粘贴进来的新文本。如" +"果任何输入文本被截断,[signal text_change_rejected] 信号将以截断的子字符串作" +"为参数发出。\n" +"[b]示例:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"text = \"Hello world\"\n" +"max_length = 5\n" +"# `text` 变为 \"Hello\"。\n" +"max_length = 10\n" +"text += \" goodbye\"\n" +"# `text` 变为 \"Hello good\"。\n" +"# `text_change_rejected` 以 \"bye\" 作为参数发出。\n" +"[/gdscript]\n" +"[csharp]\n" +"Text = \"Hello world\";\n" +"MaxLength = 5;\n" +"// `Text` 变为 \"Hello\"。\n" +"MaxLength = 10;\n" +"Text += \" goodbye\";\n" +"// `text` 变为 \"Hello good\"。\n" +"// `text_change_rejected` 以 \"bye\" 作为参数发出。\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" "If [code]false[/code], using middle mouse button to paste clipboard will be " "disabled.\n" "[b]Note:[/b] This method is only implemented on Linux." @@ -38647,6 +43977,11 @@ msgstr "" "这种按钮主要用于与按钮的交互引起上下文变化时(如链接到网页)。\n" "参阅 [BaseButton],它包含了该节点相关的常用属性和方法。" +msgid "" +"The underline mode to use for the text. See [enum LinkButton.UnderlineMode] " +"for the available modes." +msgstr "文本的下划线模式。可用模式见 [enum LinkButton.UnderlineMode]。" + msgid "The LinkButton will always show an underline at the bottom of its text." msgstr "LinkButton 将始终在其文本底部显示下划线。" @@ -38707,12 +44042,146 @@ msgstr "" msgid "Abstract base class for the game's main loop." msgstr "游戏主循环的抽象基类。" +msgid "" +"[MainLoop] is the abstract base class for a Godot project's game loop. It is " +"inherited by [SceneTree], which is the default game loop implementation used " +"in Godot projects, though it is also possible to write and use one's own " +"[MainLoop] subclass instead of the scene tree.\n" +"Upon the application start, a [MainLoop] implementation must be provided to " +"the OS; otherwise, the application will exit. This happens automatically " +"(and a [SceneTree] is created) unless a [MainLoop] [Script] is provided from " +"the command line (with e.g. [code]godot -s my_loop.gd[/code] or the \"Main " +"Loop Type\" project setting is overwritten.\n" +"Here is an example script implementing a simple [MainLoop]:\n" +"[codeblocks]\n" +"[gdscript]\n" +"class_name CustomMainLoop\n" +"extends MainLoop\n" +"\n" +"var time_elapsed = 0\n" +"\n" +"func _initialize():\n" +" print(\"Initialized:\")\n" +" print(\" Starting time: %s\" % str(time_elapsed))\n" +"\n" +"func _process(delta):\n" +" time_elapsed += delta\n" +" # Return true to end the main loop.\n" +" return Input.get_mouse_button_mask() != 0 || Input." +"is_key_pressed(KEY_ESCAPE)\n" +"\n" +"func _finalize():\n" +" print(\"Finalized:\")\n" +" print(\" End time: %s\" % str(time_elapsed))\n" +"[/gdscript]\n" +"[csharp]\n" +"using Godot;\n" +"\n" +"public partial class CustomMainLoop : MainLoop\n" +"{\n" +" private double _timeElapsed = 0;\n" +"\n" +" public override void _Initialize()\n" +" {\n" +" GD.Print(\"Initialized:\");\n" +" GD.Print($\" Starting Time: {_timeElapsed}\");\n" +" }\n" +"\n" +" public override bool _Process(double delta)\n" +" {\n" +" _timeElapsed += delta;\n" +" // Return true to end the main loop.\n" +" return Input.GetMouseButtonMask() != 0 || Input.IsKeyPressed(Key." +"Escape);\n" +" }\n" +"\n" +" private void _Finalize()\n" +" {\n" +" GD.Print(\"Finalized:\");\n" +" GD.Print($\" End Time: {_timeElapsed}\");\n" +" }\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"[MainLoop] 是 Godot 项目中游戏循环的抽象基类。它被 [SceneTree] 继承," +"[SceneTree] 是 Godot 项目中使用的默认游戏循环的实现,不过也可以编写和使用自己" +"的 [MainLoop] 子类,来代替场景树。\n" +"在应用程序启动时,必须向操作系统提供一个 [MainLoop] 实现;否则,应用程序将退" +"出。这会自动发生(并创建一个 [SceneTree]),除非从命令行提供一个 [MainLoop] " +"[Script](例如 [code]godot -s my_loop.gd[/code],或“主循环类型(Main Loop " +"Type)”项目设置被覆盖。\n" +"有一个实现简单 [MainLoop] 的示例脚本:\n" +"[codeblocks]\n" +"[gdscript]\n" +"class_name CustomMainLoop\n" +"extends MainLoop\n" +"\n" +"var time_elapsed = 0\n" +"\n" +"func _initialize():\n" +" print(\"Initialized:\")\n" +" print(\" Starting time: %s\" % str(time_elapsed))\n" +"\n" +"func _process(delta):\n" +" time_elapsed += delta\n" +" # 返回 true 结束主循环。\n" +" return Input.get_mouse_button_mask() != 0 || Input." +"is_key_pressed(KEY_ESCAPE)\n" +"\n" +"func _finalize():\n" +" print(\"Finalized:\")\n" +" print(\" End time: %s\" % str(time_elapsed))\n" +"[/gdscript]\n" +"[csharp]\n" +"using Godot;\n" +"\n" +"public partial class CustomMainLoop : MainLoop\n" +"{\n" +" private double _timeElapsed = 0;\n" +"\n" +" public override void _Initialize()\n" +" {\n" +" GD.Print(\"Initialized:\");\n" +" GD.Print($\" Starting Time: {_timeElapsed}\");\n" +" }\n" +"\n" +" public override bool _Process(double delta)\n" +" {\n" +" _timeElapsed += delta;\n" +" // 返回 true 结束主循环。\n" +" return Input.GetMouseButtonMask() != 0 || Input.IsKeyPressed(Key." +"Escape);\n" +" }\n" +"\n" +" private void _Finalize()\n" +" {\n" +" GD.Print(\"Finalized:\");\n" +" GD.Print($\" End Time: {_timeElapsed}\");\n" +" }\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + msgid "Called before the program exits." msgstr "在程序退出前调用。" msgid "Called once during initialization." msgstr "在初始化时调用一次。" +msgid "" +"Called each physics frame with the time since the last physics frame as " +"argument ([param delta], in seconds). Equivalent to [method Node." +"_physics_process].\n" +"If implemented, the method must return a boolean value. [code]true[/code] " +"ends the main loop, while [code]false[/code] lets it proceed to the next " +"frame." +msgstr "" +"在每个物理帧中调用,并将自上一个物理帧以来的时间作为参数([param delta],以秒" +"为单位)。相当于[method Node._physics_process]。\n" +"如果实现,该方法必须返回一个布尔值。[code]true[/code] 会结束主循环,而 " +"[code]false[/code] 会让它继续下一帧。" + msgid "Emitted when a user responds to a permission request." msgstr "当用户对权限请求作出反应时发出。" @@ -38990,6 +44459,13 @@ msgstr "" "如果为 [code]true[/code],则 [MenuBar] 会在支持系统全局菜单时使用系统全局菜" "单。" +msgid "" +"If [code]true[/code], when the cursor hovers above menu item, it will close " +"the current [PopupMenu] and open the other one." +msgstr "" +"如果为 [code]true[/code],当光标悬停在菜单项上方时,将关闭当前的 [PopupMenu] " +"并打开另一个。" + msgid "Default text [Color] of the menu item." msgstr "菜单项的默认文字 [Color]。" @@ -39174,6 +44650,92 @@ msgstr "" "面组成的网格胜过单个面的,这是因为在3D编辑软件中,一个物体通常包含多种材质。" msgid "" +"Virtual method to override the [AABB] for a custom class extending [Mesh]." +msgstr "虚方法,能够为扩展自 [Mesh] 的自定义类覆盖 [AABB]。" + +msgid "" +"Virtual method to override the number of blend shapes for a custom class " +"extending [Mesh]." +msgstr "虚方法,能够为扩展自 [Mesh] 的自定义类覆盖混合形状的数量。" + +msgid "" +"Virtual method to override the retrieval of blend shape names for a custom " +"class extending [Mesh]." +msgstr "虚方法,能够为扩展自 [Mesh] 的自定义类覆盖混合形状名称的获取过程。" + +msgid "" +"Virtual method to override the surface count for a custom class extending " +"[Mesh]." +msgstr "虚方法,能够为扩展自 [Mesh] 的自定义类覆盖表面的数量。" + +msgid "" +"Virtual method to override the names of blend shapes for a custom class " +"extending [Mesh]." +msgstr "虚方法,能够为扩展自 [Mesh] 的自定义类覆盖混合形状的名称。" + +msgid "" +"Virtual method to override the surface array index length for a custom class " +"extending [Mesh]." +msgstr "虚方法,能够为扩展自 [Mesh] 的自定义类覆盖表面数组索引的长度。" + +msgid "" +"Virtual method to override the surface array length for a custom class " +"extending [Mesh]." +msgstr "虚方法,能够为扩展自 [Mesh] 的自定义类覆盖表面数组的长度。" + +msgid "" +"Virtual method to override the surface arrays for a custom class extending " +"[Mesh]." +msgstr "虚方法,能够为扩展自 [Mesh] 的自定义类覆盖表面数组。" + +msgid "" +"Virtual method to override the blend shape arrays for a custom class " +"extending [Mesh]." +msgstr "虚方法,能够为扩展自 [Mesh] 的自定义类覆盖混合形状数组。" + +msgid "" +"Virtual method to override the surface format for a custom class extending " +"[Mesh]." +msgstr "虚方法,能够为扩展自 [Mesh] 的自定义类覆盖表面格式。" + +msgid "" +"Virtual method to override the surface LODs for a custom class extending " +"[Mesh]." +msgstr "虚方法,能够为扩展自 [Mesh] 的自定义类覆盖表面 LOD。" + +msgid "" +"Virtual method to override the surface material for a custom class extending " +"[Mesh]." +msgstr "虚方法,能够为扩展自 [Mesh] 的自定义类覆盖表面材质。" + +msgid "" +"Virtual method to override the surface primitive type for a custom class " +"extending [Mesh]." +msgstr "虚方法,能够为扩展自 [Mesh] 的自定义类覆盖表面图元类型。" + +msgid "" +"Virtual method to override the setting of a [param material] at the given " +"[param index] for a custom class extending [Mesh]." +msgstr "" +"虚方法,能够为扩展自 [Mesh] 的自定义类覆盖索引为 [param index] 的材质 [param " +"material] 的设置。" + +msgid "" +"Calculate a [ConvexPolygonShape3D] from the mesh.\n" +"If [param clean] is [code]true[/code] (default), duplicate and interior " +"vertices are removed automatically. You can set it to [code]false[/code] to " +"make the process faster if not needed.\n" +"If [param simplify] is [code]true[/code], the geometry can be further " +"simplified to reduce the number of vertices. Disabled by default." +msgstr "" +"从网格计算 [ConvexPolygonShape3D]。\n" +"如果 [param clean] 为 [code]true[/code](默认值),则自动移除重复顶点和内部顶" +"点。如果不需要如此的化话,可以将其设置为 [code]false[/code] 以加快处理速" +"度。\n" +"如果 [param simplify] 为 [code]true[/code],则可以进一步简化几何体以减少顶点" +"数。默认情况下是禁用的。" + +msgid "" "Calculate an outline mesh at a defined offset (margin) from the original " "mesh.\n" "[b]Note:[/b] This method typically returns the vertices in reverse order (e." @@ -39201,6 +44763,9 @@ msgid "" "vertices represent one triangle." msgstr "返回网格中所有构成面的顶点。每三个顶点代表一个三角形。" +msgid "Returns the number of surfaces that the [Mesh] holds." +msgstr "返回该 [Mesh] 中存放的表面的个数。" + msgid "" "Returns the arrays for the vertices, normals, uvs, etc. that make up the " "requested surface (see [method ArrayMesh.add_surface_from_arrays])." @@ -39569,9 +45134,87 @@ msgstr "当 [member texture] 被改变时触发。" msgid "Node that instances meshes into a scenario." msgstr "网格实例与场景相结合的节点。" +msgid "" +"MeshInstance3D is a node that takes a [Mesh] resource and adds it to the " +"current scenario by creating an instance of it. This is the class most often " +"used render 3D geometry and can be used to instance a single [Mesh] in many " +"places. This allows reusing geometry, which can save on resources. When a " +"[Mesh] has to be instantiated more than thousands of times at close " +"proximity, consider using a [MultiMesh] in a [MultiMeshInstance3D] instead." +msgstr "" +"MeshInstance3D 节点接受 [Mesh] 资源,会为该网格创建一个实例,将其添加到当前的" +"场景中。这是渲染 3D 几何体时最常用的类,可以将单个 [Mesh] 在不同的地方实例" +"化。这样就能够实现几何体的复用,节省资源。如果需要在比较集中的区域内将某个 " +"[Mesh] 实例化超过几千次,请考虑改为在 [MultiMeshInstance3D] 中使用 " +"[MultiMesh]。" + +msgid "" +"This helper creates a [StaticBody3D] child node with a " +"[ConvexPolygonShape3D] collision shape calculated from the mesh geometry. " +"It's mainly used for testing.\n" +"If [param clean] is [code]true[/code] (default), duplicate and interior " +"vertices are removed automatically. You can set it to [code]false[/code] to " +"make the process faster if not needed.\n" +"If [param simplify] is [code]true[/code], the geometry can be further " +"simplified to reduce the number of vertices. Disabled by default." +msgstr "" +"该助手创建一个 [StaticBody3D] 子节点,该子节点具有根据网格几何计算的 " +"[ConvexPolygonShape3D] 碰撞形状。它主要用于测试。\n" +"如果 [param clean] 为 [code]true[/code](默认值),则重复的顶点和内部顶点会被" +"自动移除。如果不需要,可以将其设置为 [code]false[/code],以加快处理速度。\n" +"如果 [param simplify] 为 [code]true[/code],则该几何体可以进一步被简化以减少" +"顶点的数量。默认情况下是禁用的。" + +msgid "" +"Returns the index of the blend shape with the given [param name]. Returns " +"[code]-1[/code] if no blend shape with this name exists, including when " +"[member mesh] is [code]null[/code]." +msgstr "" +"返回具有给定 [param name] 的混合形状的索引。如果不存在具有该名称的混合形状," +"以及当 [member mesh] 为 [code]null[/code] 时,则返回 [code]-1[/code]。" + +msgid "" +"Returns the [Material] that will be used by the [Mesh] when drawing. This " +"can return the [member GeometryInstance3D.material_override], the surface " +"override [Material] defined in this [MeshInstance3D], or the surface " +"[Material] defined in the [member mesh]. For example, if [member " +"GeometryInstance3D.material_override] is used, all surfaces will return the " +"override material.\n" +"Returns [code]null[/code] if no material is active, including when [member " +"mesh] is [code]null[/code]." +msgstr "" +"返回 [Mesh] 在绘制时将使用的 [Material]。这可以返回 [member " +"GeometryInstance3D.material_override]、在该 [MeshInstance3D] 中定义的表面覆" +"盖 [Material]、或 [member mesh] 中定义的表面 [Material]。例如,如果使用 " +"[member GeometryInstance3D.material_override],则所有表面都将返回该覆盖材" +"质。\n" +"如果没有材质处于活动状态,包括当 [member mesh] 为 [code]null[/code] 时,则返" +"回 [code]null[/code]。" + +msgid "" +"Returns the value of the blend shape at the given [param blend_shape_idx]. " +"Returns [code]0.0[/code] and produces an error if [member mesh] is " +"[code]null[/code] or doesn't have a blend shape at that index." +msgstr "" +"返回给定 [param blend_shape_idx] 处的混合形状的值。如果 [member mesh] 为 " +"[code]null[/code],或在该索引处没有混合形状,则返回 [code]0.0[/code] 并产生一" +"个错误。" + +msgid "" +"Sets the value of the blend shape at [param blend_shape_idx] to [param " +"value]. Produces an error if [member mesh] is [code]null[/code] or doesn't " +"have a blend shape at that index." +msgstr "" +"将 [param blend_shape_idx] 处的混合形状的值设置为 [param value]。如果 " +"[member mesh] 为 [code]null[/code],或在该索引处没有混合形状,则会产生一个错" +"误。" + msgid "The [Mesh] resource for the instance." msgstr "该实例的 [Mesh] 资源。" +msgid "The [Skin] to be used by this instance." +msgstr "该实例要使用的 [Skin]。" + msgid "Library of meshes." msgstr "网格库。" @@ -39629,6 +45272,13 @@ msgstr "" "set_item_preview] 设置。如果在一个运行的项目中,没有手动设置预览,则返回一个" "空的 [Texture2D]。" +msgid "" +"Returns an item's collision shapes.\n" +"The array consists of each [Shape3D] followed by its [Transform3D]." +msgstr "" +"返回某个项目的碰撞形状。\n" +"该数组由每个 [Shape3D] 后跟其 [Transform3D] 组成。" + msgid "Gets an unused ID for a new item." msgstr "获取新项未使用的 ID。" @@ -39786,6 +45436,35 @@ msgstr "" msgid "Abstract class for non-real-time video recording encoders." msgstr "非实时视频录制编码器的抽象类。" +msgid "" +"MultiMesh provides low-level mesh instancing. Drawing thousands of " +"[MeshInstance3D] nodes can be slow, since each object is submitted to the " +"GPU then drawn individually.\n" +"MultiMesh is much faster as it can draw thousands of instances with a single " +"draw call, resulting in less API overhead.\n" +"As a drawback, if the instances are too far away from each other, " +"performance may be reduced as every single instance will always render (they " +"are spatially indexed as one, for the whole object).\n" +"Since instances may have any behavior, the AABB used for visibility must be " +"provided by the user.\n" +"[b]Note:[/b] A MultiMesh is a single object, therefore the same maximum " +"lights per object restriction applies. This means, that once the maximum " +"lights are consumed by one or more instances, the rest of the MultiMesh " +"instances will [b]not[/b] receive any lighting.\n" +"[b]Note:[/b] Blend Shapes will be ignored if used in a MultiMesh." +msgstr "" +"MultiMesh 提供了低级别的网格实例化功能。绘制数以千计的 [MeshInstance3D] 节点" +"可能会很慢,因为每个对象都要提交给 GPU 然后单独绘制。\n" +"MultiMesh 要快得多,因为它可以通过一次绘制调用来绘制成千上万的实例,从而减少 " +"API 的开销。\n" +"缺点是,如果实例之间的距离太远,性能可能会降低,因为每一个实例总是会被渲染" +"(对于整个对象,它们在空间上被索引为一个)。\n" +"由于实例可能具有任何行为,因此用于可见性的 AABB 必须由用户提供。\n" +"[b]注意:[/b]MultiMesh 是单个对象,因此适用相同的对每个对象的最大灯光限制。这" +"意味着,一旦最大灯光被一个或多个实例消耗了,其余的 MultiMesh 实例将[b]不会[/" +"b]接收任何光照。\n" +"[b]注意:[/b]在 MultiMesh 中使用的 Blend Shape 将被忽略。" + msgid "Animating thousands of fish with MultiMeshInstance" msgstr "使用 MultiMeshInstance 动画化数千条鱼" @@ -39804,6 +45483,21 @@ msgstr "返回指定实例的 [Transform3D]。" msgid "Returns the [Transform2D] of a specific instance." msgstr "返回指定实例的 [Transform2D]。" +msgid "" +"Sets custom data for a specific instance. Although [Color] is used, it is " +"just a container for 4 floating point numbers.\n" +"For the custom data to be used, ensure that [member use_custom_data] is " +"[code]true[/code].\n" +"This custom instance data has to be manually accessed in your custom shader " +"using [code]INSTANCE_CUSTOM[/code]." +msgstr "" +"为特定的实例设置自定义数据。虽然使用了 [Color],但它只是一个容纳 4 个浮点数的" +"容器。\n" +"对于要使用的自定义数据,请确保 [member use_custom_data] 为 [code]true[/" +"code]。\n" +"必须使用 [code]INSTANCE_CUSTOM[/code] 在自定义着色器中,手动访问该自定义实例" +"数据。" + msgid "Sets the [Transform3D] for a specific instance." msgstr "为指定实例设置 [Transform3D]。" @@ -39840,15 +45534,39 @@ msgstr "使用 3D 变换时使用此选项。" msgid "Node that instances a [MultiMesh] in 2D." msgstr "在 2D 中实例化 [MultiMesh] 的节点。" +msgid "" +"[MultiMeshInstance2D] is a specialized node to instance a [MultiMesh] " +"resource in 2D.\n" +"Usage is the same as [MultiMeshInstance3D]." +msgstr "" +"[MultiMeshInstance2D] 是专用于在 2D 中实例化 [MultiMesh] 资源的节点。\n" +"用法与 [MultiMeshInstance3D] 相同。" + msgid "The [MultiMesh] that will be drawn by the [MultiMeshInstance2D]." msgstr "将由 [MultiMeshInstance2D] 绘制的 [MultiMesh]。" msgid "Node that instances a [MultiMesh]." msgstr "实例化 [MultiMesh] 的节点。" +msgid "" +"[MultiMeshInstance3D] is a specialized node to instance " +"[GeometryInstance3D]s based on a [MultiMesh] resource.\n" +"This is useful to optimize the rendering of a high number of instances of a " +"given mesh (for example trees in a forest or grass strands)." +msgstr "" +"[MultiMeshInstance2D] 是专用于实例化基于 [MultiMesh] 资源的 " +"[GeometryInstance3D] 的节点。\n" +"适用于优化大量给定网格实例的渲染(例如森林中的树木或草丛)。" + msgid "Using MultiMeshInstance" msgstr "使用 MultiMeshInstance" +msgid "High-level multiplayer API interface." +msgstr "高阶多人游戏 API 接口。" + +msgid "Returns a new instance of the default MultiplayerAPI." +msgstr "返回默认 MultiplayerAPI 的新实例。" + msgid "" "Returns the sender's peer ID for the RPC currently being executed.\n" "[b]Note:[/b] If not inside an RPC this method will return 0." @@ -39856,6 +45574,45 @@ msgstr "" "返回当前正在执行的 RPC 的发送方的对等体 ID。\n" "[b]注意:[/b]如果不在 RPC 内,这个方法将返回 0。" +msgid "" +"Emitted when this MultiplayerAPI's [member multiplayer_peer] successfully " +"connected to a server. Only emitted on clients." +msgstr "" +"当此 MultiplayerAPI 的 [member multiplayer_peer] 成功连接到服务器时发出。仅在" +"客户端上发出。" + +msgid "" +"Emitted when this MultiplayerAPI's [member multiplayer_peer] fails to " +"establish a connection to a server. Only emitted on clients." +msgstr "" +"当此 MultiplayerAPI 的 [member multiplayer_peer] 无法与服务器建立连接时发出。" +"仅在客户端上发出。" + +msgid "" +"Emitted when this MultiplayerAPI's [member multiplayer_peer] connects with a " +"new peer. ID is the peer ID of the new peer. Clients get notified when other " +"clients connect to the same server. Upon connecting to a server, a client " +"also receives this signal for the server (with ID being 1)." +msgstr "" +"当此 MultiplayerAPI 的 [member multiplayer_peer] 与新对等体连接时发出。ID 为" +"新对等体的对等体 ID。当某个客户端连接到同一服务器时,其他客户端会收到通知。连" +"接到服务器时,该客户端也会收到此信号,新对等体为服务器(ID 为 1)。" + +msgid "" +"Emitted when this MultiplayerAPI's [member multiplayer_peer] disconnects " +"from a peer. Clients get notified when other clients disconnect from the " +"same server." +msgstr "" +"当此 MultiplayerAPI 的 [member multiplayer_peer] 与对等体断开连接时发出。当某" +"个客户端从同一服务器断开连接时,其他客户端会收到通知。" + +msgid "" +"Emitted when this MultiplayerAPI's [member multiplayer_peer] disconnects " +"from server. Only emitted on clients." +msgstr "" +"当此 MultiplayerAPI 的 [member multiplayer_peer] 与服务器断开连接时发出。仅在" +"客户端上发出。" + msgid "Base class used for extending the [MultiplayerAPI]." msgstr "用于扩展 [MultiplayerAPI] 的基类。" @@ -39982,6 +45739,119 @@ msgid "" "[MultiplayerAPI]." msgstr "[MultiplayerAPI] 请求最大允许的数据包大小(单位为字节)时调用。" +msgid "" +"Synchronizes properties from the multiplayer authority to the remote peers." +msgstr "将属性从多人游戏权威同步到远程对等体。" + +msgid "" +"By default, [MultiplayerSynchronizer] synchronizes configured properties to " +"all peers.\n" +"Visibility can be handled directly with [method set_visibility_for] or as-" +"needed with [method add_visibility_filter] and [method update_visibility].\n" +"[MultiplayerSpawner]s will handle nodes according to visibility of " +"synchronizers as long as the node at [member root_path] was spawned by one.\n" +"Internally, [MultiplayerSynchronizer] uses [method MultiplayerAPI." +"object_configuration_add] to notify synchronization start passing the [Node] " +"at [member root_path] as the [code]object[/code] and itself as the " +"[code]configuration[/code], and uses [method MultiplayerAPI." +"object_configuration_remove] to notify synchronization end in a similar way." +msgstr "" +"默认情况下,[MultiplayerSynchronizer] 会将配置的属性同步到所有对等体。\n" +"可以使用 [method set_visibility_for] 直接处理可见性,也可以通过 [method " +"add_visibility_filter] 和 [method update_visibility] 在需要时进行处理。\n" +"[MultiplayerSpawner] 会根据同步器的可见性来处理节点,只要 [member root_path] " +"的节点是出生出来的。\n" +"内部而言,[MultiplayerSynchronizer] 使用 [method MultiplayerAPI." +"object_configuration_add] 来通知同步开始,将位于 [member root_path] 的 " +"[Node] 作为 [code]object[/code] 传入、将自己作为 [code]configuration[/code] " +"传入。使用 [method MultiplayerAPI.object_configuration_remove] 通知同步结束的" +"方法相同。" + +msgid "" +"Adds a peer visibility filter for this synchronizer.\n" +"[code]filter[/code] should take a peer ID [int] and return a [bool]." +msgstr "" +"为该同步器添加对等体可见性过滤器。\n" +"[code]filter[/code] 应该接受对等体 ID [int],返回 [bool]。" + +msgid "Queries the current visibility for peer [code]peer[/code]." +msgstr "查询对等体 [code]peer[/code] 的当前可见性。" + +msgid "Removes a peer visibility filter from this synchronizer." +msgstr "从该同步器中移除某个对等体的可见性过滤器。" + +msgid "" +"Sets the visibility of [code]peer[/code] to [code]visible[/code]. If " +"[code]peer[/code] is [code]0[/code], the value of [member public_visibility] " +"will be updated instead." +msgstr "" +"将 [code]peer[/code] 的可见性设置为 [code]visible[/code]。如果 [code]peer[/" +"code] 为 [code]0[/code],则会改为更新 [member public_visibility] 的值。" + +msgid "" +"Updates the visibility of [code]peer[/code] according to visibility filters. " +"If [code]peer[/code] is [code]0[/code] (the default), all peers' visibilties " +"are updated." +msgstr "" +"根据可见性过滤器更新 [code]peer[/code] 的可见性。如果 [code]peer[/code] 为 " +"[code]0[/code](默认值),则更新所有对等体的可见性。" + +msgid "" +"Whether synchronization should be visible to all peers by default. See " +"[method set_visibility_for] and [method add_visibility_filter] for ways of " +"configuring fine-grained visibility options." +msgstr "" +"默认情况下,同步是否应该对所有对等体可见。有关配置细粒度可见性选项的方法,请" +"参阅 [method set_visibility_for] 和 [method add_visibility_filter]。" + +msgid "Resource containing which properties to synchronize." +msgstr "包含要同步的属性的资源。" + +msgid "" +"Time interval between synchronizes. When set to [code]0.0[/code] (the " +"default), synchronizes happen every network process frame." +msgstr "" +"同步之间的时间间隔。当设置为 [code]0.0[/code](默认值)时,每个网络处理帧都会" +"发生同步。" + +msgid "" +"Node path that replicated properties are relative to.\n" +"If [member root_path] was spawned by a [MultiplayerSpawner], the node will " +"be also be spawned and despawned based on this synchronizer visibility " +"options." +msgstr "" +"复制属性相对的节点路径。\n" +"如果 [member root_path] 是由 [MultiplayerSpawner] 生成的,则该节点也将根据此" +"同步器可见性选项生成和消失。" + +msgid "" +"Specifies when visibility filters are updated (see [enum " +"VisibilityUpdateMode] for options)." +msgstr "指定何时更新可见性过滤器(有关选项见 [enum VisibilityUpdateMode])。" + +msgid "" +"Emitted when a new synchronization state is received by this synchronizer " +"after the variables have been updated." +msgstr "在变量更新后,当该同步器接收到一个新的同步状态时发出。" + +msgid "" +"Emitted when visibility of [code]for_peer[/code] is updated. See [method " +"update_visibility]." +msgstr "" +"当 [code]for_peer[/code] 的可见性更新时发出。见 [method update_visibility]。" + +msgid "Visibility filters are updated every idle process frame." +msgstr "每个空闲处理帧都会更新可见性过滤器。" + +msgid "Visibility filters are updated every physics process frame." +msgstr "每个物理处理帧都会更新可见性过滤器。" + +msgid "" +"Visibility filters are not updated automatically, and must be updated " +"manually by calling [method update_visibility]." +msgstr "" +"可见性过滤器不会自动更新,必须通过调用 [method update_visibility] 手动更新。" + msgid "A synchronization mutex (mutual exclusion)." msgstr "同步互斥锁(相互排斥)。" @@ -40158,6 +46028,35 @@ msgstr "" "终的目标,到达该区域内即可。如果这个值设得太小,该 NavigationAgent 将陷入重新" "寻路的死循环,因为它在每次物理帧更新后都会超过或者到不了最终的目标点。" +msgid "" +"Notifies when a navigation link has been reached.\n" +"The details dictionary may contain the following keys depending on the value " +"of [member path_metadata_flags]:\n" +"- [code]position[/code]: The start position of the link that was reached.\n" +"- [code]type[/code]: Always [constant NavigationPathQueryResult2D." +"PATH_SEGMENT_TYPE_LINK].\n" +"- [code]rid[/code]: The [RID] of the link.\n" +"- [code]owner[/code]: The object which manages the link (usually " +"[NavigationLink2D]).\n" +"- [code]link_entry_position[/code]: If [code]owner[/code] is available and " +"the owner is a [NavigationLink2D], it will contain the global position of " +"the link's point the agent is entering.\n" +"- [code]link_exit_position[/code]: If [code]owner[/code] is available and " +"the owner is a [NavigationLink2D], it will contain the global position of " +"the link's point which the agent is exiting." +msgstr "" +"当到达一个导航链接时通知。\n" +"根据 [member path_metadata_flags] 的值,详细信息字典可能包含以下键:\n" +"- [code]position[/code]:到达的链接的起始位置。\n" +"- [code]type[/code]:总是 [constant NavigationPathQueryResult2D." +"PATH_SEGMENT_TYPE_LINK]。\n" +"- [code]rid[/code]:链接的 [RID]。\n" +"- [code]owner[/code]:管理该链接的对象(通常是[NavigationLink2D])。\n" +"- [code]link_entry_position[/code]:如果 [code]owner[/code] 可用且该所有者是" +"一个 [NavigationLink2D],它将包含代理正在进入时的链接点的全局位置。\n" +"- [code]link_exit_position[/code]:如果 [code]owner[/code] 可用且该所有者是一" +"个 [NavigationLink2D],它将包含代理正在退出时的链接点的全局位置。" + msgid "Notifies when the final position is reached." msgstr "抵达终点位置时发出通知。" @@ -40202,6 +46101,10 @@ msgstr "" "对其进行了烘焙,那么就必须支持不同大小的代理。" msgid "" +"Ignores collisions on the Y axis. Must be true to move on a horizontal plane." +msgstr "忽略 Y 轴上的碰撞。必须为 true 才能在水平面上移动。" + +msgid "" "A bitfield determining what navigation layers of navigation regions this " "NavigationAgent will use to calculate path. Changing it runtime will clear " "current navigation path and generate new one, according to new navigation " @@ -40211,6 +46114,35 @@ msgstr "" "将清除当前导航路径,并根据新的导航层生成新的导航路径。" msgid "" +"Notifies when a navigation link has been reached.\n" +"The details dictionary may contain the following keys depending on the value " +"of [member path_metadata_flags]:\n" +"- [code]position[/code]: The start position of the link that was reached.\n" +"- [code]type[/code]: Always [constant NavigationPathQueryResult3D." +"PATH_SEGMENT_TYPE_LINK].\n" +"- [code]rid[/code]: The [RID] of the link.\n" +"- [code]owner[/code]: The object which manages the link (usually " +"[NavigationLink3D]).\n" +"- [code]link_entry_position[/code]: If [code]owner[/code] is available and " +"the owner is a [NavigationLink2D], it will contain the global position of " +"the link's point the agent is entering.\n" +"- [code]link_exit_position[/code]: If [code]owner[/code] is available and " +"the owner is a [NavigationLink2D], it will contain the global position of " +"the link's point which the agent is exiting." +msgstr "" +"当到达一个导航链接时通知。\n" +"根据 [member path_metadata_flags] 的值,详细信息字典可能包含以下键:\n" +"- [code]position[/code]:到达的链接的起始位置。\n" +"- [code]type[/code]:总是 [constant NavigationPathQueryResult3D." +"PATH_SEGMENT_TYPE_LINK]。\n" +"- [code]rid[/code]:链接的 [RID]。\n" +"- [code]owner[/code]:管理该链接的对象(通常是[NavigationLink3D])。\n" +"- [code]link_entry_position[/code]:如果 [code]owner[/code] 可用且该所有者是" +"一个 [NavigationLink3D],它将包含代理正在进入时的链接点的全局位置。\n" +"- [code]link_exit_position[/code]:如果 [code]owner[/code] 可用且该所有者是一" +"个 [NavigationLink3D],它将包含代理正在退出时的链接点的全局位置。" + +msgid "" "Creates a link between two positions that [NavigationServer2D] can route " "agents through. Links can be used to express navigation methods that aren't " "just traveling along the surface of the navigation mesh, like zip-lines, " @@ -40223,6 +46155,26 @@ msgid "Using NavigationLinks" msgstr "使用 NavigationLink" msgid "" +"Returns the [member end_position] that is relative to the link as a global " +"position." +msgstr "返回该链接的 [member end_position] 的全局位置。" + +msgid "" +"Returns the [member start_position] that is relative to the link as a global " +"position." +msgstr "返回该链接的 [member start_position] 的全局位置。" + +msgid "" +"Sets the [member end_position] that is relative to the link from a global " +"[param position]." +msgstr "设置该链接的 [member end_position] 的全局位置。" + +msgid "" +"Sets the [member start_position] that is relative to the link from a global " +"[param position]." +msgstr "设置该链接的 [member start_position] 的全局位置。" + +msgid "" "Creates a link between two positions that [NavigationServer3D] can route " "agents through. Links can be used to express navigation methods that aren't " "just traveling along the surface of the navigation mesh, like zip-lines, " @@ -40257,6 +46209,16 @@ msgid "" "Clears the array of polygons, but it doesn't clear the array of vertices." msgstr "清除多边形数组,但不清除顶点数组。" +msgid "" +"Initializes the navigation mesh by setting the vertices and indices " +"according to a [Mesh].\n" +"[b]Note:[/b] The given [param mesh] must be of type [constant Mesh." +"PRIMITIVE_TRIANGLES] and have an index array." +msgstr "" +"通过根据 [Mesh] 设置顶点和索引来初始化导航网格。\n" +"[b]注意:[/b]给定的 [param mesh] 必须是 [constant Mesh.PRIMITIVE_TRIANGLES] " +"类型,并且有一个索引数组。" + msgid "Returns the number of polygons in the navigation mesh." msgstr "返回导航网格中的多边形数量。" @@ -40439,6 +46401,9 @@ msgstr "" msgid "Represents the size of the [enum ParsedGeometryType] enum." msgstr "代表 [enum ParsedGeometryType] 枚举的大小。" +msgid "Scans the child nodes of the root node recursively for geometry." +msgstr "在根节点的子节点中递归扫描几何体。" + msgid "" "Scans nodes in a group and their child nodes recursively for geometry. The " "group is specified by [member geometry_source_group_name]." @@ -40543,6 +46508,97 @@ msgid "" "create navigation polygons." msgstr "具有绘制轮廓或使用顶点索引来创建导航多边形的方法的节点。" +msgid "" +"There are two ways to create polygons. Either by using the [method " +"add_outline] method, or using the [method add_polygon] method.\n" +"Using [method add_outline]:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var polygon = NavigationPolygon.new()\n" +"var outline = PackedVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, " +"50), Vector2(50, 0)])\n" +"polygon.add_outline(outline)\n" +"polygon.make_polygons_from_outlines()\n" +"$NavigationRegion2D.navigation_polygon = polygon\n" +"[/gdscript]\n" +"[csharp]\n" +"var polygon = new NavigationPolygon();\n" +"var outline = new Vector2[] { new Vector2(0, 0), new Vector2(0, 50), new " +"Vector2(50, 50), new Vector2(50, 0) };\n" +"polygon.AddOutline(outline);\n" +"polygon.MakePolygonsFromOutlines();\n" +"GetNode<NavigationRegion2D>(\"NavigationRegion2D\").NavigationPolygon = " +"polygon;\n" +"[/csharp]\n" +"[/codeblocks]\n" +"Using [method add_polygon] and indices of the vertices array.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var polygon = NavigationPolygon.new()\n" +"var vertices = PackedVector2Array([Vector2(0, 0), Vector2(0, 50), " +"Vector2(50, 50), Vector2(50, 0)])\n" +"polygon.vertices = vertices\n" +"var indices = PackedInt32Array([0, 1, 2, 3])\n" +"polygon.add_polygon(indices)\n" +"$NavigationRegion2D.navigation_polygon = polygon\n" +"[/gdscript]\n" +"[csharp]\n" +"var polygon = new NavigationPolygon();\n" +"var vertices = new Vector2[] { new Vector2(0, 0), new Vector2(0, 50), new " +"Vector2(50, 50), new Vector2(50, 0) };\n" +"polygon.Vertices = vertices;\n" +"var indices = new int[] { 0, 1, 2, 3 };\n" +"polygon.AddPolygon(indices);\n" +"GetNode<NavigationRegion2D>(\"NavigationRegion2D\").NavigationPolygon = " +"polygon;\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"创建多边形有两种方法。通过使用 [method add_outline] 方法,或使用 [method " +"add_polygon] 方法。\n" +"使用 [method add_outline] 方法:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var polygon = NavigationPolygon.new()\n" +"var outline = PackedVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, " +"50), Vector2(50, 0)])\n" +"polygon.add_outline(outline)\n" +"polygon.make_polygons_from_outlines()\n" +"$NavigationRegion2D.navigation_polygon = polygon\n" +"[/gdscript]\n" +"[csharp]\n" +"var polygon = new NavigationPolygon();\n" +"var outline = new Vector2[] { new Vector2(0, 0), new Vector2(0, 50), new " +"Vector2(50, 50), new Vector2(50, 0) };\n" +"polygon.AddOutline(outline);\n" +"polygon.MakePolygonsFromOutlines();\n" +"GetNode<NavigationRegion2D>(\"NavigationRegion2D\").NavigationPolygon = " +"polygon;\n" +"[/csharp]\n" +"[/codeblocks]\n" +"使用 [method add_polygon] 和顶点数组的索引。\n" +"[codeblocks]\n" +"[gdscript]\n" +"var polygon = NavigationPolygon.new()\n" +"var vertices = PackedVector2Array([Vector2(0, 0), Vector2(0, 50), " +"Vector2(50, 50), Vector2(50, 0)])\n" +"polygon.vertices = vertices\n" +"var indices = PackedInt32Array([0, 1, 2, 3])\n" +"polygon.add_polygon(indices)\n" +"$NavigationRegion2D.navigation_polygon = polygon\n" +"[/gdscript]\n" +"[csharp]\n" +"var polygon = new NavigationPolygon();\n" +"var vertices = new Vector2[] { new Vector2(0, 0), new Vector2(0, 50), new " +"Vector2(50, 50), new Vector2(50, 0) };\n" +"polygon.Vertices = vertices;\n" +"var indices = new int[] { 0, 1, 2, 3 };\n" +"polygon.AddPolygon(indices);\n" +"GetNode<NavigationRegion2D>(\"NavigationRegion2D\").NavigationPolygon = " +"polygon;\n" +"[/csharp]\n" +"[/codeblocks]" + msgid "2D Navigation Demo" msgstr "2D 导航演示" @@ -40563,6 +46619,11 @@ msgstr "返回在编辑器或脚本中创建的轮廓的数量。" msgid "Returns the count of all polygons." msgstr "返回多边形的数量。" +msgid "" +"Returns a [PackedVector2Array] containing all the vertices being used to " +"create the polygons." +msgstr "返回一个 [PackedVector2Array],其中包含用于创建多边形的所有顶点。" + msgid "Creates polygons from the outlines added in the editor or by script." msgstr "从编辑器或脚本中添加的轮廓创建多边形。" @@ -40583,15 +46644,132 @@ msgstr "" msgid "A region of the 2D navigation map." msgstr "2D 导航地图上的一个地区。" +msgid "" +"A region of the navigation map. It tells the [NavigationServer2D] what can " +"be navigated and what cannot, based on its [NavigationPolygon] resource.\n" +"Two regions can be connected to each other if they share a similar edge. You " +"can set the minimum distance between two vertices required to connect two " +"edges by using [method NavigationServer2D.map_set_edge_connection_margin].\n" +"[b]Note:[/b] Overlapping two regions' navigation polygons is not enough for " +"connecting two regions. They must share a similar edge.\n" +"The pathfinding cost of entering this region from another region can be " +"controlled with the [member enter_cost] value.\n" +"[b]Note:[/b] This value is not added to the path cost when the start " +"position is already inside this region.\n" +"The pathfinding cost of traveling distances inside this region can be " +"controlled with the [member travel_cost] multiplier.\n" +"[b]Note:[/b] This node caches changes to its properties, so if you make " +"changes to the underlying region [RID] in [NavigationServer2D], they will " +"not be reflected in this node's properties." +msgstr "" +"导航地图的一个区块。它根据其 [NavigationPolygon] 资源告诉 " +"[NavigationServer2D] 哪些可以进行导航、哪些不能。\n" +"如果两个区块共享相似的边,则它们可以相互连接。可以使用 [method " +"NavigationServer2D.map_set_edge_connection_margin] 设置连接两条边所需的两个顶" +"点之间的最小距离。\n" +"[b]注意:[/b]重叠两个区块的导航多边形不足以连接两个区块。它们必须共享一个相似" +"的边。\n" +"从另一个区块进入该区块的寻路成本可以通过 [member enter_cost] 值来控制。\n" +"[b]注意:[/b]当起始位置已经在该区块内时,该值不会被添加到路径成本中。\n" +"在该区块内行进距离的寻路成本可以使用 [member travel_cost] 乘数控制。\n" +"[b]注意:[/b]该节点缓存对其属性的更改,因此如果对 [NavigationServer2D] 中的基" +"础区块 [RID] 进行更改,它们将不会反映在该节点的属性中。" + msgid "Using NavigationRegions" msgstr "使用 NavigationRegion" +msgid "" +"Returns the [RID] of this region on the [NavigationServer2D]. Combined with " +"[method NavigationServer2D.map_get_closest_point_owner] can be used to " +"identify the [NavigationRegion2D] closest to a point on the merged " +"navigation map." +msgstr "" +"返回 [NavigationServer2D] 上该区块的 [RID]。结合 [method NavigationServer2D." +"map_get_closest_point_owner] 可用于识别合并导航地图上离某点最近的 " +"[NavigationRegion2D]。" + +msgid "Determines if the [NavigationRegion2D] is enabled or disabled." +msgstr "决定该 [NavigationRegion2D] 是启用还是禁用。" + +msgid "" +"When pathfinding enters this region's navigation mesh from another regions " +"navigation mesh the [code]enter_cost[/code] value is added to the path " +"distance for determining the shortest path." +msgstr "" +"当寻路从另一个区块的导航网格进入该区块的导航网格时,[code]enter_cost[/code] " +"值将被加到路径距离,以确定最短路径。" + +msgid "" +"A bitfield determining all navigation layers the region belongs to. These " +"navigation layers can be checked upon when requesting a path with [method " +"NavigationServer2D.map_get_path]." +msgstr "" +"确定该区块所属的所有导航层的位字段。当使用 [method NavigationServer2D." +"map_get_path] 请求一个路径时,可以检查这些导航层。" + msgid "The [NavigationPolygon] resource to use." msgstr "使用的 [NavigationPolygon] 资源。" +msgid "" +"When pathfinding moves inside this region's navigation mesh the traveled " +"distances are multiplied with [code]travel_cost[/code] for determining the " +"shortest path." +msgstr "" +"当寻路在该区块的导航网格内移动时,将行进距离乘以 [code]travel_cost[/code] 以" +"确定最短路径。" + msgid "A region of the navigation map." msgstr "导航地图上的地区。" +msgid "" +"A region of the navigation map. It tells the [NavigationServer3D] what can " +"be navigated and what cannot, based on its [NavigationMesh] resource.\n" +"Two regions can be connected to each other if they share a similar edge. You " +"can set the minimum distance between two vertices required to connect two " +"edges by using [method NavigationServer3D.map_set_edge_connection_margin].\n" +"[b]Note:[/b] Overlapping two regions' navigation meshes is not enough for " +"connecting two regions. They must share a similar edge.\n" +"The cost of entering this region from another region can be controlled with " +"the [member enter_cost] value.\n" +"[b]Note:[/b] This value is not added to the path cost when the start " +"position is already inside this region.\n" +"The cost of traveling distances inside this region can be controlled with " +"the [member travel_cost] multiplier.\n" +"[b]Note:[/b] This node caches changes to its properties, so if you make " +"changes to the underlying region [RID] in [NavigationServer3D], they will " +"not be reflected in this node's properties." +msgstr "" +"导航地图的一个区块。它根据其 [NavigationMesh] 资源告诉 [NavigationServer3D] " +"哪些可以进行导航、哪些不能。\n" +"如果两个区块共享相似的边,则它们可以相互连接。可以使用 [method " +"NavigationServer3D.map_set_edge_connection_margin] 设置连接两条边所需的两个顶" +"点之间的最小距离。\n" +"[b]注意:[/b]重叠两个区块的导航网格不足以连接两个区块。它们必须共享一个相似的" +"边。\n" +"从另一个区块进入该区块的成本可以通过 [member enter_cost] 值来控制。\n" +"[b]注意:[/b]当起始位置已经在该区块内时,该值不会被添加到路径成本中。\n" +"在该区块内行进距离的成本可以使用 [member travel_cost] 乘数控制。\n" +"[b]注意:[/b]该节点缓存对其属性的更改,因此如果对 [NavigationServer3D] 中的基" +"础区块 [RID] 进行更改,它们将不会反映在该节点的属性中。" + +msgid "" +"Bakes the [NavigationMesh]. If [param on_thread] is set to [code]true[/code] " +"(default), the baking is done on a separate thread. Baking on separate " +"thread is useful because navigation baking is not a cheap operation. When it " +"is completed, it automatically sets the new [NavigationMesh]. Please note " +"that baking on separate thread may be very slow if geometry is parsed from " +"meshes as async access to each mesh involves heavy synchronization. Also, " +"please note that baking on a separate thread is automatically disabled on " +"operating systems that cannot use threads (such as Web with threads " +"disabled)." +msgstr "" +"烘焙该 [NavigationMesh]。如果 [param on_thread] 被设置为 [code]true[/code]" +"(默认),则该烘焙将在单独的线程上完成。独立线程烘焙很有用,因为导航烘焙不是" +"一项廉价的操作。完成后,它会自动设置新的 [NavigationMesh]。请注意,如果几何体" +"是从网格解析而来的,则独立线程烘焙可能会非常慢,因为对每个网格的异步访问会涉" +"及大量同步操作。另外,请注意在无法使用线程的操作系统(例如禁用线程的 Web)" +"上,会自动禁用独立线程烘焙。" + msgid "The [NavigationMesh] resource to use." msgstr "使用的 [NavigationMesh] 资源。" @@ -40610,6 +46788,24 @@ msgstr "使用 NavigationServer" msgid "Creates the agent." msgstr "创建代理。" +msgid "Returns true if the map got changed the previous frame." +msgstr "如果该地图在上一帧发生了改变,则返回 true。" + +msgid "" +"Sets the callback that gets called after each avoidance processing step for " +"the [param agent]. The calculated [code]safe_velocity[/code] will be passed " +"as the first parameter just before the physics calculations.\n" +"[b]Note:[/b] Created callbacks are always processed independently of the " +"SceneTree state as long as the agent is on a navigation map and not freed. " +"To disable the dispatch of a callback from an agent use [method " +"agent_set_callback] again with an empty [Callable]." +msgstr "" +"设置在 [param agent] 的每个避障处理步骤之后调用的回调。计算出的 " +"[code]safe_velocity[/code] 将在物理计算之前作为第一个参数传递。\n" +"[b]注意:[/b]只要代理还在导航地图上且未被释放,创建的回调就会始终独立于 " +"SceneTree 状态进行处理。要从某个代理禁用某个回调的分发,请再次使用一个空的 " +"[Callable] 来调用 [method agent_set_callback]。" + msgid "Puts the agent in the map." msgstr "将代理放入地图中。" @@ -40658,6 +46854,9 @@ msgstr "设置该代理的当前速度。" msgid "Destroys the given RID." msgstr "销毁给定的 RID。" +msgid "Returns [code]true[/code] when the NavigationServer has debug enabled." +msgstr "如果该 NavigationServer 启用了调试,则返回 [code]true[/code]。" + msgid "" "Returns all created navigation map [RID]s on the NavigationServer. This " "returns both 2D and 3D created navigation maps as there is technically no " @@ -40675,24 +46874,91 @@ msgstr "返回该 [code]link[/code] 的结束位置。" msgid "Returns the enter cost of this [param link]." msgstr "返回 [param link] 链接的进入消耗。" +msgid "Returns the navigation layers for this [code]link[/code]." +msgstr "返回 [code]link[/code] 的导航层。" + +msgid "" +"Returns the [code]ObjectID[/code] of the object which manages this link." +msgstr "返回管理该链接的对象的 [code]ObjectID[/code]。" + 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 "" +"Returns whether this [code]link[/code] can be travelled in both directions." +msgstr "返回该 [code]link[/code] 是否能够双向通行。" + +msgid "" +"Sets whether this [code]link[/code] can be travelled in both directions." +msgstr "设置该 [code]link[/code] 是否能够双向通行。" + msgid "Sets the exit position for the [code]link[/code]." msgstr "设置 [code]link[/code] 的出口位置。" +msgid "Sets the [code]enter_cost[/code] for this [code]link[/code]." +msgstr "设置 [code]link[/code] 的进入消耗 [code]enter_cost[/code]。" + msgid "Sets the navigation map [RID] for the link." msgstr "设置该链接的导航地图 [RID]。" +msgid "Set the [code]ObjectID[/code] of the object which manages this link." +msgstr "设置管理该链接的对象的 [code]ObjectID[/code]。" + msgid "Sets the entry position for this [code]link[/code]." msgstr "设置 [code]link[/code] 的入口位置。" +msgid "Sets the [code]travel_cost[/code] for this [code]link[/code]." +msgstr "设置 [code]link[/code] 的移动消耗 [code]travel_cost[/code]。" + msgid "Create a new map." msgstr "创建一张新地图。" +msgid "" +"This function immediately forces synchronization of the specified navigation " +"[param map] [RID]. By default navigation maps are only synchronized at the " +"end of each physics frame. This function can be used to immediately " +"(re)calculate all the navigation meshes and region connections of the " +"navigation map. This makes it possible to query a navigation path for a " +"changed map immediately and in the same frame (multiple times if needed).\n" +"Due to technical restrictions the current NavigationServer command queue " +"will be flushed. This means all already queued update commands for this " +"physics frame will be executed, even those intended for other maps, regions " +"and agents not part of the specified map. The expensive computation of the " +"navigation meshes and region connections of a map will only be done for the " +"specified map. Other maps will receive the normal synchronization at the end " +"of the physics frame. Should the specified map receive changes after the " +"forced update it will update again as well when the other maps receive their " +"update.\n" +"Avoidance processing and dispatch of the [code]safe_velocity[/code] signals " +"is untouched by this function and continues to happen for all maps and " +"agents at the end of the physics frame.\n" +"[b]Note:[/b] With great power comes great responsibility. This function " +"should only be used by users that really know what they are doing and have a " +"good reason for it. Forcing an immediate update of a navigation map requires " +"locking the NavigationServer and flushing the entire NavigationServer " +"command queue. Not only can this severely impact the performance of a game " +"but it can also introduce bugs if used inappropriately without much " +"foresight." +msgstr "" +"该函数将立即强制指定的导航 [param map] [RID] 的同步。默认情况下,导航地图仅在" +"每个物理帧结束时同步。该函数可用于立即(重新)计算该导航地图的所有导航网格和" +"区块连接。这使得可以在同一帧中对修改后的地图的导航路径立即执行查询(如果需" +"要,可以执行多次)。\n" +"由于技术上的限制,当前的 NavigationServer 命令队列将被冲刷。这意味着所有已在" +"当前物理帧中入队的更新命令都会被执行,即使是那些用于其他地图、不属于指定地图" +"的区块和代理的更新命令。 昂贵计算的导航网格和地图的区块连接将仅针对指定地图进" +"行。其他地图将在物理帧结束时接收正常同步。如果指定的地图在强制更新后又收到了" +"修改,则它将在其他地图收到更新时再次更新。\n" +"避障处理和 [code]safe_velocity[/code] 信号的分发不受该函数影响,仍继续发生在" +"物理帧结束时的所有地图和代理上。\n" +"[b]注意:[/b]能力越大,责任越大。该函数仅该用于用户真正知道自己在做什么并且有" +"充分理由的情况。强制立即更新导航地图需要锁定 NavigationServer 并冲刷整个 " +"NavigationServer 命令队列。这不仅会严重影响游戏的性能,而且如果缺乏远见且使用" +"不当,还会引入 bug。" + msgid "Returns the map cell size." msgstr "返回地图的单元格大小。" @@ -40706,6 +46972,9 @@ msgid "" "a distance used to connect two regions." msgstr "返回地图的边界连接边距。边界连接边距是用于连接两个地区的距离。" +msgid "Returns true if the map is active." +msgstr "如果地图处于活动状态,则返回 true。" + msgid "Sets the map active." msgstr "设置地图的激活态。" @@ -40725,9 +46994,38 @@ msgstr "返回 [param region] 地区的进入消耗。" msgid "Returns the region's navigation layers." msgstr "返回该地区的导航层。" +msgid "" +"Returns the [code]ObjectID[/code] of the object which manages this region." +msgstr "返回管理该地区对象的 [code]ObjectID[/code]。" + msgid "Returns the travel cost of this [param region]." msgstr "返回 [param region] 地区的移动消耗。" +msgid "" +"Returns [code]true[/code] if the provided [param point] in world space is " +"currently owned by the provided navigation [param region]. Owned in this " +"context means that one of the region's navigation mesh polygon faces has a " +"possible position at the closest distance to this point compared to all " +"other navigation meshes from other navigation regions that are also " +"registered on the navigation map of the provided region.\n" +"If multiple navigation meshes have positions at equal distance the " +"navigation region whose polygons are processed first wins the ownership. " +"Polygons are processed in the same order that navigation regions were " +"registered on the NavigationServer.\n" +"[b]Note:[/b] If navigation meshes from different navigation regions overlap " +"(which should be avoided in general) the result might not be what is " +"expected." +msgstr "" +"如果提供的世界空间中的 [param point] 当前由提供的导航区块 [param region] 拥" +"有,则返回 [code]true[/code]。在这里的上下文中,“拥有”意味着与来自其他导航区" +"块的所有其他导航网格相比,该区块的导航网格多边形面中有一个距离该点最近的可能" +"位置,这些其他导航区块也已在提供的区块的导航地图上注册。\n" +"如果有多个导航网格存在符合条件的位置并且距离相等,那么其多边形先被处理的导航" +"区块将赢得所有权。多边形的处理顺序与导航区块在 NavigationServer 上的注册顺序" +"一致。\n" +"[b]注意:[/b]如果来自不同导航区块的导航网格存在重叠(通常应当避免),可能会得" +"到预料之外的结果。" + msgid "Sets the [param enter_cost] for this [param region]." msgstr "设置 [param region] 地区的进入消耗 [param enter_cost]。" @@ -40744,12 +47042,18 @@ msgstr "" msgid "Sets the [param navigation_polygon] for the region." msgstr "设置该地区的导航多边形 [param navigation_polygon]。" +msgid "Set the [code]ObjectID[/code] of the object which manages this region." +msgstr "设置管理该地区对象的 [code]ObjectID[/code]。" + msgid "Sets the global transformation for the region." msgstr "设置该地区的全局变换。" msgid "Sets the [param travel_cost] for this [param region]." msgstr "设置 [param region] 地区的移动消耗 [param travel_cost]。" +msgid "If [code]true[/code] enables debug mode on the NavigationServer." +msgstr "如果为 [code]true[/code],则该 NavigationServer 启用了调试模式。" + msgid "" "Emitted when a navigation map is updated, when a region moves or is modified." msgstr "当导航地图更新时、地区移动或被修改时发出。" @@ -40826,6 +47130,14 @@ msgstr "" "板。为了做到这一点,它将纹理分割成 3×3 的网格。当你缩放节点时,它在水平或垂直" "方向上平铺纹理的两侧,在两个轴上平铺中心,但它不会缩放或平铺角部。" +msgid "Returns the size of the margin on the specified [enum Side]." +msgstr "返回指定 [enum Side] 的边距大小。" + +msgid "" +"Sets the size of the margin on the specified [enum Side] to [param value] " +"pixels." +msgstr "将给定 [enum Side] 的边距大小设置为 [param value] 像素。" + msgid "" "The stretch mode to use for horizontal stretching/tiling. See [enum " "NinePatchRect.AxisStretchMode] for possible values." @@ -40898,6 +47210,25 @@ msgid "" "texture to be distorted." msgstr "在 NinePatchRect 上拉伸中心纹理。这可能会导致纹理失真。" +msgid "" +"Repeats the center texture across the NinePatchRect. This won't cause any " +"visible distortion. The texture must be seamless for this to work without " +"displaying artifacts between edges." +msgstr "" +"在 NinePatchRect 上重复中心纹理。这不会导致任何可见的失真。 纹理必须是无缝" +"的,这样才能在边缘之间不显示伪影。" + +msgid "" +"Repeats the center texture across the NinePatchRect, but will also stretch " +"the texture to make sure each tile is visible in full. This may cause the " +"texture to be distorted, but less than [constant AXIS_STRETCH_MODE_STRETCH]. " +"The texture must be seamless for this to work without displaying artifacts " +"between edges." +msgstr "" +"在 NinePatchRect 上重复中心纹理,但也会拉伸纹理以确保每个图块都完整可见。这可" +"能会导致纹理扭曲,但少于 [constant AXIS_STRETCH_MODE_STRETCH]。纹理必须是无缝" +"的,这样才能在边缘之间不显示伪影。" + msgid "Base class for all [i]scene[/i] objects." msgstr "所有[i]场景[/i]对象的基类。" @@ -41069,26 +47400,375 @@ msgstr "" "[b]注意:[/b]仅当该节点存在于场景树中时(即不是孤立节点),此方法才会被调用。" msgid "" -"Creates a new [Tween] and binds it to this node. This is equivalent of " -"doing:\n" +"Called during the physics processing step of the main loop. Physics " +"processing means that the frame rate is synced to the physics, i.e. the " +"[param delta] variable should be constant. [param delta] is in seconds.\n" +"It is only called if physics processing is enabled, which is done " +"automatically if this method is overridden, and can be toggled with [method " +"set_physics_process].\n" +"Corresponds to the [constant NOTIFICATION_PHYSICS_PROCESS] notification in " +"[method Object._notification].\n" +"[b]Note:[/b] This method is only called if the node is present in the scene " +"tree (i.e. if it's not an orphan)." +msgstr "" +"在主循环的物理处理步骤中被调用。物理处理意味着帧率与物理同步,即 [param " +"delta] 变量应该是常量。 [param delta] 的单位是秒。\n" +"只有当物理处理被启用时才会被调用,如果这个方法被重写,就会自动被调用,并且可" +"以使用 [method set_physics_process] 进行切换。\n" +"对应于 [method Object._notification] 中的 [constant " +"NOTIFICATION_PHYSICS_PROCESS] 通知。\n" +"[b]注意:[/b]这个方法只有在当节点存在于场景树中时才会被调用(也就是说,如果它" +"不是“孤儿”)。" + +msgid "" +"Called during the processing step of the main loop. Processing happens at " +"every frame and as fast as possible, so the [param delta] time since the " +"previous frame is not constant. [param delta] is in seconds.\n" +"It is only called if processing is enabled, which is done automatically if " +"this method is overridden, and can be toggled with [method set_process].\n" +"Corresponds to the [constant NOTIFICATION_PROCESS] notification in [method " +"Object._notification].\n" +"[b]Note:[/b] This method is only called if the node is present in the scene " +"tree (i.e. if it's not an orphan)." +msgstr "" +"在主循环的处理步骤中被调用。处理发生在每一帧,并且尽可能快,所以从上一帧开始" +"的 [param delta] 时间不是恒定的。[param delta] 的单位是秒。\n" +"只有在启用处理的情况下才会被调用,如果这个方法被重写,会自动进行处理,可以用 " +"[method set_process] 来开关。\n" +"对应于 [method Object._notification] 中的 [constant NOTIFICATION_PROCESS] 通" +"知。\n" +"[b]注意:[/b] 这个方法只有在节点存在于场景树中时才会被调用(也就是说,如果它" +"不是“孤儿”)。" + +msgid "" +"Called when the node is \"ready\", i.e. when both the node and its children " +"have entered the scene tree. If the node has children, their [method _ready] " +"callbacks get triggered first, and the parent node will receive the ready " +"notification afterwards.\n" +"Corresponds to the [constant NOTIFICATION_READY] notification in [method " +"Object._notification]. See also the [code]@onready[/code] annotation for " +"variables.\n" +"Usually used for initialization. For even earlier initialization, [method " +"Object._init] may be used. See also [method _enter_tree].\n" +"[b]Note:[/b] [method _ready] may be called only once for each node. After " +"removing a node from the scene tree and adding it again, [code]_ready[/code] " +"will not be called a second time. This can be bypassed by requesting another " +"call with [method request_ready], which may be called anywhere before adding " +"the node again." +msgstr "" +"当节点“就绪”时被调用,即当节点及其子节点都已经进入场景树时。如果该节点有子节" +"点,将首先触发子节点的 [method _ready] 回调,稍后父节点将收到就绪通知。\n" +"对应 [method Object._notification] 中的 [constant NOTIFICATION_READY] 通知。" +"另请参阅用于变量的 [code]@onready[/code] 注解。\n" +"通常用于初始化。对于更早的初始化,可以使用 [method Object._init]。另见 " +"[method _enter_tree]。\n" +"[b]注意:[/b] 对于每个节点可能仅调用一次 [method_ready]。从场景树中移除一个节" +"点后,并再次添加该节点时,将不会第二次调用 [code]_ready[/code]。这时可以通过" +"使用 [method request_ready],它可以在再次添加节点之前的任何地方被调用。" + +msgid "" +"Called when an [InputEventKey] or [InputEventShortcut] hasn't been consumed " +"by [method _input] or any GUI [Control] item. The input event propagates up " +"through the node tree until a node consumes it.\n" +"It is only called if shortcut processing is enabled, which is done " +"automatically if this method is overridden, and can be toggled with [method " +"set_process_shortcut_input].\n" +"To consume the input event and stop it propagating further to other nodes, " +"[method Viewport.set_input_as_handled] can be called.\n" +"This method can be used to handle shortcuts.\n" +"[b]Note:[/b] This method is only called if the node is present in the scene " +"tree (i.e. if it's not orphan)." +msgstr "" +"当一个 [InputEventKey] 或 [InputEventShortcut],尚未被 [method _input] 或任" +"何 GUI [Control] 项使用时调用。输入事件通过节点树向上传播,直到一个节点消耗" +"它。\n" +"它仅在启用快捷键处理时调用,如果此方法被覆盖,则会自动调用,并且可以使用 " +"[method set_process_shortcut_input] 进行开关。\n" +"要消耗输入事件,并阻止它进一步传播到其他节点,可以调用 [method Viewport." +"set_input_as_handled]。\n" +"此方法可用于处理快捷键。\n" +"[b]注意:[/b] 仅当该节点存在于场景树中(即它不是一个孤儿节点)时,此方法才会" +"被调用。" + +msgid "" +"Called when an [InputEventKey] hasn't been consumed by [method _input] or " +"any GUI [Control] item. The input event propagates up through the node tree " +"until a node consumes it.\n" +"It is only called if unhandled key input processing is enabled, which is " +"done automatically if this method is overridden, and can be toggled with " +"[method set_process_unhandled_key_input].\n" +"To consume the input event and stop it propagating further to other nodes, " +"[method Viewport.set_input_as_handled] can be called.\n" +"This method can be used to handle Unicode character input with [kbd]Alt[/" +"kbd], [kbd]Alt + Ctrl[/kbd], and [kbd]Alt + Shift[/kbd] modifiers, after " +"shortcuts were handled.\n" +"For gameplay input, this and [method _unhandled_input] are usually a better " +"fit than [method _input] as they allow the GUI to intercept the events " +"first.\n" +"This method also performs better than [method _unhandled_input], since " +"unrelated events such as [InputEventMouseMotion] are automatically " +"filtered.\n" +"[b]Note:[/b] This method is only called if the node is present in the scene " +"tree (i.e. if it's not an orphan)." +msgstr "" +"当 [InputEventKey] 没有被 [method _input] 或任何 GUI [Control] 项目消耗时被调" +"用。输入事件通过节点树向上传播,直到一个节点消耗它。\n" +"只有在启用了未处理的键输入处理时才会被调用,如果这个方法被重写,它就会自动完" +"成,并且可以用 [method set_process_unhandled_key_input] 来切换。\n" +"要消耗输入事件并阻止它进一步传播到其他节点,可以调用 [method Viewport." +"set_input_as_handled]。\n" +"在处理快捷键后,此方法可用于使用 [kbd]Alt[/kbd]、[kbd]Alt + Ctrl[/kbd] 和 " +"[kbd]Alt + Shift[/kbd] 修饰符处理 Unicode 字符输入。\n" +"对于游戏输入,这和 [method _unhandled_input] 通常比 [method _input] 更适合," +"因为它们允许 GUI 首先拦截事件。\n" +"该方法也比 [method _unhandled_input] 执行得更好,因为 " +"[InputEventMouseMotion] 等无关事件会被自动过滤。\n" +"[b]注意:[/b]只有当节点存在于场景树中时(即,如果它不是孤儿节点),该方法才会" +"被调用。" + +msgid "" +"Adds a child [param node]. Nodes can have any number of children, but every " +"child must have a unique name. Child nodes are automatically deleted when " +"the parent node is deleted, so an entire scene can be removed by deleting " +"its topmost node.\n" +"If [param force_readable_name] is [code]true[/code], improves the " +"readability of the added [param node]. If not named, the [param node] is " +"renamed to its type, and if it shares [member name] with a sibling, a number " +"is suffixed more appropriately. This operation is very slow. As such, it is " +"recommended leaving this to [code]false[/code], which assigns a dummy name " +"featuring [code]@[/code] in both situations.\n" +"If [param internal] is different than [constant INTERNAL_MODE_DISABLED], the " +"child will be added as internal node. Such nodes are ignored by methods like " +"[method get_children], unless their parameter [code]include_internal[/code] " +"is [code]true[/code].The intended usage is to hide the internal nodes from " +"the user, so the user won't accidentally delete or modify them. Used by some " +"GUI nodes, e.g. [ColorPicker]. See [enum InternalMode] for available modes.\n" +"[b]Note:[/b] If the child node already has a parent, the function will fail. " +"Use [method remove_child] first to remove the node from its current parent. " +"For example:\n" "[codeblocks]\n" "[gdscript]\n" -"get_tree().create_tween().bind_node(self)\n" +"var child_node = get_child(0)\n" +"if child_node.get_parent():\n" +" child_node.get_parent().remove_child(child_node)\n" +"add_child(child_node)\n" "[/gdscript]\n" "[csharp]\n" -"GetTree().CreateTween().BindNode(this);\n" +"Node childNode = GetChild(0);\n" +"if (childNode.GetParent() != null)\n" +"{\n" +" childNode.GetParent().RemoveChild(childNode);\n" +"}\n" +"AddChild(childNode);\n" "[/csharp]\n" -"[/codeblocks]" +"[/codeblocks]\n" +"If you need the child node to be added below a specific node in the list of " +"children, use [method add_sibling] instead of this method.\n" +"[b]Note:[/b] If you want a child to be persisted to a [PackedScene], you " +"must set [member owner] in addition to calling [method add_child]. This is " +"typically relevant for [url=$DOCS_URL/tutorials/plugins/" +"running_code_in_the_editor.html]tool scripts[/url] and [url=$DOCS_URL/" +"tutorials/plugins/editor/index.html]editor plugins[/url]. If [method " +"add_child] is called without setting [member owner], the newly added [Node] " +"will not be visible in the scene tree, though it will be visible in the " +"2D/3D view." msgstr "" -"新建 [Tween] 并将其绑定到这个节点。与如下操作等价:\n" +"添加一个子节点 [param node]。节点可以有任意数量的子节点,但每个子节点必须有一" +"个唯一的名字。删除父节点时会自动删除子节点,因此可以通过删除最顶层的节点来删" +"除整个场景。\n" +"如果 [param force_readable_name] 为 [code]true[/code],则将提高所添加的 " +"[param node] 的可读性。如果尚未命名,[param node] 将重命名为它的类型,如果它" +"与兄弟共享 [member name],则使用更合适的数字后缀。这个操作很慢。因此,建议将" +"其保留为 [code]false[/code],在这两种情况下,这会分配一个以 [code]@[/code] 为" +"特色的虚拟名称。\n" +"如果 [param internal] 不同于 [constant INTERNAL_MODE_DISABLED],则子节点将被" +"添加为内部节点。该类节点会被 [method get_children] 等方法忽略,除非它们的参" +"数 [code]include_internal[/code] 为 [code]true[/code]。预期用途是对用户隐藏内" +"部节点,这样用户就不会意外删除或修改它们。由一些 GUI 节点使用,例如 " +"[ColorPicker]。有关可用模式,请参阅 [enum InternalMode]。\n" +"[b]注意:[/b]如果子节点已经有一个父节点,该函数将失败。需要首先使用 [method " +"remove_child] 将节点从其当前父节点中移除。 例如:\n" "[codeblocks]\n" "[gdscript]\n" -"get_tree().create_tween().bind_node(self)\n" +"var child_node = get_child(0)\n" +"if child_node.get_parent():\n" +" child_node.get_parent().remove_child(child_node)\n" +"add_child(child_node)\n" "[/gdscript]\n" "[csharp]\n" -"GetTree().CreateTween().BindNode(this);\n" +"Node childNode = GetChild(0);\n" +"if (childNode.GetParent() != null)\n" +"{\n" +" childNode.GetParent().RemoveChild(childNode);\n" +"}\n" +"AddChild(childNode);\n" "[/csharp]\n" -"[/codeblocks]" +"[/codeblocks]\n" +"如果您需要将子节点添加到子节点列表中特定节点的下方,请使用 [method " +"add_sibling] 而不是该方法。\n" +"[b]注意:[/b]如果想让一个子节点持久化到一个 [PackedScene],除了调用 [method " +"add_child] 外,还必须设置 [member owner] 。这通常在[url=$DOCS_URL/tutorials/" +"plugins/running_code_in_the_editor.html]工具脚本[/url]和[url=$DOCS_URL/" +"tutorials/plugins/editor/index.html]编辑器插件[/url]中会用到。如果在没有设置 " +"[member owner] 的情况下调用 [method add_child],则新添加的 [Node] 在场景树中" +"将不可见,但在 2D/3D 视图中却是可见的。" + +msgid "" +"Adds the node to a group. Groups are helpers to name and organize a subset " +"of nodes, for example \"enemies\" or \"collectables\". A node can be in any " +"number of groups. Nodes can be assigned a group at any time, but will not be " +"added until they are inside the scene tree (see [method is_inside_tree]). " +"See notes in the description, and the group methods in [SceneTree].\n" +"The [param persistent] option is used when packing node to [PackedScene] and " +"saving to file. Non-persistent groups aren't stored.\n" +"[b]Note:[/b] For performance reasons, the order of node groups is [i]not[/i] " +"guaranteed. The order of node groups should not be relied upon as it can " +"vary across project runs." +msgstr "" +"将节点添加到一个组中。组是命名和组织节点子集的辅助工具,例如“敌人”或“收集" +"品”等。一个节点可以在任意数量的组中。节点可以随时被分配到一个组中,但在它们进" +"入场景树之前不会添加(参见 [method is_inside_tree])。参阅描述中的注释,以及 " +"[SceneTree] 中的分组方法。\n" +"[param persistent] 选项在将节点打包到 [PackedScene] 并保存到文件时使用。非持" +"久化的组不会被存储。\n" +"[b]注意:[/b]出于性能原因,[i]不[/i]保证节点组的顺序。不应依赖节点组的顺序," +"因为它可能因项目运行而异。" + +msgid "" +"Duplicates the node, returning a new node.\n" +"You can fine-tune the behavior using the [param flags] (see [enum " +"DuplicateFlags]).\n" +"[b]Note:[/b] It will not work properly if the node contains a script with " +"constructor arguments (i.e. needs to supply arguments to [method Object." +"_init] method). In that case, the node will be duplicated without a script." +msgstr "" +"复制该节点,返回一个新的节点。\n" +"可以使用 [param flags] 微调该行为(请参阅 [enum DuplicateFlags])。\n" +"[b]注意:[/b]如果节点包含一个带有构造参数的脚本(即需要向 [method Object." +"_init] 方法提供参数),它将无法正常工作。在这种情况下,节点将在没有脚本的情况" +"下被复制。" + +msgid "" +"Finds the first descendant of this node whose name matches [param pattern] " +"as in [method String.match].\n" +"[param pattern] does not match against the full path, just against " +"individual node names. It is case-sensitive, with [code]\"*\"[/code] " +"matching zero or more characters and [code]\"?\"[/code] matching any single " +"character except [code]\".\"[/code]).\n" +"If [param recursive] is [code]true[/code], all child nodes are included, " +"even if deeply nested. Nodes are checked in tree order, so this node's first " +"direct child is checked first, then its own direct children, etc., before " +"moving to the second direct child, and so on. If [param recursive] is " +"[code]false[/code], only this node's direct children are matched.\n" +"If [param owned] is [code]true[/code], this method only finds nodes who have " +"an assigned [member Node.owner]. This is especially important for scenes " +"instantiated through a script, because those scenes don't have an owner.\n" +"Returns [code]null[/code] if no matching [Node] is found.\n" +"[b]Note:[/b] As this method walks through all the descendants of the node, " +"it is the slowest way to get a reference to another node. Whenever possible, " +"consider using [method get_node] with unique names instead (see [member " +"unique_name_in_owner]), or caching the node references into variable.\n" +"[b]Note:[/b] To find all descendant nodes matching a pattern or a class " +"type, see [method find_children]." +msgstr "" +"查找此节点的后代中,其名称与 [method String.match] 中的 [param pattern] 匹配" +"的第一个节点。\n" +"[param pattern] 不匹配完整路径,只匹配单个节点名称。它区分大小写," +"[code]\"*\"[/code] 匹配零个或多个字符,[code]\"?\"[/code] 匹配除 [code]\"." +"\"[/code] 之外的任意单个字符。\n" +"如果 [param recursive] 为 [code]true[/code],则查找范围包括所有子节点,即使嵌" +"套很深。节点按树顺序检查,因此首先检查该节点的第一个直接子节点,然后是该直接" +"子节点的直接子节点,等等,然后移动到第二个直接子节点,依此类推。如果 [param " +"recursive] 为 [code]false[/code],则仅匹配该节点的直接子节点。\n" +"如果 [param owned] 为 [code]true[/code],则该方法仅查找分配有 [member Node." +"owner] 的节点。这对于通过脚本实例化的场景尤其重要,因为这些场景没有所有者。\n" +"如果找不到匹配的 [Node],则返回 [code]null[/code]。\n" +"[b]注意:[/b]由于该方法会遍历节点的所有后代,因此它是获取对另一个节点的引用的" +"最慢方法。只要有可能,请考虑改用使用唯一名称的 [method get_node](请参阅 " +"[member unique_name_in_owner]),或将该节点引用缓存到变量中。\n" +"[b]注意:[/b]要查找匹配一个模式或类类型的所有后代节点,请参见 [method " +"find_children]。" + +msgid "" +"Finds descendants of this node whose name matches [param pattern] as in " +"[method String.match], and/or type matches [param type] as in [method Object." +"is_class].\n" +"[param pattern] does not match against the full path, just against " +"individual node names. It is case-sensitive, with [code]\"*\"[/code] " +"matching zero or more characters and [code]\"?\"[/code] matching any single " +"character except [code]\".\"[/code]).\n" +"[param type] will check equality or inheritance, and is case-sensitive. " +"[code]\"Object\"[/code] will match a node whose type is [code]\"Node\"[/" +"code] but not the other way around.\n" +"If [param recursive] is [code]true[/code], all child nodes are included, " +"even if deeply nested. Nodes are checked in tree order, so this node's first " +"direct child is checked first, then its own direct children, etc., before " +"moving to the second direct child, and so on. If [param recursive] is " +"[code]false[/code], only this node's direct children are matched.\n" +"If [param owned] is [code]true[/code], this method only finds nodes who have " +"an assigned [member Node.owner]. This is especially important for scenes " +"instantiated through a script, because those scenes don't have an owner.\n" +"Returns an empty array if no matching nodes are found.\n" +"[b]Note:[/b] As this method walks through all the descendants of the node, " +"it is the slowest way to get references to other nodes. Whenever possible, " +"consider caching the node references into variables.\n" +"[b]Note:[/b] If you only want to find the first descendant node that matches " +"a pattern, see [method find_child]." +msgstr "" +"查找该节点的后代节点,其名称与 [method String.match] 中的 [param pattern] 匹" +"配,和/或类型与 [method Object.is_class] 中的 [param type] 匹配。\n" +"[param pattern] 不匹配完整路径,只匹配单个节点名称。它区分大小写," +"[code]\"*\"[/code] 匹配零个或多个字符,[code]\"?\"[/code] 匹配除 [code]\"." +"\"[/code] 之外的任意单个字符。\n" +"[param type] 将检查相等性或继承关系,并且区分大小写。[code]\"Object\"[/code] " +"会匹配类型为 [code]\"Node\"[/code] 的节点,但反之则不然。\n" +"如果 [param recursive] 为 [code]true[/code],则匹配范围包括所有子节点,即使嵌" +"套很深。节点按树顺序检查,因此首先检查该节点的第一个直接子节点,然后是该直接" +"子节点的直接子节点,等等,然后移动到第二个直接子节点,依此类推。如果 [param " +"recursive] 为 [code]false[/code],则仅匹配该节点的直接子节点。\n" +"如果 [param owned] 为 [code]true[/code],则该方法仅查找分配有 [member Node." +"owner] 的节点。这对于通过脚本实例化的场景尤其重要,因为这些场景没有所有者。\n" +"如果找不到匹配的节点,则返回一个空数组。\n" +"[b]注意:[/b]由于该方法会遍历节点的所有后代,因此它是获取对其他节点的引用的最" +"慢方法。只要有可能,请考虑将节点引用缓存到变量中。\n" +"[b]注意:[/b]如果只想查找匹配模式的第一个后代节点,请参见 [method " +"find_child]。" + +msgid "" +"Finds the first parent of the current node whose name matches [param " +"pattern] as in [method String.match].\n" +"[param pattern] does not match against the full path, just against " +"individual node names. It is case-sensitive, with [code]\"*\"[/code] " +"matching zero or more characters and [code]\"?\"[/code] matching any single " +"character except [code]\".\"[/code]).\n" +"[b]Note:[/b] As this method walks upwards in the scene tree, it can be slow " +"in large, deeply nested scene trees. Whenever possible, consider using " +"[method get_node] with unique names instead (see [member " +"unique_name_in_owner]), or caching the node references into variable." +msgstr "" +"查找当前节点的第一个父节点,其名称与 [method String.match] 中的 [param " +"pattern] 匹配。\n" +"[param pattern] 不匹配完整路径,只匹配单个节点名称。它区分大小写," +"[code]\"*\"[/code] 匹配零个或多个字符,[code]\"?\"[/code] 匹配除 [code]\"." +"\"[/code] 之外的任意单个字符。\n" +"[b]注意:[/b]由于该方法在场景树中向上遍历,因此在大型、深度嵌套的场景树中可能" +"会很慢。只要有可能,请考虑使用具有唯一名称的 [method get_node](请参阅 " +"[member unique_name_in_owner]),或将该节点引用缓存到变量中。" + +msgid "" +"Returns a child node by its index (see [method get_child_count]). This " +"method is often used for iterating all children of a node.\n" +"Negative indices access the children from the last one.\n" +"If [param include_internal] is [code]false[/code], internal children are " +"skipped (see [code]internal[/code] parameter in [method add_child]).\n" +"To access a child node via its name, use [method get_node]." +msgstr "" +"按索引返回一个子节点(见 [method get_child_count])。这个方法经常被用于遍历一" +"个节点的所有子节点。\n" +"负索引将从最后一个开始访问子节点。\n" +"如果 [param include_internal] 为 [code]false[/code],则跳过内部子节点(见 " +"[method add_child] 中的 [code]internal[/code] 参数)。\n" +"要通过名称访问一个子节点,请使用 [method get_node]。" msgid "" "Returns the number of child nodes.\n" @@ -41100,6 +47780,59 @@ msgstr "" "[method add_child] 的 [code]internal[/code] 参数)。" msgid "" +"Returns an array listing the groups that the node is a member of.\n" +"[b]Note:[/b] For performance reasons, the order of node groups is [i]not[/i] " +"guaranteed. The order of node groups should not be relied upon as it can " +"vary across project runs.\n" +"[b]Note:[/b] The engine uses some group names internally (all starting with " +"an underscore). To avoid conflicts with internal groups, do not add custom " +"groups whose name starts with an underscore. To exclude internal groups " +"while looping over [method get_groups], use the following snippet:\n" +"[codeblocks]\n" +"[gdscript]\n" +"# Stores the node's non-internal groups only (as an array of Strings).\n" +"var non_internal_groups = []\n" +"for group in get_groups():\n" +" if not group.begins_with(\"_\"):\n" +" non_internal_groups.push_back(group)\n" +"[/gdscript]\n" +"[csharp]\n" +"// Stores the node's non-internal groups only (as a List of strings).\n" +"List<string> nonInternalGroups = new List<string>();\n" +"foreach (string group in GetGroups())\n" +"{\n" +" if (!group.BeginsWith(\"_\"))\n" +" nonInternalGroups.Add(group);\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"返回一个列出该节点所属的分组的数组。\n" +"[b]注意:[/b]出于性能原因,[i]不[/i]保证节点分组的顺序。 不应依赖节点分组的顺" +"序,因为它可能因项目运行而异。\n" +"[b]注意:[/b]引擎在内部使用了一些分组名称(全部以下划线开头)。为避免与内部分" +"组冲突,请勿添加名称以下划线开头的自定义分组。要在遍历 [method get_groups] 时" +"排除内部分组,请使用以下代码段:\n" +"[codeblocks]\n" +"[gdscript]\n" +"# 仅存储节点的非内部分组(作为一个字符串数组)。\n" +"var non_internal_groups = []\n" +"for group in get_groups():\n" +" if not group.begins_with(\"_\"):\n" +" non_internal_groups.push_back(group)\n" +"[/gdscript]\n" +"[csharp]\n" +"// 仅存储节点的非内部分组(作为一个字符串列表)。\n" +"List<string> nonInternalGroups = new List<string>();\n" +"foreach (string group in GetGroups())\n" +"{\n" +" if (!group.BeginsWith(\"_\"))\n" +" nonInternalGroups.Add(group);\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" "Similar to [method get_node], but does not log an error if [param path] does " "not point to a valid [Node]." msgstr "" @@ -41164,6 +47897,21 @@ msgid "" msgstr "如果给定节点是当前节点的直接或间接子节点,则返回 [code]true[/code]。" msgid "" +"Returns [code]true[/code] if the node is folded (collapsed) in the Scene " +"dock. This method is only intended for use with editor tooling." +msgstr "" +"如果该节点在“场景”面板中被折叠,则返回 [code]true[/code]。该方法仅适用于编辑" +"器工具。" + +msgid "" +"Returns [code]true[/code] if [param node] has editable children enabled " +"relative to this node. This method is only intended for use with editor " +"tooling." +msgstr "" +"如果 [param node] 有与相对于此节点的可编辑子节点,则返回 [code]true[/code]。" +"该方法仅适用于编辑器工具。" + +msgid "" "Returns [code]true[/code] if the given node occurs later in the scene " "hierarchy than the current node." msgstr "" @@ -41229,6 +47977,32 @@ msgstr "" "set_process_unhandled_key_input])。" msgid "" +"Moves a child node to a different index (order) among the other children. " +"Since calls, signals, etc. are performed by tree order, changing the order " +"of children nodes may be useful. If [param to_index] is negative, the index " +"will be counted from the end.\n" +"[b]Note:[/b] Internal children can only be moved within their expected " +"\"internal range\" (see [code]internal[/code] parameter in [method " +"add_child])." +msgstr "" +"在其他子节点中将子节点移动到不同的索引(顺序)。由于调用、信号等是按树顺序执" +"行的,因此更改子节点的顺序可能会很有用。如果 [param to_index] 为负数,索引将" +"从末尾开始计算。\n" +"[b]注意:[/b]内部子节点只能在其期望的“内部范围”内移动(参见 [method " +"add_child] 中的 [code]internal[/code] 参数)。" + +msgid "" +"Prints all orphan nodes (nodes outside the [SceneTree]). Used for " +"debugging.\n" +"[b]Note:[/b] [method print_orphan_nodes] only works in debug builds. When " +"called in a project exported in release mode, [method print_orphan_nodes] " +"will not print anything." +msgstr "" +"输出所有孤立节点([SceneTree] 之外的节点)。用于调试。\n" +"[b]注意:[/b][method print_orphan_nodes] 只在调试版本中有效。在以发布模式导出" +"的项目中调用时,[method print_orphan_nodes] 不会输出任何内容。" + +msgid "" "Prints the tree to stdout. Used mainly for debugging purposes. This version " "displays the path relative to the current node, and is good for copy/pasting " "into the [method get_node] function.\n" @@ -41255,6 +48029,18 @@ msgstr "" "[/codeblock]" msgid "" +"Calls the given method (if present) with the arguments given in [param args] " +"on this node and recursively on all its children. If the [param " +"parent_first] argument is [code]true[/code], the method will be called on " +"the current node first, then on all its children. If [param parent_first] is " +"[code]false[/code], the children will be called first." +msgstr "" +"在该节点上并递归地在其所有子节点上,使用 [param args] 中给出的参数调用给定方" +"法(如果存在)。如果 [param parent_first] 参数为 [code]true[/code],则该方法" +"将首先在当前节点上调用,然后在其所有子节点上调用。如果 [param parent_first] " +"为 [code]false[/code],则子节点上的方法将首先被调用。" + +msgid "" "Notifies the current node and all its children recursively by calling " "[method Object.notification] on all of them." msgstr "" @@ -41272,6 +48058,24 @@ msgstr "" "点(或其后代)的 [member owner] 设置为 [code]null[/code]。" msgid "" +"Replaces a node in a scene by the given one. Subscriptions that pass through " +"this node will be lost.\n" +"If [param keep_groups] is [code]true[/code], the [param node] is added to " +"the same groups that the replaced node is in.\n" +"[b]Note:[/b] The given node will become the new parent of any child nodes " +"that the replaced node had.\n" +"[b]Note:[/b] The replaced node is not automatically freed, so you either " +"need to keep it in a variable for later use or free it using [method Object." +"free]." +msgstr "" +"将场景中的某个节点替换为给定的节点。经过该节点的订阅会丢失。\n" +"如果 [param keep_groups] 为 [code]true[/code],则 [param node] 被添加到被替换" +"节点所在的相同分组中。\n" +"[b]注意:[/b]给定的节点将成为被替换节点的所有子节点的新的父节点。\n" +"[b]注意:[/b]被替换的节点不会被自动释放,因此需要将其保存在变量中以备后用,或" +"者使用 [method Object.free] 释放它。" + +msgid "" "Requests that [code]_ready[/code] be called again. Note that the method " "won't be called immediately, but is scheduled for when the node is added to " "the scene tree again (see [method _ready]). [code]_ready[/code] is called " @@ -41287,6 +48091,32 @@ msgstr "" "同)。" msgid "" +"Sends a remote procedure call request for the given [param method] to peers " +"on the network (and locally), optionally sending all additional arguments as " +"arguments to the method called by the RPC. The call request will only be " +"received by nodes with the same [NodePath], including the exact same node " +"name. Behavior depends on the RPC configuration for the given method, see " +"[method rpc_config] and [annotation @GDScript.@rpc]. Methods are not exposed " +"to RPCs by default. Returns [code]null[/code].\n" +"[b]Note:[/b] You can only safely use RPCs on clients after you received the " +"[code]connected_to_server[/code] signal from the [MultiplayerAPI]. You also " +"need to keep track of the connection state, either by the [MultiplayerAPI] " +"signals like [code]server_disconnected[/code] or by checking " +"[code]get_multiplayer().peer.get_connection_status() == " +"CONNECTION_CONNECTED[/code]." +msgstr "" +"将给定 [param method] 的远程过程调用请求发送到网络(和本地)上的对等体,可选" +"择将所有其他参数作为参数发送给 RPC 调用的方法。调用请求只会被具有相同 " +"[NodePath] 的节点接收,该节点包括完全相同的节点名称。行为取决于给定方法的 " +"RPC 配置,请参阅 [method rpc_config] 和 [annotation @GDScript.@rpc]。默认情况" +"下,方法不会暴露给 RPC。返回 [code]null[/code]。\n" +"[b]注意:[/b]只有在收到来自 [MultiplayerAPI] 的 [code]connected_to_server[/" +"code] 信号后,才能在客户端上安全地使用 RPC。还需要跟踪连接状态,可通过 " +"[MultiplayerAPI] 信号(例如 [code]server_disconnected[/code])或检查 " +"[code]get_multiplayer().peer.get_connection_status() == " +"CONNECTION_CONNECTED[/code] 来跟踪。" + +msgid "" "Enables or disables internal physics for this node. Internal physics " "processing happens in isolation from the normal [method _physics_process] " "calls and is used by some nodes internally to guarantee proper functioning " @@ -41345,6 +48175,14 @@ msgstr "" "支持。" msgid "" +"Enables shortcut processing. Enabled automatically if [method " +"_shortcut_input] is overridden. Any calls to this before [method _ready] " +"will be ignored." +msgstr "" +"启用快捷键处理。如果 [method _shortcut_input] 被覆盖,则自动启用。在 [method " +"_ready] 之前对此的任何调用都将被忽略。" + +msgid "" "Enables unhandled input processing. This is not required for GUI controls! " "It enables the node to receive all input that was not previously handled " "(usually by a [Control]). Enabled automatically if [method _unhandled_input] " @@ -41367,6 +48205,14 @@ msgid "" msgstr "设置这是否是实例加载占位符。见 [InstancePlaceholder]。" msgid "" +"Updates the warning displayed for this node in the Scene Dock.\n" +"Use [method _get_configuration_warnings] to setup the warning message to " +"display." +msgstr "" +"更新在场景面板中为该节点显示的警告。\n" +"使用 [method _get_configuration_warnings] 配置要显示的警告消息。" + +msgid "" "Add a custom description to a node. It will be displayed in a tooltip when " "hovered in editor's scene tree." msgstr "" @@ -41374,6 +48220,13 @@ msgstr "" "在工具提示中。" msgid "" +"The [MultiplayerAPI] instance associated with this node. See [method " +"SceneTree.get_multiplayer]." +msgstr "" +"与此节点关联的 [MultiplayerAPI] 实例。参见 [method SceneTree." +"get_multiplayer]。" + +msgid "" "The name of the node. This name is unique among the siblings (other child " "nodes from the same parent). When set to an existing name, the node will be " "automatically renamed.\n" @@ -41601,6 +48454,29 @@ msgstr "" "PROCESS_MODE_DISABLED]。" msgid "" +"Notification received when other nodes in the tree may have been removed/" +"replaced and node pointers may require re-caching." +msgstr "" +"当树中的其他节点可能已经被移除 / 替换,节点指针可能需要重新缓存时,会收到通" +"知。" + +msgid "" +"Notification received right before the scene with the node is saved in the " +"editor. This notification is only sent in the Godot editor and will not " +"occur in exported projects." +msgstr "" +"在编辑器中保存有节点的场景之前收到的通知。这个通知只在 Godot 编辑器中发送,不" +"会出现在导出的项目中。" + +msgid "" +"Notification received right after the scene with the node is saved in the " +"editor. This notification is only sent in the Godot editor and will not " +"occur in exported projects." +msgstr "" +"在编辑器中保存有节点的场景后立即收到通知。这个通知只在 Godot 编辑器中发送,在" +"导出的项目中不会出现。" + +msgid "" "Notification received from the OS when the mouse enters the game window.\n" "Implemented on desktop and web platforms." msgstr "" @@ -41615,6 +48491,39 @@ msgstr "" "在桌面和 Web 平台上实现。" msgid "" +"Notification received from the OS when the node's parent [Window] is " +"focused. This may be a change of focus between two windows of the same " +"engine instance, or from the OS desktop or a third-party application to a " +"window of the game (in which case [constant " +"NOTIFICATION_APPLICATION_FOCUS_IN] is also emitted)." +msgstr "" +"当该节点的父 [Window] 获得焦点时,从操作系统收到该通知。焦点变化可能发生在同" +"一引擎实例的两个窗口之间,也可能发生在从操作系统桌面、或第三方应用程序切换到" +"游戏窗口(在这种情况下,还会发出 [constant " +"NOTIFICATION_APPLICATION_FOCUS_IN])。" + +msgid "" +"Notification received from the OS when the node's parent [Window] is " +"defocused. This may be a change of focus between two windows of the same " +"engine instance, or from a window of the game to the OS desktop or a third-" +"party application (in which case [constant " +"NOTIFICATION_APPLICATION_FOCUS_OUT] is also emitted)." +msgstr "" +"当该节点的父 [Window] 失去焦点时,从操作系统收到该通知。焦点变化可能发生在同" +"一引擎实例的两个窗口之间,或发生在从游戏窗口切换到操作系统桌面、或第三方应用" +"程序(在这种情况下,还会发出 [constant " +"NOTIFICATION_APPLICATION_FOCUS_OUT])。" + +msgid "" +"Notification received from the OS when a close request is sent (e.g. closing " +"the window with a \"Close\" button or [kbd]Alt + F4[/kbd]).\n" +"Implemented on desktop platforms." +msgstr "" +"当发出关闭请求时,从操作系统收到该通知(例如,使用一个“关闭”按钮、或按下 " +"[kbd]Alt + F4[/kbd] 关闭窗口时)。\n" +"在桌面平台上实现。" + +msgid "" "Notification received from the OS when a go back request is sent (e.g. " "pressing the \"Back\" button on Android).\n" "Specific to the Android platform." @@ -41804,6 +48713,15 @@ msgid "Position, relative to the node's parent." msgstr "位置,相对于父节点。" msgid "" +"Rotation in radians, relative to the node's parent.\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 "" +"以弧度为单位的旋转,相对于该节点的父节点。\n" +"[b]注意:[/b] 这个属性在检查器中是以度数编辑的。如果你想在脚本中使用度数,请" +"使用 [member rotation_degrees]。" + +msgid "" "The node's scale. Unscaled value: [code](1, 1)[/code].\n" "[b]Note:[/b] Negative X scales in 2D are not decomposable from the " "transformation matrix. Due to the way scale is represented with " @@ -41869,6 +48787,17 @@ msgid "Returns all the gizmos attached to this [code]Node3D[/code]." msgstr "返回附加到该 [code]Node3D[/code] 的所有小工具。" msgid "" +"Returns the parent [Node3D], or an empty [Object] if no parent exists or " +"parent is not of type [Node3D]." +msgstr "" +"返回父节点 [Node3D],如果不存在父节点,或父节点不是 [Node3D] 类型,则返回空" +"的 [Object]。" + +msgid "" +"Returns the current [World3D] resource this [Node3D] node is registered to." +msgstr "返回此 [Node3D] 节点所注册的当前 [World3D] 资源。" + +msgid "" "Rotates the global (world) transformation around axis, a unit [Vector3], by " "specified angle in radians. The rotation axis is in global coordinate system." msgstr "" @@ -41964,6 +48893,18 @@ msgid "" msgstr "将 [param global_point] 从世界空间转换到这个节点的局部空间。" msgid "" +"Changes the node's position by the given offset [Vector3].\n" +"Note that the translation [param offset] is affected by the node's scale, so " +"if scaled by e.g. [code](10, 1, 1)[/code], a translation by an offset of " +"[code](2, 0, 0)[/code] would actually add 20 ([code]2 * 10[/code]) to the X " +"coordinate." +msgstr "" +"通过给定的偏移量 [Vector3] 更改该节点的位置。\n" +"请注意,平移 [param offset] 受节点缩放的影响,因此如果按例如 [code](10, 1, 1)" +"[/code] 的比例缩放,那么偏移 [code](2, 0, 0)[/code] 的平移,实际上会在 X 坐标" +"上增加 20([code]2 * 10[/code])。" + +msgid "" "Changes the node's position by the given offset [Vector3] in local space." msgstr "通过给定的局部空间偏移量 [Vector3] 改变该节点的位置。" @@ -42000,6 +48941,36 @@ msgid "World3D space (global) [Transform3D] of this node." msgstr "该节点在 World3D 空间的(全局)[Transform3D]。" msgid "" +"Rotation part of the local transformation in radians, specified in terms of " +"Euler angles. The angles construct a rotaton in the order specified by the " +"[member rotation_order] property.\n" +"[b]Note:[/b] In the mathematical sense, rotation is a matrix and not a " +"vector. The three Euler angles, which are the three independent parameters " +"of the Euler-angle parametrization of the rotation matrix, are stored in a " +"[Vector3] data structure not because the rotation is a vector, but only " +"because [Vector3] exists as a convenient data-structure to store 3 floating-" +"point numbers. Therefore, applying affine operations on the rotation " +"\"vector\" is not meaningful.\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 " +"rotation_order] 属性指定的顺序,构造一个旋转。\n" +"[b]注意:[/b]在数学意义上,旋转是一个矩阵,而不是一个向量。三个欧拉角,即旋转" +"矩阵的欧拉角参数化的三个独立参数,存储在一个 [Vector3] 数据结构中,并不是因为" +"旋转是一个向量,而是因为 [Vector3] 是一个方便存储 3 个浮点数的数据结构。因" +"此,对旋转“向量”,应用仿射操作是没有意义的。\n" +"[b]注意:[/b]该属性在检查器中以度为单位进行编辑。如果要在脚本中使用度数,请使" +"用 [member rotation_degrees]。" + +msgid "Specify how rotation (and scale) will be presented in the editor." +msgstr "指定旋转(和缩放)在编辑器中的显示方式。" + +msgid "" +"Local space [Transform3D] of this node, with respect to the parent node." +msgstr "该节点的局部空间 [Transform3D],相对于父节点。" + +msgid "" "If [code]true[/code], this node is drawn. The node is only visible if all of " "its antecedents are visible as well (in other words, [method " "is_visible_in_tree] must return [code]true[/code])." @@ -42052,6 +49023,69 @@ msgstr "" msgid "Pre-parsed scene tree path." msgstr "预先解析的场景树路径。" +msgid "" +"A pre-parsed relative or absolute path in a scene tree, for use with [method " +"Node.get_node] and similar functions. It can reference a node, a resource " +"within a node, or a property of a node or resource. For example, " +"[code]\"Path2D/PathFollow2D/Sprite2D:texture:size\"[/code] would refer to " +"the [code]size[/code] property of the [code]texture[/code] resource on the " +"node named [code]\"Sprite2D\"[/code] which is a child of the other named " +"nodes in the path.\n" +"You will usually just pass a string to [method Node.get_node] and it will be " +"automatically converted, but you may occasionally want to parse a path ahead " +"of time with [NodePath] or the literal syntax [code]^\"path\"[/code]. " +"Exporting a [NodePath] variable will give you a node selection widget in the " +"properties panel of the editor, which can often be useful.\n" +"A [NodePath] is composed of a list of slash-separated node names (like a " +"filesystem path) and an optional colon-separated list of \"subnames\" which " +"can be resources or properties.\n" +"Some examples of NodePaths include the following:\n" +"[codeblock]\n" +"# No leading slash means it is relative to the current node.\n" +"^\"A\" # Immediate child A\n" +"^\"A/B\" # A's child B\n" +"^\".\" # The current node.\n" +"^\"..\" # The parent node.\n" +"^\"../C\" # A sibling node C.\n" +"# A leading slash means it is absolute from the SceneTree.\n" +"^\"/root\" # Equivalent to get_tree().get_root().\n" +"^\"/root/Main\" # If your main scene's root node were named \"Main\".\n" +"^\"/root/MyAutoload\" # If you have an autoloaded node or scene.\n" +"[/codeblock]\n" +"See also [StringName], which is a similar concept for general-purpose string " +"interning.\n" +"[b]Note:[/b] In the editor, [NodePath] properties are automatically updated " +"when moving, renaming or deleting a node in the scene tree, but they are " +"never updated at runtime." +msgstr "" +"场景树中预先解析的相对或绝对路径,用于 [method Node.get_node] 和类似函数。它" +"可以引用节点、节点内的资源、或节点或资源的属性。例如,[code]\"Path2D/" +"PathFollow2D/Sprite2D:texture:size\"[/code] 将引用名为 [code]\"Sprite2D\"[/" +"code] 节点上的 [code]texture[/code] 资源的 [code]size[/code] 属性,该节点是路" +"径中其他命名节点的一个子节点。\n" +"通常只需将一个字符串传递给 [method Node.get_node],它将会被自动转换,但可能偶" +"尔想要使用 [NodePath] 或文字语法 [code]^\"path\"[/code] 提前解析路径。导出 " +"[NodePath] 变量会在编辑器的属性面板中,为您提供一个节点选择小部件,这通常很有" +"用。\n" +"[NodePath] 由斜线分隔的节点名称列表(如文件系统路径)和可选的冒号分隔的“子名" +"称”列表组成,这些“子名称”可以是资源或属性。\n" +"NodePath 的一些示例包括:\n" +"[codeblock]\n" +"# 没有前导斜杠意味着它是相对于当前节点的。\n" +"^\"A\" # 直接子节点 A\n" +"^\"A/B\" # A 的子节点 B\n" +"^\".\" # 当前节点。\n" +"^\"..\" # 父节点。\n" +"^\"../C\" # 兄弟节点 C。\n" +"# 前导斜杠意味着它是来自 SceneTree 的绝对路径。\n" +"^\"/root\" # 等同于 get_tree().get_root()。\n" +"^\"/root/Main\" # 如果您的主场景的根节点被命名为“Main”。\n" +"^\"/root/MyAutoload\" # 如果您有一个自动加载的节点或场景。\n" +"[/codeblock]\n" +"另见 [StringName],它是通用字符串的类似概念。\n" +"[b]注意:[/b]在编辑器中,[NodePath] 属性在场景树中移动、重命名或删除节点时会" +"自动更新,但它们不会在运行时更新。" + msgid "2D Role Playing Game Demo" msgstr "2D 角色扮演游戏演示" @@ -42067,6 +49101,98 @@ msgstr "" "[code]^\"example\"[/code]。" msgid "" +"Gets the node name indicated by [param idx] (0 to [method get_name_count] - " +"1).\n" +"[codeblocks]\n" +"[gdscript]\n" +"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite2D\")\n" +"print(node_path.get_name(0)) # Path2D\n" +"print(node_path.get_name(1)) # PathFollow2D\n" +"print(node_path.get_name(2)) # Sprite\n" +"[/gdscript]\n" +"[csharp]\n" +"var nodePath = new NodePath(\"Path2D/PathFollow2D/Sprite2D\");\n" +"GD.Print(nodePath.GetName(0)); // Path2D\n" +"GD.Print(nodePath.GetName(1)); // PathFollow2D\n" +"GD.Print(nodePath.GetName(2)); // Sprite\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"获取由 [param idx](0 到 [method get_name_count] - 1)指示的节点名称。\n" +"[codeblocks]\n" +"[gdscript]\n" +"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite2D\")\n" +"print(node_path.get_name(0)) # Path2D\n" +"print(node_path.get_name(1)) # PathFollow2D\n" +"print(node_path.get_name(2)) # Sprite\n" +"[/gdscript]\n" +"[csharp]\n" +"var nodePath = new NodePath(\"Path2D/PathFollow2D/Sprite2D\");\n" +"GD.Print(nodePath.GetName(0)); // Path2D\n" +"GD.Print(nodePath.GetName(1)); // PathFollow2D\n" +"GD.Print(nodePath.GetName(2)); // Sprite\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" +"Gets the number of node names which make up the path. Subnames (see [method " +"get_subname_count]) are not included.\n" +"For example, [code]\"Path2D/PathFollow2D/Sprite2D\"[/code] has 3 names." +msgstr "" +"获取组成路径的节点名称的数量。不包括子名称(见 [method " +"get_subname_count])。\n" +"例如,[code]\"Path2D/PathFollow2D/Sprite2D\"[/code] 中有 3 个名称。" + +msgid "" +"Gets the resource or property name indicated by [param idx] (0 to [method " +"get_subname_count]).\n" +"[codeblocks]\n" +"[gdscript]\n" +"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite2D:texture:" +"load_path\")\n" +"print(node_path.get_subname(0)) # texture\n" +"print(node_path.get_subname(1)) # load_path\n" +"[/gdscript]\n" +"[csharp]\n" +"var nodePath = new NodePath(\"Path2D/PathFollow2D/Sprite2D:texture:" +"load_path\");\n" +"GD.Print(nodePath.GetSubname(0)); // texture\n" +"GD.Print(nodePath.GetSubname(1)); // load_path\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"获取由 [param idx](0 到 [method get_subname_count])指示的资源或属性名称。\n" +"[codeblocks]\n" +"[gdscript]\n" +"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite2D:texture:" +"load_path\")\n" +"print(node_path.get_subname(0)) # texture\n" +"print(node_path.get_subname(1)) # load_path\n" +"[/gdscript]\n" +"[csharp]\n" +"var nodePath = new NodePath(\"Path2D/PathFollow2D/Sprite2D:texture:" +"load_path\");\n" +"GD.Print(nodePath.GetSubname(0)); // texture\n" +"GD.Print(nodePath.GetSubname(1)); // load_path\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" +"Gets the number of resource or property names (\"subnames\") in the path. " +"Each subname is listed after a colon character ([code]:[/code]) in the node " +"path.\n" +"For example, [code]\"Path2D/PathFollow2D/Sprite2D:texture:load_path\"[/code] " +"has 2 subnames." +msgstr "" +"获取路径中资源或属性名称(“子名称”)的数量。每个子名称都列在节点路径中的冒号" +"字符([code]:[/code])之后。\n" +"例如,[code]\"Path2D/PathFollow2D/Sprite2D:texture:load_path\"[/code] 中有 2 " +"个子名称。" + +msgid "Returns the 32-bit hash value representing the [NodePath]'s contents." +msgstr "返回代表该 [NodePath] 内容的 32 位哈希值。" + +msgid "" "Returns [code]true[/code] if the node path is absolute (as opposed to " "relative), which means that it starts with a slash character ([code]/[/" "code]). Absolute node paths can be used to access the root node ([code]\"/" @@ -42094,6 +49220,16 @@ msgstr "" msgid "Abstract base class for noise generators." msgstr "噪声生成器的抽象基类。" +msgid "" +"Returns a 2D [Image] noise image.\n" +"Note: With [param normalize] set to [code]false[/code] the default " +"implementation expects the noise generator to return values in the range " +"[code]-1.0[/code] to [code]1.0[/code]." +msgstr "" +"返回 2D 噪声图像 [Image]。\n" +"注意:[param normalize] 为 [code]false[/code] 时,默认实现要求噪声生成器返回 " +"[code]-1.0[/code] 到 [code]1.0[/code] 之间的值。" + msgid "Returns the 1D noise value at the given (x) coordinate." msgstr "返回给定 (x) 坐标处的 1D 噪声值。" @@ -42104,6 +49240,45 @@ msgid "Returns the 3D noise value at the given position." msgstr "返回给定位置处的 3D 噪声值。" msgid "" +"Returns a seamless 2D [Image] noise image.\n" +"Note: With [param normalize] set to [code]false[/code] the default " +"implementation expects the noise generator to return values in the range " +"[code]-1.0[/code] to [code]1.0[/code]." +msgstr "" +"返回无缝 2D 噪声图像 [Image]。\n" +"注意:[param normalize] 为 [code]false[/code] 时,默认实现要求噪声生成器返回 " +"[code]-1.0[/code] 到 [code]1.0[/code] 之间的值。" + +msgid "" +"Uses [FastNoiseLite] or other libraries to fill the texture data of your " +"desired size.\n" +"NoiseTexture2D can also generate normalmap textures.\n" +"The class uses [Thread]s to generate the texture data internally, so [method " +"Texture2D.get_image] may return [code]null[/code] if the generation process " +"has not completed yet. In that case, you need to wait for the texture to be " +"generated before accessing the image and the generated byte data:\n" +"[codeblock]\n" +"var texture = NoiseTexture2D.new()\n" +"texture.noise = FastNoiseLite.new()\n" +"await texture.changed\n" +"var image = texture.get_image()\n" +"var data = image.get_data()\n" +"[/codeblock]" +msgstr "" +"使用 [FastNoiseLite] 或其他库来填充所需大小的纹理数据。\n" +"NoiseTexture2D 也可以生成法线贴图纹理。\n" +"该类在内部使用 [Thread] 生成纹理数据,因此如果生成过程尚未完成,[method " +"Texture2D.get_image] 可能会返回 [code]null[/code]。在这种情况下,需要等待纹理" +"生成后再访问图像和生成的字节数据:\n" +"[codeblock]\n" +"var texture = NoiseTexture2D.new()\n" +"texture.noise = FastNoiseLite.new()\n" +"await texture.changed\n" +"var image = texture.get_image()\n" +"var data = image.get_data()\n" +"[/codeblock]" + +msgid "" "If [code]true[/code], the resulting texture contains a normal map created " "from the original noise interpreted as a bump map." msgstr "" @@ -42123,6 +49298,16 @@ msgstr "生成的纹理的高度。" msgid "The instance of the [Noise] object." msgstr "[Noise] 对象的实例。" +msgid "" +"If [code]true[/code], the noise image coming from the noise generator is " +"normalized to the range [code]0.0[/code] to [code]1.0[/code].\n" +"Turning normalization off can affect the contrast and allows you to generate " +"non repeating tileable noise textures." +msgstr "" +"如果为 [code]true[/code],来自噪声发生器的噪声图像,将被归一化到范围 " +"[code]0.0[/code] 到 [code]1.0[/code]。\n" +"关闭归一化会影响对比度,并允许生成非重复的可平铺噪声纹理。" + msgid "Width of the generated texture." msgstr "生成的纹理的宽度。" @@ -42139,6 +49324,245 @@ msgid "Object notifications" msgstr "对象通知" msgid "" +"Called when the object's script is instantiated, oftentimes after the object " +"is initialized in memory (through [code]Object.new()[/code] in GDScript, or " +"[code]new Object[/code] in C#). It can be also defined to take in " +"parameters. This method is similar to a constructor in most programming " +"languages.\n" +"[b]Note:[/b] If [method _init] is defined with [i]required[/i] parameters, " +"the Object with script may only be created directly. If any other means " +"(such as [method PackedScene.instantiate] or [method Node.duplicate]) are " +"used, the script's initialization will fail." +msgstr "" +"会在对象的脚本被实例化时调用,通常是在对象在内存中初始化之后(通过 GDScript " +"中的 [code]Object.new()[/code],或 C# 中的 [code]new Object[/code])。它也可" +"以被定义为接受参数的形式。该方法类似于大多数编程语言中的构造函数。\n" +"[b]注意:[/b]如果 [method _init] 被定义了[i]必需的[/i]参数,则带脚本的 " +"Object 只能被直接创建。如果使用任何其他方式(例如 [method PackedScene." +"instantiate] 或 [method Node.duplicate])创建,则该脚本的初始化将失败。" + +msgid "" +"Override this method to customize the behavior of [method set]. Should set " +"the [param property] to [param value] and return [code]true[/code], or " +"[code]false[/code] if the [param property] should be handled normally. The " +"[i]exact[/i] way to set the [param property] is up to this method's " +"implementation.\n" +"Combined with [method _get] and [method _get_property_list], this method " +"allows defining custom properties, which is particularly useful for editor " +"plugins. Note that a property [i]must[/i] be present in [method " +"get_property_list], otherwise this method will not be called.\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _set(property, value):\n" +" if (property == \"fake_property\"):\n" +" print(\"Setting my property to \", value)\n" +"\n" +"func _get_property_list():\n" +" return [\n" +" { \"name\": \"fake_property\", \"type\": TYPE_INT }\n" +" ]\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Set(StringName property, Variant value)\n" +"{\n" +" if (property == \"FakeProperty\")\n" +" {\n" +" GD.Print($\"Setting my property to {value}\");\n" +" return true;\n" +" }\n" +"\n" +" return false;\n" +"}\n" +"\n" +"public override Godot.Collections.Array<Godot.Collections.Dictionary> " +"_GetPropertyList()\n" +"{\n" +" return new Godot.Collections.Array<Godot.Collections.Dictionary>()\n" +" {\n" +" new Godot.Collections.Dictionary()\n" +" {\n" +" { \"name\", \"FakeProperty\" },\n" +" { \"type\", (int)Variant.Type.Int }\n" +" }\n" +" };\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"重写该方法以自定义 [method set] 的行为。应将 [param property] 设置为 [param " +"value] 并返回 [code]true[/code],如果 [param property] 正常处理则返回 " +"[code]false[/code]。设置 [param property] 的[i]确切[/i]方式取决于该方法的实" +"现。\n" +"结合 [method _get] 和 [method _get_property_list],该方法允许定义自定义属性," +"这对编辑器插件特别有用。注意属性[i]必须[/i]在 [method get_property_list] 中存" +"在,否则该方法将不会被调用。\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _set(property, value):\n" +" if (property == \"fake_property\"):\n" +" print(\"将我的属性设置为 \", value)\n" +"\n" +"func _get_property_list():\n" +" return [\n" +" { \"name\": \"fake_property\", \"type\": TYPE_INT }\n" +" ]\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Set(StringName property, Variant value)\n" +"{\n" +" if (property == \"FakeProperty\")\n" +" {\n" +" GD.Print($\"将我的属性设置为 {value}\");\n" +" return true;\n" +" }\n" +"\n" +" return false;\n" +"}\n" +"\n" +"public override Godot.Collections.Array<Godot.Collections.Dictionary> " +"_GetPropertyList()\n" +"{\n" +" return new Godot.Collections.Array<Godot.Collections.Dictionary>()\n" +" {\n" +" new Godot.Collections.Dictionary()\n" +" {\n" +" { \"name\", \"FakeProperty\" },\n" +" { \"type\", (int)Variant.Type.Int }\n" +" }\n" +" };\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" +"Adds a user-defined [param signal]. Optional arguments for the signal can be " +"added as an [Array] of dictionaries, each defining a [code]name[/code] " +"[String] and a [code]type[/code] [int] (see [enum Variant.Type]). See also " +"[method has_user_signal].\n" +"[codeblocks]\n" +"[gdscript]\n" +"add_user_signal(\"hurt\", [\n" +" { \"name\": \"damage\", \"type\": TYPE_INT },\n" +" { \"name\": \"source\", \"type\": TYPE_OBJECT }\n" +"])\n" +"[/gdscript]\n" +"[csharp]\n" +"AddUserSignal(\"Hurt\", new Godot.Collections.Array()\n" +"{\n" +" new Godot.Collections.Dictionary()\n" +" {\n" +" { \"name\", \"damage\" },\n" +" { \"type\", (int)Variant.Type.Int }\n" +" },\n" +" new Godot.Collections.Dictionary()\n" +" {\n" +" { \"name\", \"source\" },\n" +" { \"type\", (int)Variant.Type.Object }\n" +" }\n" +"});\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"添加用户定义的信号 [param signal]。信号的参数是可选的,以字典的 [Array] 形式" +"添加,字典中定义名称 [code]name[/code] [String],类型 [code]type[/code] [int]" +"(见 [enum Variant.Type])。另见 [method has_user_signal]。\n" +"[codeblocks]\n" +"[gdscript]\n" +"add_user_signal(\"hurt\", [\n" +" { \"name\": \"damage\", \"type\": TYPE_INT },\n" +" { \"name\": \"source\", \"type\": TYPE_OBJECT }\n" +"])\n" +"[/gdscript]\n" +"[csharp]\n" +"AddUserSignal(\"Hurt\", new Godot.Collections.Array()\n" +"{\n" +" new Godot.Collections.Dictionary()\n" +" {\n" +" { \"name\", \"damage\" },\n" +" { \"type\", (int)Variant.Type.Int }\n" +" },\n" +" new Godot.Collections.Dictionary()\n" +" {\n" +" { \"name\", \"source\" },\n" +" { \"type\", (int)Variant.Type.Object }\n" +" }\n" +"});\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" +"Calls the [param method] on the object and returns the result. This method " +"supports a variable number of arguments, so parameters can be passed as a " +"comma separated list.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var node = Node3D.new()\n" +"node.call(\"rotate\", Vector3(1.0, 0.0, 0.0), 1.571)\n" +"[/gdscript]\n" +"[csharp]\n" +"var node = new Node3D();\n" +"node.Call(Node3D.MethodName.Rotate, new Vector3(1f, 0f, 0f), 1.571f);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Note:[/b] In C#, [param method] must be in snake_case when referring to " +"built-in Godot methods. Prefer using the names exposed in the " +"[code]MethodName[/code] class to avoid allocating a new [StringName] on each " +"call." +msgstr "" +"在对象上调用 [param method] 并返回结果。该方法支持可变数量的参数,因此参数可" +"以作为逗号分隔的列表传递。\n" +"[codeblocks]\n" +"[gdscript]\n" +"var node = Node3D.new()\n" +"node.call(\"rotate\", Vector3(1.0, 0.0, 0.0), 1.571)\n" +"[/gdscript]\n" +"[csharp]\n" +"var node = new Node3D();\n" +"node.Call(Node3D.MethodName.Rotate, new Vector3(1f, 0f, 0f), 1.571f);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]注意:[/b]在 C# 中,在引用 Godot 内置方法时,[param method] 必须为 " +"snake_case 格式。最好使用 [code]MethodName[/code] 类中公开的名称,以避免在每" +"次调用时分配新的 [StringName]。" + +msgid "" +"Calls the [param method] on the object during idle time. This method " +"supports a variable number of arguments, so parameters can be passed as a " +"comma separated list.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var node = Node3D.new()\n" +"node.call_deferred(\"rotate\", Vector3(1.0, 0.0, 0.0), 1.571)\n" +"[/gdscript]\n" +"[csharp]\n" +"var node = new Node3D();\n" +"node.CallDeferred(Node3D.MethodName.Rotate, new Vector3(1f, 0f, 0f), " +"1.571f);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Note:[/b] In C#, [param method] must be in snake_case when referring to " +"built-in Godot methods. Prefer using the names exposed in the " +"[code]MethodName[/code] class to avoid allocating a new [StringName] on each " +"call." +msgstr "" +"在空闲时间调用对象的 [param method]。该方法支持可变数量的参数,因此参数可以作" +"为逗号分隔的列表传递。\n" +"[codeblocks]\n" +"[gdscript]\n" +"var node = Node3D.new()\n" +"node.call_deferred(\"rotate\", Vector3(1.0, 0.0, 0.0), 1.571)\n" +"[/gdscript]\n" +"[csharp]\n" +"var node = new Node3D();\n" +"node.CallDeferred(Node3D.MethodName.Rotate, new Vector3(1f, 0f, 0f), " +"1.571f);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]注意:[/b]在 C# 中,在引用 Godot 内置方法时,[param method] 必须是 " +"snake_case 格式。最好使用 [code]MethodName[/code] 类中公开的名称,以避免在每" +"次调用时分配新的 [StringName]。" + +msgid "" "Calls the [param method] on the object and returns the result. Unlike " "[method call], this method expects all parameters to be contained inside " "[param arg_array].\n" @@ -42176,20 +49600,203 @@ msgstr "" "时分配新的 [StringName]。" msgid "" +"Returns [code]true[/code] if the object is allowed to translate messages " +"with [method tr] and [method tr_n]. See also [method " +"set_message_translation]." +msgstr "" +"如果允许该对象使用 [method tr] 和 [method tr_n] 翻译消息,则返回 [code]true[/" +"code]。另见 [method set_message_translation]。" + +msgid "" +"Disconnects a [param signal] by name from a given [param callable]. If the " +"connection does not exist, generates an error. Use [method is_connected] to " +"make sure that the connection exists." +msgstr "" +"按名称从给定的 [param callable] 断开 [param signal]。如果连接不存在,则生成一" +"个错误。使用 [method is_connected] 确保该连接存在。" + +msgid "" +"Returns an [Array] of signal connections received by this object. Each " +"connection is represented as a [Dictionary] that contains three entries:\n" +"- [code]signal[/code] is a reference to the [Signal];\n" +"- [code]callable[/code] is a reference to the [Callable];\n" +"- [code]flags[/code] is a combination of [enum ConnectFlags]." +msgstr "" +"返回该对象接收到的信号连接的 [Array]。每个连接都被表示为包含三个条目的 " +"[Dictionary]:\n" +"- [code]signal[/code] 是对 [Signal] 的引用;\n" +"- [code]callable[/code] 是对 [Callable] 的引用;\n" +"- [code]flags[/code] 是 [enum ConnectFlags] 的组合。" + +msgid "" +"Returns the object's unique instance ID. This ID can be saved in " +"[EncodedObjectAsID], and can be used to retrieve this object instance with " +"[method @GlobalScope.instance_from_id]." +msgstr "" +"返回该对象的唯一实例 ID。该 ID 可以保存在 [EncodedObjectAsID] 中,并可用于 " +"[method @GlobalScope.instance_from_id],来检索该对象实例。" + +msgid "Returns the object's metadata entry names as a [PackedStringArray]." +msgstr "将该对象的元数据作为 [PackedStringArray] 返回。" + +msgid "" +"Returns this object's methods and their signatures as an [Array] of " +"dictionaries. Each [Dictionary] contains the following entries:\n" +"- [code]name[/code] is the name of the method, as a [String];\n" +"- [code]args[/code] is an [Array] of dictionaries representing the " +"arguments;\n" +"- [code]default_args[/code] is the default arguments as an [Array] of " +"variants;\n" +"- [code]flags[/code] is a combination of [enum MethodFlags];\n" +"- [code]id[/code] is the method's internal identifier [int];\n" +"- [code]return[/code] is the returned value, as a [Dictionary];\n" +"[b]Note:[/b] The dictionaries of [code]args[/code] and [code]return[/code] " +"are formatted identically to the results of [method get_property_list], " +"although not all entries are used." +msgstr "" +"将该对象的方法及对应签名作为字典 [Array] 返回。每个 [Dictionary] 包含以下条" +"目:\n" +"-[code]name[/code] 是该方法的名称,为 [String];\n" +"-[code]args[/code] 是代表参数的字典 [Array];\n" +"-[code]default_args[/code] 是默认参数,为变体 [Array];\n" +"-[code]flags[/code] 是 [enum MethodFlags] 的组合;\n" +"-[code]id[/code] 是该方法的内部标识符 [int];\n" +"-[code]return[/code] 是返回值,为 [Dictionary];\n" +"[b]注意:[/b][code]args[/code] 和 [code]return[/code] 的字典格式与 [method " +"get_property_list] 的结果相同,但不会用到所有条目。" + +msgid "" "Returns the object's [Script] instance, or [code]null[/code] if no script is " "attached." msgstr "" "返回该对象的 [Script] 实例,如果没有附加脚本,则返回 [code]null[/code]。" msgid "" +"Returns an [Array] of connections for the given [param signal] name. Each " +"connection is represented as a [Dictionary] that contains three entries:\n" +"- [code]signal[/code] is a reference to the [Signal];\n" +"- [code]callable[/code] is a reference to the connected [Callable];\n" +"- [code]flags[/code] is a combination of [enum ConnectFlags]." +msgstr "" +"返回给定 [param signal] 名称的连接的 [Array]。每个连接都被表示为包含三个条目" +"的 [Dictionary]:\n" +"- [code]signal[/code] 是对 [Signal] 的引用;\n" +"- [code]callable[/code] 是对已连接 [Callable] 的引用;\n" +"- [code]flags[/code] 是 [enum ConnectFlags] 的组合。" + +msgid "" +"Returns [code]true[/code] if the given user-defined [param signal] name " +"exists. Only signals added with [method add_user_signal] are included." +msgstr "" +"如果存在给定的用户定义信号名称 [param signal],则返回 [code]true[/code]。仅包" +"含通过 [method add_user_signal] 添加的信号。" + +msgid "" +"Returns [code]true[/code] if the object is blocking its signals from being " +"emitted. See [method set_block_signals]." +msgstr "" +"如果该对象正在阻止发出信号,则返回 [code]true[/code]。见 [method " +"set_block_signals]。" + +msgid "" +"Returns [code]true[/code] if the object inherits from the given [param " +"class]. See also [method get_class].\n" +"[codeblocks]\n" +"[gdscript]\n" +"var sprite2d = Sprite2D.new()\n" +"sprite2d.is_class(\"Sprite2D\") # Returns true\n" +"sprite2d.is_class(\"Node\") # Returns true\n" +"sprite2d.is_class(\"Node3D\") # Returns false\n" +"[/gdscript]\n" +"[csharp]\n" +"var sprite2D = new Sprite2D();\n" +"sprite2D.IsClass(\"Sprite2D\"); // Returns true\n" +"sprite2D.IsClass(\"Node\"); // Returns true\n" +"sprite2D.IsClass(\"Node3D\"); // Returns false\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Note:[/b] This method ignores [code]class_name[/code] declarations in the " +"object's script." +msgstr "" +"如果该对象继承自给定的 [param class] 则返回 [code]true[/code]。另见 [method " +"get_class]。\n" +"[codeblocks]\n" +"[gdscript]\n" +"var sprite2d = Sprite2D.new()\n" +"sprite2d.is_class(\"Sprite2D\") # 返回 true\n" +"sprite2d.is_class(\"Node\") # 返回 true\n" +"sprite2d.is_class(\"Node3D\") # 返回 false\n" +"[/gdscript]\n" +"[csharp]\n" +"var sprite2D = new Sprite2D();\n" +"sprite2D.IsClass(\"Sprite2D\"); // 返回 true\n" +"sprite2D.IsClass(\"Node\"); // 返回 true\n" +"sprite2D.IsClass(\"Node3D\"); // 返回 false\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]注意:[/b]此方法忽略对象脚本中的 [code]class_name[/code] 声明。" + +msgid "" "Returns [code]true[/code] if the [method Node.queue_free] method was called " "for the object." msgstr "" "如果为该对象调用了 [method Node.queue_free] 方法,则返回 [code]true[/code]。" +msgid "" +"Returns a [String] representing the object. Defaults to " +"[code]\"<ClassName#RID>\"[/code]. Override [method _to_string] to customize " +"the string representation of the object." +msgstr "" +"返回表示对象的 [String]。默认为 [code]\"<ClassName#RID>\"[/code]。覆盖 " +"[method _to_string] 以自定义对象的字符串表示形式。" + +msgid "Emitted when [method notify_property_list_changed] is called." +msgstr "调用 [method notify_property_list_changed] 时发出。" + +msgid "" +"Emitted when the object's script is changed.\n" +"[b]Note:[/b] When this signal is emitted, the new script is not initialized " +"yet. If you need to access the new script, defer connections to this signal " +"with [constant CONNECT_DEFERRED]." +msgstr "" +"该对象的脚本发生改变时发出。\n" +"[b]注意:[/b]发出这个信号时,新脚本还没有初始化。如果你需要访问新脚本,请用 " +"[constant CONNECT_DEFERRED] 推迟与这个信号的连接。" + +msgid "" +"Notification received when the object is initialized, before its script is " +"attached. Used internally." +msgstr "该对象初始化时收到的通知,发生在附加脚本之前。内部使用。" + +msgid "" +"Notification received when the object is about to be deleted. Can act as the " +"deconstructor of some programming languages." +msgstr "该对象即将被删除时收到的通知。可以当作其他编程语言中的析构函数。" + +msgid "" +"Deferred connections trigger their [Callable]s on idle time, rather than " +"instantly." +msgstr "延迟连接会在空闲时触发 [Callable],不会立即触发。" + +msgid "" +"Persisting connections are stored when the object is serialized (such as " +"when using [method PackedScene.pack]). In the editor, connections created " +"through the Node dock are always persisting." +msgstr "" +"持久连接会在序列化对象时存储(比如使用 [method PackedScene.pack] 时)。在编辑" +"器中,通过“节点”面板创建的连接总是持久的。" + msgid "One-shot connections disconnect themselves after emission." msgstr "一次性连接,会在触发后自行断开。" +msgid "" +"Reference-counted connections can be assigned to the same [Callable] " +"multiple times. Each disconnection decreases the internal counter. The " +"signal fully disconnects only when the counter reaches 0." +msgstr "" +"引用计数连接可以多次分配给同一个 [Callable]。每断开一次连接会让内部计数器减" +"一。信号会在计数器变为 0 时完全断开连接。" + msgid "Returns the occluder shape's vertex indices." msgstr "返回该遮挡器形状的顶点索引。" @@ -42249,17 +49856,76 @@ msgstr "Ogg 数据包序列。" msgid "The length of this stream, in seconds." msgstr "该流的长度,以秒为单位。" +msgid "Contains the raw packets that make up this OggPacketSequence." +msgstr "包含构成此 OggPacketSequence 的原始数据包。" + msgid "Omnidirectional light, such as a light bulb or a candle." msgstr "全向光,如灯泡或蜡烛。" +msgid "" +"An Omnidirectional light is a type of [Light3D] that emits light in all " +"directions. The light is attenuated by distance and this attenuation can be " +"configured by changing its energy, radius, and attenuation parameters.\n" +"[b]Note:[/b] When using the Mobile rendering method, only 8 omni lights can " +"be displayed on each mesh resource. Attempting to display more than 8 omni " +"lights on a single mesh resource will result in omni lights flickering in " +"and out as the camera moves. When using the Compatibility rendering method, " +"only 8 omni lights can be displayed on each mesh resource by default, but " +"this can be increased by adjusting [member ProjectSettings.rendering/limits/" +"opengl/max_lights_per_object].\n" +"[b]Note:[/b] When using the Mobile or Compatibility rendering methods, omni " +"lights will only correctly affect meshes whose visibility AABB intersects " +"with the light'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 light may not be visible on " +"the mesh." +msgstr "" +"全向光是 [Light3D] 的一类,可以向所有方向发射光。光随距离而衰减,该衰减可以通" +"过修改其能量、半径和衰减参数来配置。\n" +"[b]注意:[/b]使用移动渲染方式时,每个网格资源上只能显示 8 个全向灯。尝试在单" +"个网格资源上显示 8 个以上的全向灯,将导致全向灯随着相机移动而闪烁。使用 " +"Compatibility 渲染方式时,默认情况下每个网格资源上只能显示 8 个全向灯,但可以" +"通过调整 [member ProjectSettings.rendering/limits/opengl/" +"max_lights_per_object] 来增加。\n" +"[b]注意:[/b]当使用 Mobile 或 Compatibility 渲染方法时,全向灯只会正确影响可" +"见性 AABB 与该灯光的 AABB 相交的网格。如果使用了着色器将网格进行了变形,超出" +"了 AABB 的范围,则必须将该网格的 [member GeometryInstance3D." +"extra_cull_margin] 增大。否则灯光在该网格上可能不可见。" + +msgid "" +"The light's attenuation (drop-off) curve. A number of presets are available " +"in the [b]Inspector[/b] by right-clicking the curve. Zero and negative " +"values are allowed but can produce unusual effects.\n" +"[b]Note:[/b] Very high [member omni_attenuation] values (typically above 10) " +"can impact performance negatively if the light is made to use a larger " +"[member omni_range] to compensate. This is because culling opportunities " +"will become less common and shading costs will be increased (as the light " +"will cover more pixels on screen while resulting in the same amount of " +"brightness). To improve performance, use the lowest [member " +"omni_attenuation] value possible for the visuals you're trying to achieve." +msgstr "" +"灯光的衰减(衰减)曲线。通过右键点击曲线,可以在[b]属性检查器[/b]中使用许多预" +"设。允许零值和负值,但会产生不寻常的效果。\n" +"[b]注意:[/b]如果灯光使用更大的 [member omni_range] 进行补偿,非常高的 " +"[member omni_attenuation] 值(通常高于 10)则可能会对性能产生负面影响。这是因" +"为剔除机会将变得不那么常见,并且着色成本将增加(因为光线将覆盖屏幕上更多的像" +"素,且同时产生相同的亮度)。要提高性能,请为试图实现的视觉效果使用尽可能低的 " +"[member omni_attenuation] 值。" + msgid "See [enum ShadowMode]." msgstr "见 [enum ShadowMode]。" msgid "" "Shadows are rendered to a dual-paraboloid texture. Faster than [constant " "SHADOW_CUBE], but lower-quality." +msgstr "将阴影渲染到双抛物面纹理。比 [constant SHADOW_CUBE] 更快,但质量较差。" + +msgid "" +"Shadows are rendered to a cubemap. Slower than [constant " +"SHADOW_DUAL_PARABOLOID], but higher-quality." msgstr "" -"阴影被渲染到一个双抛物面纹理。比 [constant SHADOW_CUBE] 更快,但质量较差。" +"将阴影渲染至立方体贴图。比 [constant SHADOW_DUAL_PARABOLOID] 更慢,但质量更" +"高。" msgid "An OpenXR action." msgstr "OpenXR 动作。" @@ -42270,6 +49936,26 @@ msgstr "动作的类型。" msgid "The localized description of this action." msgstr "该动作的本地化描述。" +msgid "A collections of toplevel paths to which this action can be bound." +msgstr "该动作所能绑定到的顶级路径的合集。" + +msgid "This action provides a boolean value." +msgstr "该动作提供布尔值。" + +msgid "" +"This action provides a float value between [code]0.0[/code] and [code]1.0[/" +"code] for any analog input such as triggers." +msgstr "" +"该动作提供 [code]0.0[/code] 和 [code]1.0[/code] 之间的浮点值,用于扳机等模拟" +"输入。" + +msgid "" +"Collection of [OpenXRActionSet] and [OpenXRInteractionProfile] resources for " +"the OpenXR module." +msgstr "" +"用于 OpenXR 模块的 [OpenXRActionSet] 和 [OpenXRInteractionProfile] 资源的合" +"集。" + msgid "Add an action set." msgstr "添加动作集。" @@ -42303,6 +49989,16 @@ msgstr "移除动作集。" msgid "Remove an interaction profile." msgstr "移除交互配置。" +msgid "Collection of [OpenXRActionSet]s that are part of this action map." +msgstr "[OpenXRActionSet] 的合集,是该动作映射的一部分。" + +msgid "" +"Collection of [OpenXRInteractionProfile]s that are part of this action map." +msgstr "[OpenXRInteractionProfile] 的合集,是该动作映射的一部分。" + +msgid "Collection of [OpenXRAction] resources that make up an action set." +msgstr "[OpenXRAction] 资源的合集,构成动作集。" + msgid "Add an action to this action set." msgstr "向该动作集中添加某个动作。" @@ -42321,15 +50017,46 @@ msgstr "该动作集的本地化名称。" msgid "The priority for this action set." msgstr "该动作集的优先级。" +msgid "Node supporting finger tracking in OpenXR." +msgstr "在 OpenXR 中提供手指跟踪的节点。" + +msgid "Set the motion range (if supported) limiting the hand motion." +msgstr "设置限制手部运动的运动范围(前提是支持)。" + msgid "Tracking the player's left hand." msgstr "追踪玩家的左手。" msgid "Tracking the player's right hand." msgstr "追踪玩家的右手。" +msgid "Maximum supported hands." +msgstr "最大支持的手数。" + +msgid "When player grips, hand skeleton will form a full fist." +msgstr "玩家抓握时,手部骨架呈握拳状。" + +msgid "" +"When player grips, hand skeleton conforms to the controller the player is " +"holding." +msgstr "玩家抓握时,手部骨架遵循玩家所持的控制器。" + +msgid "Maximum supported motion ranges." +msgstr "最大支持的运动范围。" + +msgid "Our OpenXR interface." +msgstr "OpenXR 接口。" + msgid "Setting up XR" msgstr "设置 XR" +msgid "" +"Returns a list of action sets registered with Godot (loaded from the action " +"map at runtime)." +msgstr "返回向 Godot 注册的动作集的列表(在运行时从动作映射加载)。" + +msgid "[OpenXRAction] that is bound to these paths." +msgstr "绑定到这些路径的 [OpenXRAction]。" + msgid "Optimized translation." msgstr "优化的翻译。" @@ -42392,7 +50119,7 @@ msgstr "" "如果索引为 [param idx] 的菜单项被标记为分隔符,则返回 [code]true[/code]。" msgid "Removes the item at index [param idx]." -msgstr "返回索引为 [param idx] 的菜单项。" +msgstr "移除索引为 [param idx] 的菜单项。" msgid "" "Selects an item by index and makes it the current item. This will work even " @@ -42422,6 +50149,16 @@ msgid "Sets the tooltip of the item at index [param idx]." msgstr "设置索引为 [param idx] 的菜单项的工具提示。" msgid "" +"Adjusts popup position and sizing for the [OptionButton], then shows the " +"[PopupMenu]. Prefer this over using [code]get_popup().popup()[/code]." +msgstr "" +"调整 [OptionButton] 弹出项的位置和大小,然后显示 [PopupMenu]。请优先使用这个" +"方法,而不是 [code]get_popup().popup()[/code]。" + +msgid "The number of items to select from." +msgstr "可供挑选的菜单项的数量。" + +msgid "" "The index of the currently selected item, or [code]-1[/code] if no item is " "selected." msgstr "当前选定项的索引,如果没有选定项,则为[code]-1[/code]。" @@ -42461,6 +50198,17 @@ msgid "" "The horizontal space between the arrow icon and the right edge of the button." msgstr "箭头图标和按钮的右边缘之间的水平空间。" +msgid "" +"The horizontal space between [OptionButton]'s icon and text. Negative values " +"will be treated as [code]0[/code] when used." +msgstr "" +"[OptionButton] 图标与文本之间的水平间距。负值会被当作 [code]0[/code] 使用。" + +msgid "" +"If different than [code]0[/code], the arrow icon will be modulated to the " +"font color." +msgstr "如果不为 [code]0[/code],箭头图标会与字体颜色进行调制。" + msgid "[Font] of the [OptionButton]'s text." msgstr "该 [OptionButton] 文本的 [Font]。" @@ -42529,6 +50277,11 @@ msgid "" msgstr "" "该 [OptionButton] 处于按下状态时使用的 [StyleBox](用于从右至左布局)。" +msgid "" +"Physically based rendering (PBR) material that can be applied to 3D objects, " +"can use an ORM texture." +msgstr "基于物理的渲染(PBR)材质,可以应用于 3D 对象,可以使用 ORM 纹理。" + msgid "Standard Material 3D and ORM Material 3D" msgstr "标准 3D 材质与 ORM 3D 材质" @@ -42561,10 +50314,295 @@ msgstr "" "关闭系统 MIDI 驱动程序。\n" "[b]注意:[/b]该方法只在 Linux、macOS 和 Windows 上实现。" +msgid "" +"Crashes the engine (or the editor if called within a [code]@tool[/code] " +"script). This should [i]only[/i] be used for testing the system's crash " +"handler, not for any other purpose. For general error reporting, use (in " +"order of preference) [method @GDScript.assert], [method @GlobalScope." +"push_error] or [method alert]. See also [method kill]." +msgstr "" +"使引擎崩溃(如果是在 [code]@tool[/code] 脚本中调用则为编辑器崩溃)。应该[i]仅" +"[/i]用于测试系统的崩溃处理器,其他情况下都不应使用。普通的错误汇报请使用 " +"[method @GDScript.assert]、[method @GlobalScope.push_error]、[method alert]" +"(按推荐顺序排列)。另见 [method kill]。" + +msgid "" +"Delays execution of the current thread by [param msec] milliseconds. [param " +"msec] must be greater than or equal to [code]0[/code]. Otherwise, [method " +"delay_msec] will do nothing and will print an error message.\n" +"[b]Note:[/b] [method delay_msec] is a [i]blocking[/i] way to delay code " +"execution. To delay code execution in a non-blocking way, see [method " +"SceneTree.create_timer]. Awaiting with [method SceneTree.create_timer] will " +"delay the execution of code placed below the [code]await[/code] without " +"affecting the rest of the project (or editor, for [EditorPlugin]s and " +"[EditorScript]s).\n" +"[b]Note:[/b] When [method delay_msec] is called on the main thread, it will " +"freeze the project and will prevent it from redrawing and registering input " +"until the delay has passed. When using [method delay_msec] as part of an " +"[EditorPlugin] or [EditorScript], it will freeze the editor but won't freeze " +"the project if it is currently running (since the project is an independent " +"child process)." +msgstr "" +"将当前线程的执行延迟 [param msec] 毫秒。[param msec] 必须大于或等于 [code]0[/" +"code]。否则,[method delay_msec] 将不执行任何操作并打印一条错误消息。\n" +"[b]注意:[/b][method delay_msec] 是一种[i]阻塞[/i]延迟代码执行的方式。要以非" +"阻塞的方式延迟代码执行,请参阅 [method SceneTree.create_timer]。使用 [method " +"SceneTree.create_timer] 等待将会延迟那些放置在 [code]await[/code] 下方的代码" +"的执行,而不会影响该项目(或编辑器,对于 [EditorPlugin] 和 [EditorScript])的" +"其余部分。\n" +"[b]注意:[/b]当在主线程上调用 [method delay_msec] 时,它将冻结项目并阻止它重" +"新绘制和注册输入,直到延迟结束。当使用 [method delay_msec] 作为 " +"[EditorPlugin] 或 [EditorScript] 的一部分时,它会冻结编辑器但不会冻结当前正在" +"运行的项目(因为项目是一个独立的子进程)。" + +msgid "" +"Delays execution of the current thread by [param usec] microseconds. [param " +"usec] must be greater than or equal to [code]0[/code]. Otherwise, [method " +"delay_usec] will do nothing and will print an error message.\n" +"[b]Note:[/b] [method delay_usec] is a [i]blocking[/i] way to delay code " +"execution. To delay code execution in a non-blocking way, see [method " +"SceneTree.create_timer]. Awaiting with [method SceneTree.create_timer] will " +"delay the execution of code placed below the [code]await[/code] without " +"affecting the rest of the project (or editor, for [EditorPlugin]s and " +"[EditorScript]s).\n" +"[b]Note:[/b] When [method delay_usec] is called on the main thread, it will " +"freeze the project and will prevent it from redrawing and registering input " +"until the delay has passed. When using [method delay_usec] as part of an " +"[EditorPlugin] or [EditorScript], it will freeze the editor but won't freeze " +"the project if it is currently running (since the project is an independent " +"child process)." +msgstr "" +"将当前线程的执行延迟 [param usec] 微秒。[param usec] 必须大于或等于 [code]0[/" +"code]。否则,[method delay_usec] 将不执行任何操作并打印一条错误消息。\n" +"[b]注意:[/b][method delay_usec] 是一种[i]阻塞[/i]延迟代码执行的方式。要以非" +"阻塞的方式延迟代码执行,请参阅 [method SceneTree.create_timer]。使用 [method " +"SceneTree.create_timer] 等待将会延迟那些放置在 [code]await[/code] 下方的代码" +"的执行,而不会影响该项目(或编辑器,对于 [EditorPlugin] 和 [EditorScript])的" +"其余部分。\n" +"[b]注意:[/b]当在主线程上调用 [method delay_usec] 时,它将冻结项目并阻止它重" +"新绘制和注册输入,直到延迟结束。当使用 [method delay_usec] 作为 " +"[EditorPlugin] 或 [EditorScript] 的一部分时,它会冻结编辑器但不会冻结当前正在" +"运行的项目(因为项目是一个独立的子进程)。" + +msgid "" +"Executes a command. The file specified in [param path] must exist and be " +"executable. Platform path resolution will be used. The [param arguments] are " +"used in the given order and separated by a space. If an [param output] " +"[Array] is provided, the complete shell output of the process will be " +"appended as a single [String] element in [param output]. If [param " +"read_stderr] is [code]true[/code], the output to the standard error stream " +"will be included too.\n" +"On Windows, if [param open_console] is [code]true[/code] and the process is " +"a console app, a new terminal window will be opened. This is ignored on " +"other platforms.\n" +"If the command is successfully executed, the method will return the exit " +"code of the command, or [code]-1[/code] if it fails.\n" +"[b]Note:[/b] The Godot thread will pause its execution until the executed " +"command terminates. Use [Thread] to create a separate thread that will not " +"pause the Godot thread, or use [method create_process] to create a " +"completely independent process.\n" +"For example, to retrieve a list of the working directory's contents:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var output = []\n" +"var exit_code = OS.execute(\"ls\", [\"-l\", \"/tmp\"], output)\n" +"[/gdscript]\n" +"[csharp]\n" +"var output = new Godot.Collections.Array();\n" +"int exitCode = OS.Execute(\"ls\", new string[] {\"-l\", \"/tmp\"}, output);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"If you wish to access a shell built-in or execute a composite command, a " +"platform-specific shell can be invoked. For example:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var output = []\n" +"OS.execute(\"CMD.exe\", [\"/C\", \"cd %TEMP% && dir\"], output)\n" +"[/gdscript]\n" +"[csharp]\n" +"var output = new Godot.Collections.Array();\n" +"OS.Execute(\"CMD.exe\", new string[] {\"/C\", \"cd %TEMP% && dir\"}, " +"output);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and " +"Windows.\n" +"[b]Note:[/b] To execute a Windows command interpreter built-in command, " +"specify [code]cmd.exe[/code] in [param path], [code]/c[/code] as the first " +"argument, and the desired command as the second argument.\n" +"[b]Note:[/b] To execute a PowerShell built-in command, specify " +"[code]powershell.exe[/code] in [param path], [code]-Command[/code] as the " +"first argument, and the desired command as the second argument.\n" +"[b]Note:[/b] To execute a Unix shell built-in command, specify shell " +"executable name in [param path], [code]-c[/code] as the first argument, and " +"the desired command as the second argument.\n" +"[b]Note:[/b] On macOS, sandboxed applications are limited to run only " +"embedded helper executables, specified during export." +msgstr "" +"执行一条命令。[param path] 中指定的文件必须存在且可执行。将使用平台路径解析。" +"[param arguments] 按给定顺序使用,并以空格分隔。如果提供了 [param output] " +"[Array],则进程的完整 shell 输出,将作为单个 [String] 元素追加到 [param " +"output] 中。如果 [param read_stderr] 为 [code]true[/code],则标准错误流的输出" +"也将被包含在内。\n" +"在 Windows 上,如果 [param open_console] 为 [code]true[/code] 并且进程是控制" +"台应用程序,则将打开一个新的终端窗口。该参数在其他平台上被忽略。\n" +"如果命令执行成功,该方法将返回命令的退出代码,如果失败则返回 [code]-1[/" +"code]。\n" +"[b]注意:[/b]Godot 线程将暂停执行,直到执行的命令终止。使用 [Thread] 创建一个" +"不会暂停 Godot 线程的独立线程,或者使用 [method create_process] 创建一个完全" +"独立的进程。\n" +"例如,要检索工作目录内容的列表:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var output = []\n" +"var exit_code = OS.execute(\"ls\", [\"-l\", \"/tmp\"], output)\n" +"[/gdscript]\n" +"[csharp]\n" +"var output = new Godot.Collections.Array();\n" +"int exitCode = OS.Execute(\"ls\", new string[] {\"-l\", \"/tmp\"}, output);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"如果希望访问内置的 shell 或执行复合命令,则可以调用特定于平台的 shell。例" +"如:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var output = []\n" +"OS.execute(\"CMD.exe\", [\"/C\", \"cd %TEMP% && dir\"], output)\n" +"[/gdscript]\n" +"[csharp]\n" +"var output = new Godot.Collections.Array();\n" +"OS.Execute(\"CMD.exe\", new string[] {\"/C\", \"cd %TEMP% && dir\"}, " +"output);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]注意:[/b]该方法在 Android、iOS、Linux、macOS 和 Windows 上实现。\n" +"[b]注意:[/b]要执行 Windows 命令解释器的内置命令,在 [param path] 中指定 " +"[code]cmd.exe[/code],将 [code]/c[/code] 作为第一个参数,并将所需的命令作为第" +"二个参数。\n" +"[b]注意:[/b]要执行 PowerShell 的内置命令,在 [param path] 中指定 " +"[code]powershell.exe[/code],将 [code]-Command[/code] 作为第一个参数,然后将" +"所需的命令作为第二个参数。\n" +"[b]注意:[/b]要执行 Unix shell 内置命令,请在 [param path] 中指定 shell 可执" +"行文件名称,将 [code]-c[/code] 作为第一个参数,并将所需的命令作为第二个参" +"数。\n" +"[b]注意:[/b]在 macOS 上,沙盒应用程序仅限于运行在导出期间指定的嵌入的辅助可" +"执行文件。" + msgid "Returns the keycode of the given string (e.g. \"Escape\")." msgstr "返回给定字符串(例如“Escape”)的键码。" msgid "" +"Returns the command-line arguments passed to the engine.\n" +"Command-line arguments can be written in any form, including both [code]--" +"key value[/code] and [code]--key=value[/code] forms so they can be properly " +"parsed, as long as custom command-line arguments do not conflict with engine " +"arguments.\n" +"You can also incorporate environment variables using the [method " +"get_environment] method.\n" +"You can set [member ProjectSettings.editor/run/main_run_args] to define " +"command-line arguments to be passed by the editor when running the project.\n" +"Here's a minimal example on how to parse command-line arguments into a " +"dictionary using the [code]--key=value[/code] form for arguments:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var arguments = {}\n" +"for argument in OS.get_cmdline_args():\n" +" if argument.find(\"=\") > -1:\n" +" var key_value = argument.split(\"=\")\n" +" arguments[key_value[0].lstrip(\"--\")] = key_value[1]\n" +" else:\n" +" # Options without an argument will be present in the dictionary,\n" +" # with the value set to an empty string.\n" +" arguments[argument.lstrip(\"--\")] = \"\"\n" +"[/gdscript]\n" +"[csharp]\n" +"var arguments = new Godot.Collections.Dictionary();\n" +"foreach (var argument in OS.GetCmdlineArgs())\n" +"{\n" +" if (argument.Find(\"=\") > -1)\n" +" {\n" +" string[] keyValue = argument.Split(\"=\");\n" +" arguments[keyValue[0].LStrip(\"--\")] = keyValue[1];\n" +" }\n" +" else\n" +" {\n" +" // Options without an argument will be present in the dictionary,\n" +" // with the value set to an empty string.\n" +" arguments[keyValue[0].LStrip(\"--\")] = \"\";\n" +" }\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Note:[/b] Passing custom user arguments directly is not recommended, as " +"the engine may discard or modify them. Instead, the best way is to use the " +"standard UNIX double dash ([code]--[/code]) and then pass custom arguments, " +"which the engine itself will ignore. These can be read via [method " +"get_cmdline_user_args]." +msgstr "" +"返回传递给引擎的命令行参数。\n" +"命令行参数可以写成任何形式,包括 [code]--key value[/code] 和 [code]--" +"key=value[/code] 两种形式,这样它们就可以被正确解析,只要自定义命令行参数不与" +"引擎参数冲突。\n" +"还可以使用 [method get_environment] 方法合并环境变量。\n" +"可以设置 [member ProjectSettings.editor/run/main_run_args] 来定义编辑器在运行" +"项目时传递的命令行参数。\n" +"下面是一个关于如何使用参数的 [code]--key=value[/code] 形式,将命令行参数解析" +"为一个字典的最小示例:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var arguments = {}\n" +"for argument in OS.get_cmdline_args():\n" +" if argument.find(\"=\") > -1:\n" +" var key_value = argument.split(\"=\")\n" +" arguments[key_value[0].lstrip(\"--\")] = key_value[1]\n" +" else:\n" +" # 没有参数的选项将出现在字典中,\n" +" # 其值被设置为空字符串。\n" +" arguments[argument.lstrip(\"--\")] = \"\"\n" +"[/gdscript]\n" +"[csharp]\n" +"var arguments = new Godot.Collections.Dictionary();\n" +"foreach (var argument in OS.GetCmdlineArgs())\n" +"{\n" +" if (argument.Find(\"=\") > -1)\n" +" {\n" +" string[] keyValue = argument.Split(\"=\");\n" +" arguments[keyValue[0].LStrip(\"--\")] = keyValue[1];\n" +" }\n" +" else\n" +" {\n" +" // 没有参数的选项将出现在字典中,\n" +" // 其值被设置为空字符串。\n" +" arguments[keyValue[0].LStrip(\"--\")] = \"\";\n" +" }\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]注意:[/b]不建议直接传递自定义用户参数,因为引擎可能会丢弃或修改它们。相" +"反,最好的方法是使用标准的 UNIX 双破折号([code]--[/code]),然后传递自定义参" +"数,引擎本身将忽略这些参数。这些可以通过 [method get_cmdline_user_args] 读" +"取。" + +msgid "" +"Returns the value of an environment variable. Returns an empty string if the " +"environment variable doesn't exist.\n" +"[b]Note:[/b] Double-check the casing of [param variable]. Environment " +"variable names are case-sensitive on all platforms except Windows." +msgstr "" +"返回环境变量的值。如果环境变量不存在,则返回一个空字符串。\n" +"[b]注意:[/b]请仔细检查 [param variable] 的大小写。环境变量名称在除 Windows " +"之外的所有平台上都区分大小写。" + +msgid "" +"Returns the path to the current engine executable.\n" +"[b]Note:[/b] On macOS, always use [method create_instance] instead of " +"relying on executable path." +msgstr "" +"返回当前引擎可执行文件的路径。\n" +"[b]注意:[/b]在 macOS 上,请始终使用 [method create_instance],不要依赖可执行" +"文件的路径。" + +msgid "" "With this function, you can get the list of dangerous permissions that have " "been granted to the Android application.\n" "[b]Note:[/b] This method is implemented on Android." @@ -42573,6 +50611,17 @@ msgstr "" "[b]注意:[/b]这个方法在 Android 上实现。" msgid "" +"Returns the given keycode as a string (e.g. Return values: [code]\"Escape\"[/" +"code], [code]\"Shift+Escape\"[/code]).\n" +"See also [member InputEventKey.keycode] and [method InputEventKey." +"get_keycode_with_modifiers]." +msgstr "" +"返回给定键码的字符串形式(例如,返回值:[code]\"Escape\"[/code]、" +"[code]\"Shift+Escape\"[/code])。\n" +"另见 [member InputEventKey.keycode] 和 [method InputEventKey." +"get_keycode_with_modifiers]。" + +msgid "" "Returns the host OS locale as a string of the form " "[code]language_Script_COUNTRY_VARIANT@extra[/code]. If you want only the " "language code and not the fully specified locale from the OS, you can use " @@ -42638,6 +50687,124 @@ msgstr "" "[code]\"GenericDevice\"[/code]。" msgid "" +"Returns the name of the host OS.\n" +"On Windows, this is [code]\"Windows\"[/code] or [code]\"UWP\"[/code] if " +"exported on Universal Windows Platform.\n" +"On macOS, this is [code]\"macOS\"[/code].\n" +"On Linux-based operating systems, this is [code]\"Linux\"[/code].\n" +"On BSD-based operating systems, this is [code]\"FreeBSD\"[/code], " +"[code]\"NetBSD\"[/code], [code]\"OpenBSD\"[/code], or [code]\"BSD\"[/code] " +"as a fallback.\n" +"On Android, this is [code]\"Android\"[/code].\n" +"On iOS, this is [code]\"iOS\"[/code].\n" +"On the web, this is [code]\"Web\"[/code].\n" +"[b]Note:[/b] Custom builds of the engine may support additional platforms, " +"such as consoles, yielding other return values.\n" +"[codeblocks]\n" +"[gdscript]\n" +"match OS.get_name():\n" +" \"Windows\", \"UWP\":\n" +" print(\"Windows\")\n" +" \"macOS\":\n" +" print(\"macOS\")\n" +" \"Linux\", \"FreeBSD\", \"NetBSD\", \"OpenBSD\", \"BSD\":\n" +" print(\"Linux/BSD\")\n" +" \"Android\":\n" +" print(\"Android\")\n" +" \"iOS\":\n" +" print(\"iOS\")\n" +" \"Web\":\n" +" print(\"Web\")\n" +"[/gdscript]\n" +"[csharp]\n" +"switch (OS.GetName())\n" +"{\n" +" case \"Windows\":\n" +" case \"UWP\":\n" +" GD.Print(\"Windows\");\n" +" break;\n" +" case \"macOS\":\n" +" GD.Print(\"macOS\");\n" +" break;\n" +" case \"Linux\":\n" +" case \"FreeBSD\":\n" +" case \"NetBSD\":\n" +" case \"OpenBSD\"\n" +" case \"BSD\":\n" +" GD.Print(\"Linux/BSD\");\n" +" break;\n" +" case \"Android\":\n" +" GD.Print(\"Android\");\n" +" break;\n" +" case \"iOS\":\n" +" GD.Print(\"iOS\");\n" +" break;\n" +" case \"Web\":\n" +" GD.Print(\"Web\");\n" +" break;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"返回主机操作系统的名称。\n" +"在 Windows 上为 [code]\"Windows\"[/code],如果在通用 Windows 平台上导出则为 " +"[code]\"UWP\"[/code]。\n" +"在 macOS 上为 [code]\"macOS\"[/code]。\n" +"在基于 Linux 的操作系统上为 [code]\"Linux\"[/code]。\n" +"在基于 BSD 的操作系统上为 [code]\"FreeBSD\"[/code]、[code]\"NetBSD\"[/code]、" +"[code]\"OpenBSD\"[/code], 会使用 [code]\"BSD\"[/code] 作为回退方案。\n" +"在 Android 上为 [code]\"Android\"[/code]。\n" +"在 iOS 上为 [code]\"iOS\"[/code]。\n" +"在 Web 上为 [code]\"Web\"[/code]。\n" +"[b]注意:[/b]自定义构建的引擎可能支持其他平台,例如游戏主机,可能返回其他" +"值。\n" +"[codeblocks]\n" +"[gdscript]\n" +"match OS.get_name():\n" +" \"Windows\", \"UWP\":\n" +" print(\"Windows\")\n" +" \"macOS\":\n" +" print(\"macOS\")\n" +" \"Linux\", \"FreeBSD\", \"NetBSD\", \"OpenBSD\", \"BSD\":\n" +" print(\"Linux/BSD\")\n" +" \"Android\":\n" +" print(\"Android\")\n" +" \"iOS\":\n" +" print(\"iOS\")\n" +" \"Web\":\n" +" print(\"Web\")\n" +"[/gdscript]\n" +"[csharp]\n" +"switch (OS.GetName())\n" +"{\n" +" case \"Windows\":\n" +" case \"UWP\":\n" +" GD.Print(\"Windows\");\n" +" break;\n" +" case \"macOS\":\n" +" GD.Print(\"macOS\");\n" +" break;\n" +" case \"Linux\":\n" +" case \"FreeBSD\":\n" +" case \"NetBSD\":\n" +" case \"OpenBSD\"\n" +" case \"BSD\":\n" +" GD.Print(\"Linux/BSD\");\n" +" break;\n" +" case \"Android\":\n" +" GD.Print(\"Android\");\n" +" break;\n" +" case \"iOS\":\n" +" GD.Print(\"iOS\");\n" +" break;\n" +" case \"Web\":\n" +" GD.Print(\"Web\");\n" +" break;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" "Returns the project's process ID.\n" "[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and " "Windows." @@ -42653,6 +50820,18 @@ msgstr "" "返回主机的[i]逻辑[/i] CPU 核心数。对于启用了超线程的 CPU,这个数会比[i]物理[/" "i] CPU 核心数大。" +msgid "" +"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) " +"Core(TM) i7-6700K CPU @ 4.00GHz\").\n" +"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and " +"iOS. On Android, Web and UWP, [method get_processor_name] returns an empty " +"string." +msgstr "" +"返回主机 CPU 型号的名称(例如 \"Intel(R) Core(TM) i7-6700K CPU @ " +"4.00GHz\")。\n" +"[b]注意:[/b]这个方法仅在 Windows、macOS、Linux 和 iOS 上实现。在 Android、" +"Web 和 UWP 平台,[method get_processor_name] 返回空字符串。" + msgid "Returns the maximum amount of static memory used (only works in debug)." msgstr "返回使用的静态内存的最大数量(仅在调试时有效)。" @@ -42676,6 +50855,56 @@ msgstr "" "录。共享目录在 Android 上有额外的限制。" msgid "" +"Returns path to the system font file with [param font_name] and style. " +"Returns empty string if no matching fonts found.\n" +"The following aliases can be used to request default fonts: \"sans-serif\", " +"\"serif\", \"monospace\", \"cursive\", and \"fantasy\".\n" +"[b]Note:[/b] Returned font might have different style if the requested style " +"is not available.\n" +"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and " +"Windows." +msgstr "" +"返回名称为 [param font_name] 并且其他风格也相符的系统字体文件路径。如果没有相" +"匹配的字体,则返回空字符串。\n" +"下列别名可用于请求默认字体:无衬线“sans-serif”、有衬线“serif”、等" +"宽“monospace”、手写体“cursive”、花体“fantasy”。\n" +"[b]注意:[/b]如果没有请求的风格,则可能返回不同风格的字体。\n" +"[b]注意:[/b]该方法在 Android、iOS、Linux、macOS、Windows 上实现。" + +msgid "" +"Returns an array of the system substitute font file paths, which are similar " +"to the font with [param font_name] and style for the specified text, locale " +"and script. Returns empty array if no matching fonts found.\n" +"The following aliases can be used to request default fonts: \"sans-serif\", " +"\"serif\", \"monospace\", \"cursive\", and \"fantasy\".\n" +"[b]Note:[/b] Depending on OS, it's not guaranteed that any of the returned " +"fonts is suitable for rendering specified text. Fonts should be loaded and " +"checked in the order they are returned, and the first suitable one used.\n" +"[b]Note:[/b] Returned fonts might have different style if the requested " +"style is not available or belong to a different font family.\n" +"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and " +"Windows." +msgstr "" +"返回系统替换字体文件路径的数组,这些字体与名称为 [param font_name] 并且其他风" +"格也相符的字体相近,可用于指定的文本、区域设置以及文字。如果没有相匹配的字" +"体,则返回空数组。\n" +"下列别名可用于请求默认字体:无衬线“sans-serif”、有衬线“serif”、等" +"宽“monospace”、手写体“cursive”、花体“fantasy”。\n" +"[b]注意:[/b]根据操作系统的不同,无法保证任何返回的字体都适合渲染指定的文本。" +"应该按照返回的顺序加载并检查字体,选用第一个合适的字体。\n" +"[b]注意:[/b]如果没有请求的风格,或者属于不同的字体家族,则可能返回不同风格的" +"字体。\n" +"[b]注意:[/b]该方法在 Android、iOS、Linux、macOS、Windows 上实现。" + +msgid "" +"Returns list of font family names available.\n" +"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and " +"Windows." +msgstr "" +"返回可用的字体家族名称列表。\n" +"[b]注意:[/b]该方法在 Android、iOS、Linux、macOS、Windows 上实现。" + +msgid "" "Returns the ID of the current thread. This can be used in logs to ease " "debugging of multi-threaded applications.\n" "[b]Note:[/b] Thread IDs are not deterministic and may be reused across " @@ -42685,11 +50914,129 @@ msgstr "" "[b]注意:[/b] 线程 ID 不是确定的,也许会在应用程序重新启动时被重复使用。" msgid "" +"Returns the absolute directory path where user data is written ([code]user://" +"[/code]).\n" +"On Windows, this is [code]%AppData%\\Godot\\app_userdata\\[project_name][/" +"code], or [code]%AppData%\\[custom_name][/code] if " +"[code]use_custom_user_dir[/code] is set. [code]%AppData%[/code] expands to " +"[code]%UserProfile%\\AppData\\Roaming[/code].\n" +"On macOS, this is [code]~/Library/Application Support/Godot/app_userdata/" +"[project_name][/code], or [code]~/Library/Application Support/[custom_name][/" +"code] if [code]use_custom_user_dir[/code] is set.\n" +"On Linux and BSD, this is [code]~/.local/share/godot/app_userdata/" +"[project_name][/code], or [code]~/.local/share/[custom_name][/code] if " +"[code]use_custom_user_dir[/code] is set.\n" +"On Android and iOS, this is a sandboxed directory in either internal or " +"external storage, depending on the user's configuration.\n" +"On the web, this is a virtual directory managed by the browser.\n" +"If the project name is empty, [code][project_name][/code] falls back to " +"[code][unnamed project][/code].\n" +"Not to be confused with [method get_data_dir], which returns the [i]global[/" +"i] (non-project-specific) user home directory." +msgstr "" +"返回用于写入用户数据的绝对目录路径([code]user://[/code])。\n" +"在 Windows 上,这是 [code]%AppData%\\Godot\\app_userdata\\[project_name][/" +"code];如果已设置 [code]use_custom_user_dir[/code],则为 [code]%AppData%" +"\\[custom_name][/code]。[code]%AppData%[/code] 扩展为 [code]%UserProfile%" +"\\AppData\\Roaming[/code]。\n" +"在 macOS 上,这是 [code]~/Library/Application Support/Godot/app_userdata/" +"[project_name][/code];如果已设置 [code]use_custom_user_dir [/code],则为 " +"[code]~/Library/Application Support/[custom_name][/code] 。\n" +"在 Linux 和 BSD 上,这是 [code]~/.local/share/godot/app_userdata/" +"[project_name][/code];如果已设置 [code]use_custom_user_dir[/code],则为 " +"[code]~/.local/share/[custom_name][/code]。\n" +"在 Android 和 iOS 上,这是内部存储或外部存储中的沙盒目录,具体取决于用户的配" +"置。\n" +"在 Web 上,这是由浏览器管理的虚拟目录。\n" +"如果项目名称为空,则 [code][project_name][/code] 将回退为 [code][unnamed " +"project][/code]。\n" +"请勿与 [method get_data_dir] 混淆,后者返回的是[i]全局[/i](非项目特定的)用" +"户主目录。" + +msgid "" +"Returns [code]true[/code] if the environment variable with the name [param " +"variable] exists.\n" +"[b]Note:[/b] Double-check the casing of [param variable]. Environment " +"variable names are case-sensitive on all platforms except Windows." +msgstr "" +"如果名称为 [param variable] 的环境变量存在,则返回 [code]true[/code]。\n" +"[b]注意:[/b]请仔细检查 [param variable] 的大小写。环境变量名称在除 Windows " +"之外的所有平台上都区分大小写。" + +msgid "" "Returns [code]true[/code] if the input keycode corresponds to a Unicode " "character." msgstr "如果输入键码对应一个 Unicode 字符,则返回 [code]true[/code]。" msgid "" +"Returns [code]true[/code] if the child process ID ([param pid]) is still " +"running or [code]false[/code] if it has terminated.\n" +"Must be a valid ID generated from [method create_process].\n" +"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and " +"Windows." +msgstr "" +"如果该子进程 ID([param pid])仍在运行,则返回 [code]true[/code];如果它已终" +"止,则返回 [code]false[/code]。\n" +"必须是从 [method create_process] 生成的有效 ID。\n" +"[b]注意:[/b]该方法在 Android、iOS、Linux、macOS 和 Windows 上实现。" + +msgid "" +"Kill (terminate) the process identified by the given process ID ([param " +"pid]), e.g. the one returned by [method execute] in non-blocking mode. See " +"also [method crash].\n" +"[b]Note:[/b] This method can also be used to kill processes that were not " +"spawned by the game.\n" +"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and " +"Windows." +msgstr "" +"杀死(终止)由给定进程 ID([param pid])标识的进程,例如由 [method execute] " +"在非阻塞模式下返回的那个进程 ID。另请参阅 [method crash]。\n" +"[b]注意:[/b]该方法也可用于杀死不是由游戏产生的进程。\n" +"[b]注意:[/b]该方法在 Android、iOS、Linux、macOS 和 Windows 上实现。" + +msgid "" +"Moves the file or directory to the system's recycle bin. See also [method " +"DirAccess.remove].\n" +"The method takes only global paths, so you may need to use [method " +"ProjectSettings.globalize_path]. Do not use it for files in [code]res://[/" +"code] as it will not work in exported projects.\n" +"[b]Note:[/b] If the user has disabled the recycle bin on their system, the " +"file will be permanently deleted instead.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var file_to_remove = \"user://slot1.save\"\n" +"OS.move_to_trash(ProjectSettings.globalize_path(file_to_remove))\n" +"[/gdscript]\n" +"[csharp]\n" +"var fileToRemove = \"user://slot1.save\";\n" +"OS.MoveToTrash(ProjectSettings.GlobalizePath(fileToRemove));\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"将文件或目录移动到系统的回收站。另见 [method DirAccess.remove]。\n" +"该方法仅支持全局路径,所以可能需要使用 [method ProjectSettings." +"globalize_path]。请勿将其用于 [code]res://[/code] 中的文件,因为它在导出后的" +"项目中是无法正常工作的。\n" +"[b]注意:[/b]如果用户在系统上禁用了回收站,则该文件将被永久删除。\n" +"[codeblocks]\n" +"[gdscript]\n" +"var file_to_remove = \"user://slot1.save\"\n" +"OS.move_to_trash(ProjectSettings.globalize_path(file_to_remove))\n" +"[/gdscript]\n" +"[csharp]\n" +"var fileToRemove = \"user://slot1.save\";\n" +"OS.MoveToTrash(ProjectSettings.GlobalizePath(fileToRemove));\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" +"Initializes the singleton for the system MIDI driver.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" +"初始化系统 MIDI 驱动的单例。\n" +"[b]注意:[/b]该方法在 Linux、macOS、Windows 上实现。" + +msgid "" "At the moment this function is only used by [code]AudioDriverOpenSL[/code] " "to request permission for [code]RECORD_AUDIO[/code] on Android." msgstr "" @@ -42706,9 +51053,78 @@ msgstr "" "装时自动授予。\n" "[b]注意:[/b]这个方法在 Android 上实现。" +msgid "" +"Sets the value of the environment variable [param variable] to [param " +"value]. The environment variable will be set for the Godot process and any " +"process executed with [method execute] after running [method " +"set_environment]. The environment variable will [i]not[/i] persist to " +"processes run after the Godot process was terminated.\n" +"[b]Note:[/b] Environment variable names are case-sensitive on all platforms " +"except Windows. The [param variable] name cannot be empty or include the " +"[code]=[/code] character. On Windows, there is a 32767 characters limit for " +"the combined length of [param variable], [param value], and the [code]=[/" +"code] and null terminator characters that will be registered in the " +"environment block." +msgstr "" +"将环境变量 [param variable] 的值设置为 [param value]。运行 [method " +"set_environment] 后,会为 Godot 进程和任何用 [method execute] 执行的进程设置" +"该环境变量。该环境变量[i]不会[/i]持续存在于 Godot 进程终止后运行的进程中。\n" +"[b]注意:[/b]环境变量的名称在除 Windows 外的所有平台上都是区分大小写的。名称 " +"[param variable] 不能为空,也不能包含 [code]=[/code] 字符。在 Windows 上,在" +"环境块中注册的 [param variable]、[param value]、[code]=[/code] 以及 null 终止" +"符的总长度有 32767 个字符的限制。" + +msgid "" +"If [param restart] is [code]true[/code], restarts the project automatically " +"when it is exited with [method SceneTree.quit] or [constant Node." +"NOTIFICATION_WM_CLOSE_REQUEST]. Command line [param arguments] can be " +"supplied. To restart the project with the same command line arguments as " +"originally used to run the project, pass [method get_cmdline_args] as the " +"value for [param arguments].\n" +"[method set_restart_on_exit] can be used to apply setting changes that " +"require a restart. See also [method is_restart_on_exit_set] and [method " +"get_restart_on_exit_arguments].\n" +"[b]Note:[/b] This method is only effective on desktop platforms, and only " +"when the project isn't started from the editor. It will have no effect on " +"mobile and Web platforms, or when the project is started from the editor.\n" +"[b]Note:[/b] If the project process crashes or is [i]killed[/i] by the user " +"(by sending [code]SIGKILL[/code] instead of the usual [code]SIGTERM[/code]), " +"the project won't restart automatically." +msgstr "" +"如果 [param restart] 为 [code]true[/code],则项目在使用 [method SceneTree." +"quit] 或 [constant Node.NOTIFICATION_WM_CLOSE_REQUEST] 退出时,会自动重新启" +"动。可以提供命令行 [param arguments]。要使用最初用于运行项目的命令行参数重新" +"启动项目,请将 [method get_cmdline_args] 作为 [param arguments] 的值传递。\n" +"[method set_restart_on_exit] 可用于应用需要重新启动的设置更改。另请参见 " +"[method is_restart_on_exit_set] 和 [method get_restart_on_exit_arguments]。\n" +"[b]注意:[/b]该方法只在桌面平台上有效,并且只在项目不是从编辑器启动时有效。不" +"会影响移动和 Web 平台,或者当项目从编辑器启动时。\n" +"[b]注意:[/b]如果项目进程崩溃或被用户[i]杀死[/i](通过发送 [code]SIGKILL[/" +"code] 而不是通常的 [code]SIGTERM[/code]),项目不会自动重新启动。" + msgid "Sets the name of the current thread." msgstr "设置当前线程的名称。" +msgid "Enables backup saves if [param enabled] is [code]true[/code]." +msgstr "如果 [param enabled] 为 [code]true[/code],则启用备份保存。" + +msgid "" +"Removes the environment [param variable] from the current environment, if it " +"exists. The environment variable will be removed for the Godot process and " +"any process executed with [method execute] after running [method " +"unset_environment]. The removal of the environment variable will [i]not[/i] " +"persist to processes run after the Godot process was terminated.\n" +"[b]Note:[/b] Environment variable names are case-sensitive on all platforms " +"except Windows. The [param variable] name cannot be empty or include the " +"[code]=[/code] character." +msgstr "" +"从当前环境中移除环境变量 [param variable](如果存在)。在运行 [method " +"unset_environment] 后,将为 Godot 进程和使用 [method execute] 执行的任何进程" +"移除环境变量。环境变量的移除并[i]不会[/i]持续到 Godot 进程终止后运行的进" +"程。\n" +"[b]注意:[/b]环境变量名称在除 Windows 以外的所有平台上都区分大小写。[param " +"variable] 名称不能为空或包含 [code]=[/code] 字符。" + msgid "" "If [code]true[/code], the engine optimizes for low processor usage by only " "refreshing the screen if needed. Can improve battery consumption on mobile." @@ -42723,6 +51139,20 @@ msgstr "" "启用低处理器使用模式时,帧之间的休眠量(单位为微秒)。较高的值将导致较低的 " "CPU 使用率。" +msgid "" +"The Vulkan rendering driver. It requires Vulkan 1.0 support and " +"automatically uses features from Vulkan 1.1 and 1.2 if available." +msgstr "" +"Vulkan 渲染驱动。需要支持 Vulkan 1.0,而 Vulkan 1.1 和 1.2 的功能则会在支持时" +"自动使用。" + +msgid "" +"The OpenGL 3 rendering driver. It uses OpenGL 3.3 Core Profile on desktop " +"platforms, OpenGL ES 3.0 on mobile devices, and WebGL 2.0 on Web." +msgstr "" +"OpenGL 3 渲染驱动。在桌面平台上使用 OpenGL 3.3 核心配置,在移动设备上使用 " +"OpenGL ES 3.0,在 Web 上使用 WebGL 2.0。" + msgid "Desktop directory path." msgstr "桌面目录路径。" @@ -42966,6 +51396,14 @@ msgstr "" "从偏移量位置开始,该数组必须还分配有至少 4 个字节的空间。" msgid "" +"Encodes a 64-bit signed integer number as bytes at the index of [param " +"byte_offset] bytes. The array must have at least 8 bytes of space, starting " +"at the offset." +msgstr "" +"将 64 位有符号整数编码为字节序列,起始位置字节偏移量为 [param byte_offset]。" +"从偏移量位置开始,该数组必须还分配有至少 8 个字节的空间。" + +msgid "" "Encodes a 8-bit signed integer number (signed byte) at the index of [param " "byte_offset] bytes. The array must have at least 1 byte of space, starting " "at the offset." @@ -43122,12 +51560,117 @@ msgstr "" msgid "Changes the byte at the given index." msgstr "改变给定索引处的字节。" +msgid "" +"Returns the slice of the [PackedByteArray], from [param begin] (inclusive) " +"to [param end] (exclusive), as a new [PackedByteArray].\n" +"The absolute value of [param begin] and [param end] will be clamped to the " +"array size, so the default value for [param end] makes it slice to the size " +"of the array by default (i.e. [code]arr.slice(1)[/code] is a shorthand for " +"[code]arr.slice(1, arr.size())[/code]).\n" +"If either [param begin] or [param end] are negative, they will be relative " +"to the end of the array (i.e. [code]arr.slice(0, -2)[/code] is a shorthand " +"for [code]arr.slice(0, arr.size() - 2)[/code])." +msgstr "" +"返回该 [PackedByteArray] 的切片,是从 [param begin](含)到 [param end](不" +"含)的全新 [PackedVecPackedByteArraytor3Array]。\n" +"[param begin] 和 [param end] 的绝对值会按数组大小进行限制,所以 [param end] " +"的默认值会切到数组大小为止(即 [code]arr.slice(1)[/code] 是 [code]arr." +"slice(1, arr.size())[/code] 的简写)。\n" +"如果 [param begin] 或 [param end] 为负,则表示相对于数组的末尾(即 [code]arr." +"slice(0, -2)[/code] 是 [code]arr.slice(0, arr.size() - 2)[/code] 的简写)。" + msgid "Sorts the elements of the array in ascending order." msgstr "将该数组中的元素按升序排列。" +msgid "" +"Returns a copy of the data converted to a [PackedFloat32Array], where each " +"block of 4 bytes has been converted to a 32-bit float (C++ [code]float[/" +"code]).\n" +"The size of the input array must be a multiple of 4 (size of 32-bit float). " +"The size of the new array will be [code]byte_array.size() / 4[/code].\n" +"If the original data can't be converted to 32-bit floats, the resulting data " +"is undefined." +msgstr "" +"返回将数据转换为 [PackedFloat32Array] 的副本,每 4 个字节块转换为一个 32 位浮" +"点数(C++ 的 [code]float[/code])。\n" +"输入数组的大小必须为 4 的倍数(32 位浮点数的大小)。新数组的大小为 " +"[code]byte_array.size() / 4[/code]。\n" +"如果原始数据无法转换为 32 位浮点数,则最终的数据未定义。" + +msgid "" +"Returns a copy of the data converted to a [PackedFloat64Array], where each " +"block of 8 bytes has been converted to a 64-bit float (C++ [code]double[/" +"code], Godot [float]).\n" +"The size of the input array must be a multiple of 8 (size of 64-bit double). " +"The size of the new array will be [code]byte_array.size() / 8[/code].\n" +"If the original data can't be converted to 64-bit floats, the resulting data " +"is undefined." +msgstr "" +"返回将数据转换为 [PackedFloat64Array] 的副本,每 8 个字节块转换为一个 64 位浮" +"点数(C++ 的 [code]double[/code])。\n" +"输入数组的大小必须为 8 的倍数(64 位浮点数的大小)。新数组的大小为 " +"[code]byte_array.size() / 8[/code]。\n" +"如果原始数据无法转换为 64 位浮点数,则最终的数据未定义。" + +msgid "" +"Returns a copy of the data converted to a [PackedInt32Array], where each " +"block of 4 bytes has been converted to a signed 32-bit integer (C++ " +"[code]int32_t[/code]).\n" +"The size of the input array must be a multiple of 4 (size of 32-bit " +"integer). The size of the new array will be [code]byte_array.size() / 4[/" +"code].\n" +"If the original data can't be converted to signed 32-bit integers, the " +"resulting data is undefined." +msgstr "" +"返回将数据转换为 [PackedInt32Array] 的副本,每 4 个字节块转换为一个 32 位有符" +"号整数(C++ 的 [code]int32_t[/code])。\n" +"输入数组的大小必须为 4 的倍数(32 位整数的大小)。新数组的大小为 " +"[code]byte_array.size() / 4[/code]。\n" +"如果原始数据无法转换为 32 位有符号整数,则最终的数据未定义。" + +msgid "" +"Returns a copy of the data converted to a [PackedInt64Array], where each " +"block of 8 bytes has been converted to a signed 64-bit integer (C++ " +"[code]int64_t[/code], Godot [int]).\n" +"The size of the input array must be a multiple of 8 (size of 64-bit " +"integer). The size of the new array will be [code]byte_array.size() / 8[/" +"code].\n" +"If the original data can't be converted to signed 64-bit integers, the " +"resulting data is undefined." +msgstr "" +"返回将数据转换为 [PackedInt64Array] 的副本,每 8 个字节块转换为一个 64 位有符" +"号整数(C++ 的 [code]int64_t[/code])。\n" +"输入数组的大小必须为 8 的倍数(64 位整数的大小)。新数组的大小为 " +"[code]byte_array.size() / 8[/code]。\n" +"如果原始数据无法转换为 64 位有符号整数,则最终的数据未定义。" + msgid "Returns [code]true[/code] if contents of the arrays differ." msgstr "如果数组内容不同,则返回 [code]true[/code]。" +msgid "" +"Returns a new [PackedByteArray] with contents of [param right] added at the " +"end of this array. For better performance, consider using [method " +"append_array] instead." +msgstr "" +"返回新的 [PackedByteArray],新数组的内容为此数组在末尾加上 [param right]。为" +"了提高性能,请考虑改用 [method append_array]。" + +msgid "" +"Returns [code]true[/code] if contents of both arrays are the same, i.e. they " +"have all equal bytes at the corresponding indices." +msgstr "" +"如果两个数组的内容相同,即对应索引号的字节相等,则返回 [code]true[/code]。" + +msgid "" +"Returns the byte at index [param index]. Negative indices can be used to " +"access the elements starting from the end. Using index out of array's bounds " +"will result in an error.\n" +"Note that the byte is returned as a 64-bit [int]." +msgstr "" +"返回索引 [param index] 处的字节。负数索引可以从末尾开始访问元素。使用越界的索" +"引会报错。\n" +"请注意,返回的字节是 64 位 [int]。" + msgid "A packed array of [Color]s." msgstr "[Color] 紧缩数组。" @@ -43159,6 +51702,36 @@ msgstr "将一个值添加到数组中。" msgid "Changes the [Color] at the given index." msgstr "更改给定索引处的 [Color]。" +msgid "" +"Returns the slice of the [PackedColorArray], from [param begin] (inclusive) " +"to [param end] (exclusive), as a new [PackedColorArray].\n" +"The absolute value of [param begin] and [param end] will be clamped to the " +"array size, so the default value for [param end] makes it slice to the size " +"of the array by default (i.e. [code]arr.slice(1)[/code] is a shorthand for " +"[code]arr.slice(1, arr.size())[/code]).\n" +"If either [param begin] or [param end] are negative, they will be relative " +"to the end of the array (i.e. [code]arr.slice(0, -2)[/code] is a shorthand " +"for [code]arr.slice(0, arr.size() - 2)[/code])." +msgstr "" +"返回该 [PackedColorArray] 的切片,是从 [param begin](含)到 [param end](不" +"含)的全新 [PackedColorArray]。\n" +"[param begin] 和 [param end] 的绝对值会按数组大小进行限制,所以 [param end] " +"的默认值会切到数组大小为止(即 [code]arr.slice(1)[/code] 是 [code]arr." +"slice(1, arr.size())[/code] 的简写)。\n" +"如果 [param begin] 或 [param end] 为负,则表示相对于数组的末尾(即 [code]arr." +"slice(0, -2)[/code] 是 [code]arr.slice(0, arr.size() - 2)[/code] 的简写)。" + +msgid "Returns a [PackedByteArray] with each color encoded as bytes." +msgstr "返回 [PackedByteArray],每个颜色都被编码为字节。" + +msgid "" +"Returns a new [PackedColorArray] with contents of [param right] added at the " +"end of this array. For better performance, consider using [method " +"append_array] instead." +msgstr "" +"返回新的 [PackedColorArray],新数组的内容为此数组在末尾加上 [param right]。为" +"了提高性能,请考虑改用 [method append_array]。" + msgid "Reference-counted version of [PackedDataContainer]." msgstr "[PackedDataContainer] 的引用计数版本。" @@ -43193,6 +51766,33 @@ msgstr "在该数组的末尾追加一个 [PackedFloat32Array]。" msgid "Changes the float at the given index." msgstr "更改给定索引处的浮点数。" +msgid "" +"Returns the slice of the [PackedFloat32Array], from [param begin] " +"(inclusive) to [param end] (exclusive), as a new [PackedFloat32Array].\n" +"The absolute value of [param begin] and [param end] will be clamped to the " +"array size, so the default value for [param end] makes it slice to the size " +"of the array by default (i.e. [code]arr.slice(1)[/code] is a shorthand for " +"[code]arr.slice(1, arr.size())[/code]).\n" +"If either [param begin] or [param end] are negative, they will be relative " +"to the end of the array (i.e. [code]arr.slice(0, -2)[/code] is a shorthand " +"for [code]arr.slice(0, arr.size() - 2)[/code])." +msgstr "" +"返回该 [PackedFloat32Array] 的切片,是从 [param begin](含)到 [param end]" +"(不含)的全新 [PackedFloat32Array]。\n" +"[param begin] 和 [param end] 的绝对值会按数组大小进行限制,所以 [param end] " +"的默认值会切到数组大小为止(即 [code]arr.slice(1)[/code] 是 [code]arr." +"slice(1, arr.size())[/code] 的简写)。\n" +"如果 [param begin] 或 [param end] 为负,则表示相对于数组的末尾(即 [code]arr." +"slice(0, -2)[/code] 是 [code]arr.slice(0, arr.size() - 2)[/code] 的简写)。" + +msgid "" +"Returns a new [PackedFloat32Array] with contents of [param right] added at " +"the end of this array. For better performance, consider using [method " +"append_array] instead." +msgstr "" +"返回新的 [PackedFloat32Array],新数组的内容为此数组在末尾加上 [param right]。" +"为了提高性能,请考虑改用 [method append_array]。" + msgid "A packed array of 64-bit floating-point values." msgstr "64 位浮点数紧缩数组。" @@ -43223,6 +51823,33 @@ msgstr "构造新 [PackedFloat64Array]。你还可以传入通用 [Array] 进行 msgid "Appends a [PackedFloat64Array] at the end of this array." msgstr "在该数组的末尾追加一个 [PackedFloat64Array]。" +msgid "" +"Returns the slice of the [PackedFloat64Array], from [param begin] " +"(inclusive) to [param end] (exclusive), as a new [PackedFloat64Array].\n" +"The absolute value of [param begin] and [param end] will be clamped to the " +"array size, so the default value for [param end] makes it slice to the size " +"of the array by default (i.e. [code]arr.slice(1)[/code] is a shorthand for " +"[code]arr.slice(1, arr.size())[/code]).\n" +"If either [param begin] or [param end] are negative, they will be relative " +"to the end of the array (i.e. [code]arr.slice(0, -2)[/code] is a shorthand " +"for [code]arr.slice(0, arr.size() - 2)[/code])." +msgstr "" +"返回该 [PackedFloat64Array] 的切片,是从 [param begin](含)到 [param end]" +"(不含)的全新 [PackedFloat64Array]。\n" +"[param begin] 和 [param end] 的绝对值会按数组大小进行限制,所以 [param end] " +"的默认值会切到数组大小为止(即 [code]arr.slice(1)[/code] 是 [code]arr." +"slice(1, arr.size())[/code] 的简写)。\n" +"如果 [param begin] 或 [param end] 为负,则表示相对于数组的末尾(即 [code]arr." +"slice(0, -2)[/code] 是 [code]arr.slice(0, arr.size() - 2)[/code] 的简写)。" + +msgid "" +"Returns a new [PackedFloat64Array] with contents of [param right] added at " +"the end of this array. For better performance, consider using [method " +"append_array] instead." +msgstr "" +"返回新的 [PackedFloat64Array],新数组的内容为此数组在末尾加上 [param right]。" +"为了提高性能,请考虑改用 [method append_array]。" + msgid "A packed array of 32-bit integers." msgstr "32 位整数紧缩数组。" @@ -43257,6 +51884,36 @@ msgstr "构造新 [PackedInt32Array]。你还可以传入通用 [Array] 进行 msgid "Appends a [PackedInt32Array] at the end of this array." msgstr "在该数组的末尾追加一个 [PackedInt32Array]。" +msgid "Changes the integer at the given index." +msgstr "更改给定索引处的整数。" + +msgid "" +"Returns the slice of the [PackedInt32Array], from [param begin] (inclusive) " +"to [param end] (exclusive), as a new [PackedInt32Array].\n" +"The absolute value of [param begin] and [param end] will be clamped to the " +"array size, so the default value for [param end] makes it slice to the size " +"of the array by default (i.e. [code]arr.slice(1)[/code] is a shorthand for " +"[code]arr.slice(1, arr.size())[/code]).\n" +"If either [param begin] or [param end] are negative, they will be relative " +"to the end of the array (i.e. [code]arr.slice(0, -2)[/code] is a shorthand " +"for [code]arr.slice(0, arr.size() - 2)[/code])." +msgstr "" +"返回该 [PackedInt32Array] 的切片,是从 [param begin](含)到 [param end](不" +"含)的全新 [PackedInt32Array]。\n" +"[param begin] 和 [param end] 的绝对值会按数组大小进行限制,所以 [param end] " +"的默认值会切到数组大小为止(即 [code]arr.slice(1)[/code] 是 [code]arr." +"slice(1, arr.size())[/code] 的简写)。\n" +"如果 [param begin] 或 [param end] 为负,则表示相对于数组的末尾(即 [code]arr." +"slice(0, -2)[/code] 是 [code]arr.slice(0, arr.size() - 2)[/code] 的简写)。" + +msgid "" +"Returns a new [PackedInt32Array] with contents of [param right] added at the " +"end of this array. For better performance, consider using [method " +"append_array] instead." +msgstr "" +"返回新的 [PackedInt32Array],新数组的内容为此数组在末尾加上 [param right]。为" +"了提高性能,请考虑改用 [method append_array]。" + msgid "A packed array of 64-bit integers." msgstr "64 位整数紧缩数组。" @@ -43291,9 +51948,202 @@ msgstr "构造新 [PackedInt64Array]。你还可以传入通用 [Array] 进行 msgid "Appends a [PackedInt64Array] at the end of this array." msgstr "在该数组的末尾追加一个 [PackedInt64Array]。" +msgid "" +"Returns the slice of the [PackedInt64Array], from [param begin] (inclusive) " +"to [param end] (exclusive), as a new [PackedInt64Array].\n" +"The absolute value of [param begin] and [param end] will be clamped to the " +"array size, so the default value for [param end] makes it slice to the size " +"of the array by default (i.e. [code]arr.slice(1)[/code] is a shorthand for " +"[code]arr.slice(1, arr.size())[/code]).\n" +"If either [param begin] or [param end] are negative, they will be relative " +"to the end of the array (i.e. [code]arr.slice(0, -2)[/code] is a shorthand " +"for [code]arr.slice(0, arr.size() - 2)[/code])." +msgstr "" +"返回该 [PackedInt64Array] 的切片,是从 [param begin](含)到 [param end](不" +"含)的全新 [PackedInt64Array]。\n" +"[param begin] 和 [param end] 的绝对值会按数组大小进行限制,所以 [param end] " +"的默认值会切到数组大小为止(即 [code]arr.slice(1)[/code] 是 [code]arr." +"slice(1, arr.size())[/code] 的简写)。\n" +"如果 [param begin] 或 [param end] 为负,则表示相对于数组的末尾(即 [code]arr." +"slice(0, -2)[/code] 是 [code]arr.slice(0, arr.size() - 2)[/code] 的简写)。" + +msgid "" +"Returns a new [PackedInt64Array] with contents of [param right] added at the " +"end of this array. For better performance, consider using [method " +"append_array] instead." +msgstr "" +"返回新的 [PackedInt64Array],新数组的内容为此数组在末尾加上 [param right]。为" +"了提高性能,请考虑改用 [method append_array]。" + +msgid "" +"Returns the [int] at index [param index]. Negative indices can be used to " +"access the elements starting from the end. Using index out of array's bounds " +"will result in an error." +msgstr "" +"返回索引 [param index] 处的 [int]。负数索引可以用来从末尾开始访问元素。使用越" +"界的数组索引会产生错误。" + msgid "An abstraction of a serialized scene." msgstr "对序列化场景的抽象。" +msgid "" +"A simplified interface to a scene file. Provides access to operations and " +"checks that can be performed on the scene resource itself.\n" +"Can be used to save a node to a file. When saving, the node as well as all " +"the nodes it owns get saved (see [member Node.owner] property).\n" +"[b]Note:[/b] The node doesn't need to own itself.\n" +"[b]Example of loading a saved scene:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"# Use load() instead of preload() if the path isn't known at compile-time.\n" +"var scene = preload(\"res://scene.tscn\").instantiate()\n" +"# Add the node as a child of the node the script is attached to.\n" +"add_child(scene)\n" +"[/gdscript]\n" +"[csharp]\n" +"// C# has no preload, so you have to always use ResourceLoader." +"Load<PackedScene>().\n" +"var scene = ResourceLoader.Load<PackedScene>(\"res://scene.tscn\")." +"Instantiate();\n" +"// Add the node as a child of the node the script is attached to.\n" +"AddChild(scene);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Example of saving a node with different owners:[/b] The following example " +"creates 3 objects: [Node2D] ([code]node[/code]), [RigidBody2D] ([code]body[/" +"code]) and [CollisionObject2D] ([code]collision[/code]). [code]collision[/" +"code] is a child of [code]body[/code] which is a child of [code]node[/code]. " +"Only [code]body[/code] is owned by [code]node[/code] and [code]pack[/code] " +"will therefore only save those two nodes, but not [code]collision[/code].\n" +"[codeblocks]\n" +"[gdscript]\n" +"# Create the objects.\n" +"var node = Node2D.new()\n" +"var body = RigidBody2D.new()\n" +"var collision = CollisionShape2D.new()\n" +"\n" +"# Create the object hierarchy.\n" +"body.add_child(collision)\n" +"node.add_child(body)\n" +"\n" +"# Change owner of `body`, but not of `collision`.\n" +"body.owner = node\n" +"var scene = PackedScene.new()\n" +"\n" +"# Only `node` and `body` are now packed.\n" +"var result = scene.pack(node)\n" +"if result == OK:\n" +" var error = ResourceSaver.save(scene, \"res://path/name.tscn\") # Or " +"\"user://...\"\n" +" if error != OK:\n" +" push_error(\"An error occurred while saving the scene to disk.\")\n" +"[/gdscript]\n" +"[csharp]\n" +"// Create the objects.\n" +"var node = new Node2D();\n" +"var body = new RigidBody2D();\n" +"var collision = new CollisionShape2D();\n" +"\n" +"// Create the object hierarchy.\n" +"body.AddChild(collision);\n" +"node.AddChild(body);\n" +"\n" +"// Change owner of `body`, but not of `collision`.\n" +"body.Owner = node;\n" +"var scene = new PackedScene();\n" +"\n" +"// Only `node` and `body` are now packed.\n" +"Error result = scene.Pack(node);\n" +"if (result == Error.Ok)\n" +"{\n" +" Error error = ResourceSaver.Save(scene, \"res://path/name.tscn\"); // Or " +"\"user://...\"\n" +" if (error != Error.Ok)\n" +" {\n" +" GD.PushError(\"An error occurred while saving the scene to disk." +"\");\n" +" }\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"场景文件的简化接口。提供可以对场景资源本身进行的操作和检查。\n" +"可以用来将某个节点保存到文件中。保存时,会将该节点和它所拥有的所有节点一起保" +"存(见 [member Node.owner] 属性)。\n" +"[b]注意:[/b] 该节点不必自我拥有。\n" +"[b]加载保存场景的示例:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"# 如果路径在编译期不可知,请使用 load() 而不是 preload()。\n" +"var scene = preload(\"res://scene.tscn\").instantiate()\n" +"# 将该节点添加为脚本附加节点的子节点。\n" +"add_child(scene)\n" +"[/gdscript]\n" +"[csharp]\n" +"// C# 没有 preload,所以你使用的永远是 ResourceLoader.Load<PackedScene>()。\n" +"var scene = ResourceLoader.Load<PackedScene>(\"res://scene.tscn\")." +"Instantiate();\n" +"// 将该节点添加为脚本附加节点的子节点。\n" +"AddChild(scene);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]保存不同所有者的节点的示例:[/b]下面的粒子会创建 3 个对象:[Node2D]" +"([code]node[/code])、[RigidBody2D]([code]body[/code])、" +"[CollisionObject2D]([code]collision[/code]))。[code]node[/code] 的下一级是 " +"[code]body[/code],再下一级是 [code]collision[/code]。只有 [code]body[/code] " +"被 [code]node[/code] 拥有,因此 [code]pack[/code] 只会保存两个节点,不会保存 " +"[code]collision[/code]。\n" +"[codeblocks]\n" +"[gdscript]\n" +"# 创建对象。\n" +"var node = Node2D.new()\n" +"var body = RigidBody2D.new()\n" +"var collision = CollisionShape2D.new()\n" +"\n" +"# 创建对象架构。\n" +"body.add_child(collision)\n" +"node.add_child(body)\n" +"\n" +"# 修改 `body` 的拥有者,但不修改 `collision` 的拥有者。\n" +"body.owner = node\n" +"var scene = PackedScene.new()\n" +"\n" +"# 只会打包 `node` 和 `body`。\n" +"var result = scene.pack(node)\n" +"if result == OK:\n" +" var error = ResourceSaver.save(scene, \"res://path/name.tscn\") # Or " +"\"user://...\"\n" +" if error != OK:\n" +" push_error(\"将场景保存到磁盘时出错。\")\n" +"[/gdscript]\n" +"[csharp]\n" +"// 创建对象。\n" +"var node = new Node2D();\n" +"var body = new RigidBody2D();\n" +"var collision = new CollisionShape2D();\n" +"\n" +"// 创建对象架构。\n" +"body.AddChild(collision);\n" +"node.AddChild(body);\n" +"\n" +"// 修改 `body` 的拥有者,但不修改 `collision` 的拥有者。\n" +"body.Owner = node;\n" +"var scene = new PackedScene();\n" +"\n" +"// 只会打包 `node` 和 `body`。\n" +"Error result = scene.Pack(node);\n" +"if (result == Error.Ok)\n" +"{\n" +" Error error = ResourceSaver.Save(scene, \"res://path/name.tscn\"); // Or " +"\"user://...\"\n" +" if (error != Error.Ok)\n" +" {\n" +" GD.PushError(\"将场景保存到磁盘时出错。\");\n" +" }\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + msgid "Returns [code]true[/code] if the scene file has nodes." msgstr "如果场景文件有节点,返回 [code]true[/code]。" @@ -43302,6 +52152,14 @@ msgid "" msgstr "返回代表场景文件内容的 [code]SceneState[/code]。" msgid "" +"Instantiates the scene's node hierarchy. Triggers child scene " +"instantiation(s). Triggers a [constant Node.NOTIFICATION_SCENE_INSTANTIATED] " +"notification on the root node." +msgstr "" +"实例化该场景的节点架构。触发子场景的实例化。在根节点上触发 [constant Node." +"NOTIFICATION_SCENE_INSTANTIATED] 通知。" + +msgid "" "Pack will ignore any sub-nodes not owned by given node. See [member Node." "owner]." msgstr "包将忽略不属于给定节点的任何子节点。请参阅 [member Node.owner]。" @@ -43371,9 +52229,36 @@ msgstr "在数组的末尾追加字符串元素。" msgid "Changes the [String] at the given index." msgstr "更改给定索引处的 [String]。" +msgid "" +"Returns the slice of the [PackedStringArray], from [param begin] (inclusive) " +"to [param end] (exclusive), as a new [PackedStringArray].\n" +"The absolute value of [param begin] and [param end] will be clamped to the " +"array size, so the default value for [param end] makes it slice to the size " +"of the array by default (i.e. [code]arr.slice(1)[/code] is a shorthand for " +"[code]arr.slice(1, arr.size())[/code]).\n" +"If either [param begin] or [param end] are negative, they will be relative " +"to the end of the array (i.e. [code]arr.slice(0, -2)[/code] is a shorthand " +"for [code]arr.slice(0, arr.size() - 2)[/code])." +msgstr "" +"返回该 [PackedStringArray] 的切片,是从 [param begin](含)到 [param end](不" +"含)的全新 [PackedStringArray]。\n" +"[param begin] 和 [param end] 的绝对值会按数组大小进行限制,所以 [param end] " +"的默认值会切到数组大小为止(即 [code]arr.slice(1)[/code] 是 [code]arr." +"slice(1, arr.size())[/code] 的简写)。\n" +"如果 [param begin] 或 [param end] 为负,则表示相对于数组的末尾(即 [code]arr." +"slice(0, -2)[/code] 是 [code]arr.slice(0, arr.size() - 2)[/code] 的简写)。" + msgid "Returns a [PackedByteArray] with each string encoded as bytes." msgstr "返回 [PackedByteArray],每个字符串都被编码为字节。" +msgid "" +"Returns a new [PackedStringArray] with contents of [param right] added at " +"the end of this array. For better performance, consider using [method " +"append_array] instead." +msgstr "" +"返回新的 [PackedStringArray],新数组的内容为此数组在末尾加上 [param right]。" +"为了提高性能,请考虑改用 [method append_array]。" + msgid "A packed array of [Vector2]s." msgstr "[Vector2] 紧缩数组。" @@ -43409,9 +52294,40 @@ msgstr "在末尾插入一个 [Vector2]。" msgid "Changes the [Vector2] at the given index." msgstr "更改给定索引处的 [Vector2]。" +msgid "" +"Returns the slice of the [PackedVector2Array], from [param begin] " +"(inclusive) to [param end] (exclusive), as a new [PackedVector2Array].\n" +"The absolute value of [param begin] and [param end] will be clamped to the " +"array size, so the default value for [param end] makes it slice to the size " +"of the array by default (i.e. [code]arr.slice(1)[/code] is a shorthand for " +"[code]arr.slice(1, arr.size())[/code]).\n" +"If either [param begin] or [param end] are negative, they will be relative " +"to the end of the array (i.e. [code]arr.slice(0, -2)[/code] is a shorthand " +"for [code]arr.slice(0, arr.size() - 2)[/code])." +msgstr "" +"返回该 [PackedVector2Array] 的切片,是从 [param begin](含)到 [param end]" +"(不含)的全新 [PackedVector2Array]。\n" +"[param begin] 和 [param end] 的绝对值会按数组大小进行限制,所以 [param end] " +"的默认值会切到数组大小为止(即 [code]arr.slice(1)[/code] 是 [code]arr." +"slice(1, arr.size())[/code] 的简写)。\n" +"如果 [param begin] 或 [param end] 为负,则表示相对于数组的末尾(即 [code]arr." +"slice(0, -2)[/code] 是 [code]arr.slice(0, arr.size() - 2)[/code] 的简写)。" + msgid "Returns a [PackedByteArray] with each vector encoded as bytes." msgstr "返回 [PackedByteArray],每个向量都被编码为字节。" +msgid "" +"Transforms (multiplies) all vectors in the array by the [Transform2D] matrix." +msgstr "使用 [Transform2D] 矩阵对数组中的所有向量进行变换(相乘)。" + +msgid "" +"Returns a new [PackedVector2Array] with contents of [param right] added at " +"the end of this array. For better performance, consider using [method " +"append_array] instead." +msgstr "" +"返回新的 [PackedVector2Array],新数组的内容为此数组在末尾加上 [param right]。" +"为了提高性能,请考虑改用 [method append_array]。" + msgid "A packed array of [Vector3]s." msgstr "[Vector3] 紧缩数组。" @@ -43444,6 +52360,37 @@ msgstr "在末尾插入一个 [Vector3]。" msgid "Changes the [Vector3] at the given index." msgstr "更改给定索引处的 [Vector3]。" +msgid "" +"Returns the slice of the [PackedVector3Array], from [param begin] " +"(inclusive) to [param end] (exclusive), as a new [PackedVector3Array].\n" +"The absolute value of [param begin] and [param end] will be clamped to the " +"array size, so the default value for [param end] makes it slice to the size " +"of the array by default (i.e. [code]arr.slice(1)[/code] is a shorthand for " +"[code]arr.slice(1, arr.size())[/code]).\n" +"If either [param begin] or [param end] are negative, they will be relative " +"to the end of the array (i.e. [code]arr.slice(0, -2)[/code] is a shorthand " +"for [code]arr.slice(0, arr.size() - 2)[/code])." +msgstr "" +"返回该 [PackedVector3Array] 的切片,是从 [param begin](含)到 [param end]" +"(不含)的全新 [PackedVector3Array]。\n" +"[param begin] 和 [param end] 的绝对值会按数组大小进行限制,所以 [param end] " +"的默认值会切到数组大小为止(即 [code]arr.slice(1)[/code] 是 [code]arr." +"slice(1, arr.size())[/code] 的简写)。\n" +"如果 [param begin] 或 [param end] 为负,则表示相对于数组的末尾(即 [code]arr." +"slice(0, -2)[/code] 是 [code]arr.slice(0, arr.size() - 2)[/code] 的简写)。" + +msgid "" +"Transforms (multiplies) all vectors in the array by the [Transform3D] matrix." +msgstr "使用 [Transform3D] 矩阵对该数组中的所有向量进行变换(相乘)。" + +msgid "" +"Returns a new [PackedVector3Array] with contents of [param right] added at " +"the end of this array. For better performance, consider using [method " +"append_array] instead." +msgstr "" +"返回新的 [PackedVector3Array],新数组的内容为此数组在末尾加上 [param right]。" +"为了提高性能,请考虑改用 [method append_array]。" + msgid "Abstraction and base class for packet-based protocols." msgstr "基于包的协议的抽象和基类。" @@ -43460,10 +52407,35 @@ msgstr "" "返回最后接收的数据包的错误状态(通过 [method get_packet] 和 [method " "get_var])。" +msgid "" +"Gets a Variant. 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 "Sends a raw packet." msgstr "发送一个原始数据包。" msgid "" +"Sends a [Variant] as a packet. 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." +msgstr "" +"将 [Variant] 作为数据包发送。如果 [param full_objects] 为 [code]true[/code]," +"则允许将对象编码(其中可能包含代码)。\n" +"在内部,这使用与 [method @GlobalScope.var_to_bytes] 方法相同的编码机制。" + +msgid "" "Maximum buffer size allowed when encoding [Variant]s. Raise this value to " "support heavier memory allocations.\n" "The [method put_var] method allocates memory on the stack, and the buffer " @@ -43480,6 +52452,26 @@ msgstr "" msgid "DTLS packet peer." msgstr "DTLS 数据包客户端。" +msgid "" +"This class represents a DTLS peer connection. It can be used to connect to a " +"DTLS server, and is returned by [method DTLSServer.take_connection].\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]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 "" +"这个类表示 DTLS 对等体连接。它可以用来连接到 DTLS 服务器,由 [method " +"DTLSServer.take_connection] 返回。\n" +"[b]注意:[/b]导出到 Android 时,在导出项目或使用一键部署前,请确保在 Android " +"导出预设中启用 [code]INTERNET[/code] 权限。否则,任何类型的网络通信都将被 " +"Android 阻止。\n" +"[b]警告:[/b]目前不支持 TLS 证书撤销和证书绑定。只要撤销的证书在其他方面有" +"效,就会被接受。如果这是一个问题,可以使用有效期较短的自动管理证书。" + msgid "Disconnects this peer, terminating the DTLS session." msgstr "断开此对等体的连接,终止 DTLS 会话。" @@ -43522,6 +52514,68 @@ msgid "UDP packet peer." msgstr "UDP 数据包客户端。" msgid "" +"UDP packet peer. Can be used to send raw UDP packets as well as [Variant]s.\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." +msgstr "" +"UDP 数据包对等体。可用于发送原始 UDP 数据包,也可以发送 [Variant]。\n" +"[b]注意:[/b]导出到安卓时,在导出项目、或使用一键部署之前,请务必在安卓导出预" +"设中,开启 [code]INTERNET[/code] 权限。否则,任何类型的网络通信,都将被 " +"Android 阻止。" + +msgid "" +"Binds this [PacketPeerUDP] to the specified [param port] and [param " +"bind_address] with a buffer size [param recv_buf_size], allowing it to " +"receive incoming packets.\n" +"If [param bind_address] is set to [code]\"*\"[/code] (default), the peer " +"will be bound on all available addresses (both IPv4 and IPv6).\n" +"If [param bind_address] is set to [code]\"0.0.0.0\"[/code] (for IPv4) or " +"[code]\"::\"[/code] (for IPv6), the peer will be bound to all available " +"addresses matching that IP type.\n" +"If [param bind_address] is set to any valid address (e.g. " +"[code]\"192.168.1.101\"[/code], [code]\"::1\"[/code], etc), the peer will " +"only be bound to the interface with that addresses (or fail if no interface " +"with the given address exists)." +msgstr "" +"将该 [PacketPeerUDP] 绑定到指定的 [param port] 和 [param bind_address],其缓" +"冲区大小为 [param recv_buf_size],允许它接收传入的数据包。\n" +"如果 [param bind_address] 被设置为 [code]\"*\"[/code](默认),对等体将被绑定" +"到所有可用地址(IPv4 和 IPv6)。\n" +"如果 [param bind_address] 被设置为 [code]\"0.0.0.0\"[/code](对于 IPv4)或 " +"[code]\"::\"[/code](对于 IPv6),对等体将被绑定到匹配该 IP 类型的所有可用地" +"址。\n" +"如果 [param bind_address] 被设置为任何有效地址(例如 " +"[code]\"192.168.1.101\"[/code]、[code]\"::1\"[/code] 等),对等体将只被绑定到" +"该地址的接口(如果不存在具有给定地址的接口,则失败)。" + +msgid "Closes the [PacketPeerUDP]'s underlying UDP socket." +msgstr "关闭该 [PacketPeerUDP] 底层 UDP 套接字。" + +msgid "" +"Calling this method connects this UDP peer to the given [param host]/[param " +"port] pair. UDP is in reality connectionless, so this option only means that " +"incoming packets from different addresses are automatically discarded, and " +"that outgoing packets are always sent to the connected address (future calls " +"to [method set_dest_address] are not allowed). This method does not send any " +"data to the remote peer, to do that, use [method PacketPeer.put_var] or " +"[method PacketPeer.put_packet] as usual. See also [UDPServer].\n" +"[b]Note:[/b] Connecting to the remote peer does not help to protect from " +"malicious attacks like IP spoofing, etc. Think about using an encryption " +"technique like TLS or DTLS if you feel like your application is transferring " +"sensitive information." +msgstr "" +"调用该方法将该 UDP 对等体连接到给定的 [param host]/[param port] 对。UDP 实际" +"上是无连接的,因此该选项仅意味着自动丢弃来自不同地址的传入数据包,并且传出的" +"数据包始终发送到连接的地址(不允许将来调用 [method set_dest_address])。该方" +"法不会向远程对等体发送任何数据,要发送数据,请像往常一样使用 [method " +"PacketPeer.put_var] 或 [method PacketPeer.put_packet]。另请参阅 " +"[UDPServer]。\n" +"[b]注意:[/b]连接到远程对等体并不能防止 IP 欺骗等恶意攻击。如果您觉得您的应用" +"程序正在传输敏感信息,可以考虑使用 TLS 或 DTLS 等加密技术。" + +msgid "" "Returns the IP of the remote peer that sent the last packet(that was " "received with [method PacketPeer.get_packet] or [method PacketPeer.get_var])." msgstr "" @@ -43536,6 +52590,11 @@ msgstr "" "PacketPeer.get_var] 接收)的远程对等方的端口。" msgid "" +"Returns whether this [PacketPeerUDP] is bound to an address and can receive " +"packets." +msgstr "返回该 [PacketPeerUDP] 是否被绑定到某个地址上,并且可以接收数据包。" + +msgid "" "Returns [code]true[/code] if the UDP socket is open and has been connected " "to a remote address. See [method connect_to_host]." msgstr "" @@ -43543,6 +52602,21 @@ msgstr "" "[method connect_to_host]。" msgid "" +"Joins the multicast group specified by [param multicast_address] using the " +"interface identified by [param interface_name].\n" +"You can join the same multicast group with multiple interfaces. Use [method " +"IP.get_local_interfaces] to know which are available.\n" +"[b]Note:[/b] Some Android devices might require the " +"[code]CHANGE_WIFI_MULTICAST_STATE[/code] permission for multicast to work." +msgstr "" +"使用由 [param interface_name] 标识的接口加入由 [param multicast_address] 指定" +"的多播组。\n" +"可以使用多个接口加入同一个多播组。使用 [method IP.get_local_interfaces] 了解" +"哪些接口可用。\n" +"[b]注意:[/b]某些 Android 设备可能需要 [code]CHANGE_WIFI_MULTICAST_STATE[/" +"code] 权限才能进行多播。" + +msgid "" "Enable or disable sending of broadcast packets (e.g. " "[code]set_dest_address(\"255.255.255.255\", 4343)[/code]. This option is " "disabled by default.\n" @@ -43597,6 +52671,9 @@ msgstr "" msgid "The style of [PanelContainer]'s background." msgstr "[PanelContainer] 的背景样式。" +msgid "[Texture2D] to be applied to the [PanoramaSkyMaterial]." +msgstr "应用于该 [PanoramaSkyMaterial] 的 [Texture2D]。" + msgid "A node used to create a parallax scrolling background." msgstr "用于创建视差滚动背景的节点。" @@ -43665,6 +52742,19 @@ msgstr "" "[b]注意:[/b]当该节点进入场景后,对其位置和比例的任何改变都将被忽略。" msgid "" +"The ParallaxLayer's [Texture2D] mirroring. Useful for creating an infinite " +"scrolling background. If an axis is set to [code]0[/code], the [Texture2D] " +"will not be mirrored.\n" +"If the length of the viewport axis is bigger than twice the mirrored axis " +"size, it will not repeat infinitely, as the parallax layer only draws 2 " +"instances of the texture at any one time." +msgstr "" +"ParallaxLayer 的 [Texture2D] 镜像。用于创建无限滚动的背景。如果轴被设置为 " +"[code]0[/code],则该 [Texture2D] 将不会被镜像。\n" +"如果视口轴的长度大于镜像轴的两倍大小,并不会无限重复,因为视差层在任何时候只" +"会绘制 2 个纹理实例。" + +msgid "" "The ParallaxLayer's offset relative to the parent ParallaxBackground's " "[member ParallaxBackground.scroll_offset]." msgstr "" @@ -43679,9 +52769,36 @@ msgstr "复制视差图层的运动。如果一个轴被设置为 [code]0[/code] msgid "Particle properties for [GPUParticles3D] and [GPUParticles2D] nodes." msgstr "[GPUParticles3D] 和 [GPUParticles2D] 节点的粒子属性。" +msgid "" +"ParticleProcessMaterial defines particle properties and behavior. It is used " +"in the [code]process_material[/code] of [GPUParticles3D] and " +"[GPUParticles2D] emitter nodes.\n" +"Some of this material's properties are applied to each particle when " +"emitted, while others can have a [CurveTexture] applied to vary values over " +"the lifetime of the particle.\n" +"Particle animation is available only in [GPUParticles2D]. To use it, attach " +"a [CanvasItemMaterial], with [member CanvasItemMaterial.particles_animation] " +"enabled, to the particles node." +msgstr "" +"ParticleProcessMaterial 定义了粒子的属性和行为。[GPUParticles3D] 和 " +"[GPUParticles2D] 发射器节点的 [code]process_material[/code] 会使用这个材" +"质。\n" +"这种材质的有些属性是在粒子发射时应用的,有些则会在粒子的生命周期中不断应用按" +"照 [CurveTexture] 变化的值。\n" +"粒子动画仅在 [GPUParticles2D] 中可用。使用时请为粒子节点分配 " +"[CanvasItemMaterial] 并启用其 [member CanvasItemMaterial." +"particles_animation]。" + msgid "Returns the [Texture2D] used by the specified parameter." msgstr "返回指定参数所使用的 [Texture2D]。" +msgid "" +"Returns [code]true[/code] if the specified particle flag is enabled. See " +"[enum ParticleFlags] for options." +msgstr "" +"如果启用了指定的粒子标志,则返回 [code]true[/code]。可选项见 [enum " +"ParticleFlags]。" + msgid "Sets the maximum value range for the given parameter." msgstr "设置给定参数的最大值范围。" @@ -43719,9 +52836,38 @@ msgstr "每个粒子的动画偏移将沿着这个 [CurveTexture] 变化。" msgid "Each particle's animation speed will vary along this [CurveTexture]." msgstr "每个粒子的动画速度将沿着这个 [CurveTexture] 变化。" +msgid "True if the interaction with particle attractors is enabled." +msgstr "如果启用了与粒子吸引器的交互,则为 true。" + +msgid "" +"The particles' bounciness. Values range from [code]0[/code] (no bounce) to " +"[code]1[/code] (full bounciness). Only effective if [member collision_mode] " +"is [constant COLLISION_RIGID]." +msgstr "" +"粒子的弹性。值范围从 [code]0[/code](无弹跳)到 [code]1[/code](完全弹跳)。" +"仅当 [member collision_mode] 为 [constant COLLISION_RIGID] 时有效。" + msgid "Should collision take scale into account." msgstr "碰撞是否应该考虑缩放。" +msgid "" +"Each particle's initial color. If the [GPUParticles2D]'s [code]texture[/" +"code] is defined, it will be multiplied by this color.\n" +"[b]Note:[/b] [member color] multiplies the particle mesh's vertex colors. To " +"have a visible effect on a [BaseMaterial3D], [member BaseMaterial3D." +"vertex_color_use_as_albedo] [i]must[/i] be [code]true[/code]. For a " +"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the " +"shader's [code]fragment()[/code] function. Otherwise, [member color] will " +"have no visible effect." +msgstr "" +"每个粒子的初始颜色。如果定义了 [GPUParticles2D] 的 [code]texture[/code],它将" +"乘以该颜色。\n" +"[b]注意:[/b][member color] 乘以粒子网格的顶点颜色。要在 [BaseMaterial3D] 上" +"产生可见效果,[member BaseMaterial3D.vertex_color_use_as_albedo] [i]必须[/i]" +"为 [code]true[/code]。对于 [ShaderMaterial],必须在着色器的 [code]fragment()" +"[/code] 函数中插入 [code]ALBEDO *= COLOR.rgb;[/code]。否则,[member color] 将" +"没有可见效果。" + msgid "Damping will vary along this [CurveTexture]." msgstr "阻尼将沿着这个 [CurveTexture] 变化。" @@ -44006,6 +53152,30 @@ msgstr "允许该 PathFollow3D 在任意轴上旋转。" msgid "Creates packages that can be loaded into a running project." msgstr "创建可以加载到正在运行的项目中的包。" +msgid "" +"Adds the [param source_path] file to the current PCK package at the [param " +"pck_path] internal path (should start with [code]res://[/code])." +msgstr "" +"将 [param source_path] 文件添加到当前 PCK 包的内部路径 [param pck_path] 中" +"(应以 [code]res://[/code] 开头)。" + +msgid "" +"Writes the files specified using all [method add_file] calls since the last " +"flush. If [param verbose] is [code]true[/code], a list of files added will " +"be printed to the console for easier debugging." +msgstr "" +"自上次刷新以来,使用所有 [method add_file] 调用写入指定的文件。如果 [param " +"verbose] 为 [code]true[/code],被添加的文件的列表将被打印到控制台,以便于调" +"试。" + +msgid "" +"Creates a new PCK file with the name [param pck_name]. The [code].pck[/code] " +"file extension isn't added automatically, so it should be part of [param " +"pck_name] (even though it's not required)." +msgstr "" +"创建一个名为 [param pck_name] 的新 PCK 文件。不会自动添加 [code].pck[/code] " +"文件扩展名,因此它应该是 [param pck_name] 的一部分(即使它不是必需的)。" + msgid "Exposes performance-related data." msgstr "公开与性能相关的数据。" @@ -44111,6 +53281,25 @@ msgstr "3D 物理引擎中孤岛的数量。[i]越低越好。[/i]" msgid "Output latency of the [AudioServer]. [i]Lower is better.[/i]" msgstr "[AudioServer] 的输出延迟。[i]越低越好。[/i]" +msgid "" +"Number of active navigation maps in the [NavigationServer3D]. This also " +"includes the two empty default navigation maps created by World2D and " +"World3D." +msgstr "" +"[NavigationServer3D] 中活动导航地图的数量。也包含 World2D 和 World3D 所创建的" +"两张默认导航地图。" + +msgid "Number of active navigation regions in the [NavigationServer3D]." +msgstr "[NavigationServer3D] 中活动导航地区的数量。" + +msgid "" +"Number of active navigation agents processing avoidance in the " +"[NavigationServer3D]." +msgstr "[NavigationServer3D] 中正在处理避障的活动导航代理的数量。" + +msgid "Number of active navigation links in the [NavigationServer3D]." +msgstr "[NavigationServer3D] 中活动导航链接的数量。" + msgid "Number of navigation mesh polygons in the [NavigationServer3D]." msgstr "[NavigationServer3D] 中导航网格多边形的数量。" @@ -44121,6 +53310,31 @@ msgid "Represents the size of the [enum Monitor] enum." msgstr "代表 [enum Monitor] 枚举的大小。" msgid "" +"If [code]true[/code], the [code]PhysicalBone2D[/code] node will " +"automatically configure the first [Joint2D] child node. The automatic " +"configuration is limited to setting up the node properties and positioning " +"the [Joint2D]." +msgstr "" +"如果为 [code]true[/code],[code]PhysicalBone2D[/code] 节点会自动配置第一个 " +"[Joint2D] 子节点。自动配置仅限于设置节点属性和定位该 [Joint2D]。" + +msgid "" +"If [code]true[/code], the [code]PhysicalBone2D[/code] will start simulating " +"using physics. If [code]false[/code], the [code]PhysicalBone2D[/code] will " +"follow the transform of the [Bone2D] node.\n" +"[b]Note:[/b] To have the Bone2D nodes visually follow the " +"[code]PhysicalBone2D[/code] node, use a " +"[SkeletonModification2DPhysicalBones] modification on the [Skeleton2D] node " +"with the [Bone2D] nodes." +msgstr "" +"如果为 [code]true[/code],[code]PhysicalBone2D[/code] 将开始使用物理进行模" +"拟。如果为 [code]false[/code],[code]PhysicalBone2D[/code] 将跟随 [Bone2D] 节" +"点的变换。\n" +"[b]注意:[/b]要使 Bone2D 节点在视觉上跟随 [code]PhysicalBone2D[/code] 节点," +"请在具有 [Bone2D] 节点的 [Skeleton2D] 节点上使用一个 " +"[SkeletonModification2DPhysicalBones] 修改。" + +msgid "" "Called during physics processing, allowing you to read and safely modify the " "simulation state for the object. By default, it works in addition to the " "usual physics behavior, but the [member custom_integrator] property allows " @@ -44151,6 +53365,12 @@ msgstr "" "了碰撞响应之外,物体将仅根据 [method _integrate_forces] 函数确定的方式移动" "(如果已定义)。" +msgid "" +"The body's friction, from [code]0[/code] (frictionless) to [code]1[/code] " +"(max friction)." +msgstr "" +"该物体的摩擦,从 [code]0[/code](无摩擦)到 [code]1[/code](最大摩擦)。" + msgid "Sets the joint's transform." msgstr "设置该关节的变换。" @@ -44280,6 +53500,36 @@ msgid "" "Removes a body from the list of bodies that this body can't collide with." msgstr "将一个物体从该物体不能碰撞的物体列表中移除。" +msgid "" +"Checks for collisions without moving the body. In order to be frame rate " +"independent in [method Node._physics_process] or [method Node._process], " +"[param motion] should be computed using [code]delta[/code].\n" +"Virtually sets the node's position, scale and rotation to that of the given " +"[Transform2D], then tries to move the body along the vector [param motion]. " +"Returns [code]true[/code] if a collision would stop the body from moving " +"along the whole path.\n" +"[param collision] is an optional object of type [KinematicCollision2D], " +"which contains additional information about the collision when stopped, or " +"when touching another body along the motion.\n" +"[param safe_margin] is the extra margin used for collision recovery (see " +"[member CharacterBody2D.safe_margin] for more details).\n" +"If [param recovery_as_collision] is [code]true[/code], any depenetration " +"from the recovery phase is also reported as a collision; this is useful for " +"checking whether the body would [i]touch[/i] any other bodies." +msgstr "" +"在不移动实体的情况下检查碰撞。为了在 [method Node._physics_process] 或 " +"[method Node._process] 中独立于帧速率,[param motion] 应该使用 [code]delta[/" +"code] 来计算。\n" +"实际上是将节点的位置、缩放和旋转设置为给定 [Transform2D] 的位置、缩放和旋转," +"然后尝试沿向量 [param motion] 移动实体。如果碰撞会阻止实体沿整个路径移动,则" +"返回 [code]true[/code]。\n" +"[param collision] 是类型为 [KinematicCollision2D] 的一个可选对象,它包含有关" +"停止时碰撞、或沿运动接触另一个实体时碰撞的附加信息。\n" +"[param safe_margin] 是用于碰撞恢复的额外余量(有关更多详细信息,请参阅 " +"[member CharacterBody2D.safe_margin])。\n" +"如果 [param recovery_as_collision] 为 [code]true[/code],恢复阶段的任何穿透也" +"将被报告为碰撞;这对于检查该实体是否会[i]接触[/i]其他任意实体很有用。" + msgid "Base class for all objects affected by physics in 3D space." msgstr "在 3D 空间中受物理影响的所有对象的基类。" @@ -44313,6 +53563,38 @@ msgstr "" "善对地板检测。\n" "[param max_collisions] 可用于检索多次碰撞的结果。" +msgid "" +"Checks for collisions without moving the body. In order to be frame rate " +"independent in [method Node._physics_process] or [method Node._process], " +"[param motion] should be computed using [code]delta[/code].\n" +"Virtually sets the node's position, scale and rotation to that of the given " +"[Transform3D], then tries to move the body along the vector [param motion]. " +"Returns [code]true[/code] if a collision would stop the body from moving " +"along the whole path.\n" +"[param collision] is an optional object of type [KinematicCollision3D], " +"which contains additional information about the collision when stopped, or " +"when touching another body along the motion.\n" +"[param safe_margin] is the extra margin used for collision recovery (see " +"[member CharacterBody3D.safe_margin] for more details).\n" +"If [param recovery_as_collision] is [code]true[/code], any depenetration " +"from the recovery phase is also reported as a collision; this is useful for " +"checking whether the body would [i]touch[/i] any other bodies.\n" +"[param max_collisions] allows to retrieve more than one collision result." +msgstr "" +"在不移动实体的情况下检查碰撞。为了在 [method Node._physics_process] 或 " +"[method Node._process] 中独立于帧速率,[param motion] 应该使用 [code]delta[/" +"code] 来计算。\n" +"实际上是将节点的位置、缩放和旋转设置为给定 [Transform3D] 的位置、缩放和旋转," +"然后尝试沿向量 [param motion] 移动实体。如果碰撞会阻止实体沿整个路径移动,则" +"返回 [code]true[/code]。\n" +"[param collision] 是类型为 [KinematicCollision3D] 的一个可选对象,它包含有关" +"停止时碰撞、或沿运动接触另一个实体时碰撞的附加信息。\n" +"[param safe_margin] 是用于碰撞恢复的额外余量(有关更多详细信息,请参阅 " +"[member CharacterBody3D.safe_margin])。\n" +"如果 [param recovery_as_collision] 为 [code]true[/code],恢复阶段的任何穿透也" +"将被报告为碰撞;这对于检查该实体是否会[i]接触[/i]其他任意实体很有用。\n" +"[param max_collisions] 允许检索一个以上的碰撞结果。" + msgid "Lock the body's rotation in the X axis." msgstr "锁定物体在 X 轴上的旋转。" @@ -44331,9 +53613,70 @@ msgstr "锁定物体在 Y 轴上的线性运动。" msgid "Lock the body's linear movement in the Z axis." msgstr "锁定物体在 Z 轴上的线性运动。" +msgid "Direct access object to a physics body in the [PhysicsServer2D]." +msgstr "用于对 [PhysicsServer2D] 中的物理物体进行直接访问的对象。" + msgid "Ray-casting" msgstr "发射射线" +msgid "" +"Adds a constant positioned force to the body that keeps being applied over " +"time until cleared with [code]constant_force = Vector2(0, 0)[/code].\n" +"[param position] is the offset from the body origin in global coordinates." +msgstr "" +"向实体添加一个恒定的定位力,持续施加,直到用 [code]constant_force = " +"Vector2(0, 0)[/code] 清除。\n" +"[param position] 是在全局坐标中距实体原点的偏移量。" + +msgid "" +"Applies a positioned force to the body. A force is time dependent and meant " +"to be applied every physics update.\n" +"[param position] is the offset from the body origin in global coordinates." +msgstr "" +"对实体施加一个定位力。力是时间相关的,意味着每次物理更新都会被施加。\n" +"[param position] 是在全局坐标中距实体原点的偏移量。" + +msgid "" +"Applies a positioned impulse to the body.\n" +"An impulse is time-independent! Applying an impulse every frame would result " +"in a framerate-dependent force. For this reason, it should only be used when " +"simulating one-time impacts (use the \"_force\" functions otherwise).\n" +"[param position] is the offset from the body origin in global coordinates." +msgstr "" +"向实体施加一个定位冲力。\n" +"冲力是时间无关的!每帧施加一个冲力将产生一个依赖于帧速率的力。出于这个原因," +"它应该只在模拟一次性影响时使用(否则使用“_force”函数)。\n" +"[param position] 是在全局坐标中距实体原点的偏移量。" + +msgid "" +"Applies a rotational force without affecting position. A force is time " +"dependent and meant to be applied every physics update.\n" +"[b]Note:[/b] [member inverse_inertia] is required for this to work. To have " +"[member inverse_inertia], an active [CollisionShape2D] must be a child of " +"the node, or you can manually set [member inverse_inertia]." +msgstr "" +"在不影响位置的情况下施加一个旋转力。力是时间相关的,这意味着每次物理更新都会" +"被施加。\n" +"[b]注意:[/b][member inverse_inertia] 是生效所必需的。要拥有 [member " +"inverse_inertia],活动的 [CollisionShape2D] 必须是该节点的子节点,或者可以手" +"动设置 [member inverse_inertia]。" + +msgid "" +"Applies a rotational impulse to the body without affecting the position.\n" +"An impulse is time-independent! Applying an impulse every frame would result " +"in a framerate-dependent force. For this reason, it should only be used when " +"simulating one-time impacts (use the \"_force\" functions otherwise).\n" +"[b]Note:[/b] [member inverse_inertia] is required for this to work. To have " +"[member inverse_inertia], an active [CollisionShape2D] must be a child of " +"the node, or you can manually set [member inverse_inertia]." +msgstr "" +"在不影响位置的情况下,向实体施加一个旋转冲力。\n" +"冲力是时间无关的!每帧施加一个冲力将产生一个依赖于帧速率的力。出于这个原因," +"它应该只在模拟一次性影响时使用(否则使用“_force”函数)。\n" +"[b]注意:[/b][member inverse_inertia] 是生效所必需的。要拥有 [member " +"inverse_inertia],活动的 [CollisionShape2D] 必须是该节点的一个子节点,或者可" +"以手动设置 [member inverse_inertia]。" + msgid "Returns the collider's [RID]." msgstr "返回该碰撞体的 [RID]。" @@ -44419,12 +53762,150 @@ msgstr "物体停止运动的速率,如果没有任何其他力使它运动。 msgid "The body's transformation matrix." msgstr "物体的变换矩阵。" +msgid "Direct access object to a physics body in the [PhysicsServer3D]." +msgstr "用于对 [PhysicsServer3D] 中的物理物体进行直接访问的对象。" + +msgid "" +"Adds a constant positioned force to the body that keeps being applied over " +"time until cleared with [code]constant_force = Vector3(0, 0, 0)[/code].\n" +"[param position] is the offset from the body origin in global coordinates." +msgstr "" +"向实体添加一个恒定的定位力,持续施加,直到用 [code]constant_force = " +"Vector3(0, 0, 0)[/code] 清除。\n" +"[param position] 是在全局坐标中距实体原点的偏移量。" + +msgid "" +"Applies a rotational impulse to the body without affecting the position.\n" +"An impulse is time-independent! Applying an impulse every frame would result " +"in a framerate-dependent force. For this reason, it should only be used when " +"simulating one-time impacts (use the \"_force\" functions otherwise).\n" +"[b]Note:[/b] [member inverse_inertia] is required for this to work. To have " +"[member inverse_inertia], an active [CollisionShape3D] must be a child of " +"the node, or you can manually set [member inverse_inertia]." +msgstr "" +"在不影响位置的情况下,向实体施加一个旋转冲力。\n" +"冲力是时间无关的!每帧施加一个冲力将产生一个依赖于帧速率的力。出于这个原因," +"它应该只在模拟一次性影响时使用(否则使用“_force”函数)。\n" +"[b]注意:[/b][member inverse_inertia] 是生效所必需的。要拥有 [member " +"inverse_inertia],活动的 [CollisionShape3D] 必须是该节点的子节点,或者可以手" +"动设置 [member inverse_inertia]。" + msgid "Returns the collider object." msgstr "返回碰撞对象。" msgid "The body's linear velocity in units per second." msgstr "物体的线速度,单位为单位每秒。" +msgid "Direct access object to a space in the [PhysicsServer2D]." +msgstr "用于对 [PhysicsServer2D] 中的空间进行直接访问的对象。" + +msgid "" +"Direct access object to a space in the [PhysicsServer2D]. It's used mainly " +"to do queries against objects and areas residing in a given space." +msgstr "" +"[PhysicsServer2D] 中的一个空间的直接访问对象。主要用于对驻留在给定空间中的对" +"象和区域进行查询。" + +msgid "" +"Checks whether a point is inside any solid shape. Position and other " +"parameters are defined through [PhysicsPointQueryParameters2D]. The shapes " +"the point is inside of are returned in an array containing dictionaries with " +"the following fields:\n" +"[code]collider[/code]: The colliding object.\n" +"[code]collider_id[/code]: The colliding object's ID.\n" +"[code]rid[/code]: The intersecting object's [RID].\n" +"[code]shape[/code]: The shape index of the colliding shape.\n" +"The number of intersections can be limited with the [param max_results] " +"parameter, to reduce the processing time.\n" +"[b]Note:[/b] [ConcavePolygonShape2D]s and [CollisionPolygon2D]s in " +"[code]Segments[/code] build mode are not solid shapes. Therefore, they will " +"not be detected." +msgstr "" +"检查点是否在任何实体形状内。位置和其他参数通过 " +"[PhysicsPointQueryParameters2D] 定义。点所在的形状在包含具有以下字段的字典的" +"数组中返回:\n" +"[code]collider[/code]:碰撞对象。\n" +"[code]collider_id[/code]:碰撞对象的 ID。\n" +"[code]rid[/code]:相交对象的 [RID]。\n" +"[code]shape[/code]:碰撞形状的形状索引。\n" +"可以使用 [param max_results] 参数限制相交的数量,以减少处理时间。\n" +"[b]注意:[/b]在 [code]Segments[/code] 构建模式下,[ConcavePolygonShape2D] 和 " +"[CollisionPolygon2D] 不是实体形状。因此,它们不会被检测到。" + +msgid "" +"Checks the intersections of a shape, given through a " +"[PhysicsShapeQueryParameters2D] object, against the space. The intersected " +"shapes are returned in an array containing dictionaries with the following " +"fields:\n" +"[code]collider[/code]: The colliding object.\n" +"[code]collider_id[/code]: The colliding object's ID.\n" +"[code]rid[/code]: The intersecting object's [RID].\n" +"[code]shape[/code]: The shape index of the colliding shape.\n" +"The number of intersections can be limited with the [param max_results] " +"parameter, to reduce the processing time." +msgstr "" +"检查通过 [PhysicsShapeQueryParameters2D] 对象给出的形状与空间的交点。相交的形" +"状会以数组的形式返回,该数组包含有以下字段的字典:\n" +"[code]collider[/code]:碰撞对象。\n" +"[code]collider_id[/code]:碰撞对象的 ID。\n" +"[code]rid[/code]:相交对象的[RID]。\n" +"[code]shape[/code]:碰撞形状的形状索引。\n" +"可以使用 [param max_results] 参数限制相交的数量,以减少处理时间。" + +msgid "Direct access object to a space in the [PhysicsServer3D]." +msgstr "用于对 [PhysicsServer3D] 中的空间进行直接访问的对象。" + +msgid "" +"Direct access object to a space in the [PhysicsServer3D]. It's used mainly " +"to do queries against objects and areas residing in a given space." +msgstr "" +"[PhysicsServer3D] 中的一个空间的直接访问对象。主要用于对驻留在给定空间中的对" +"象和区域进行查询。" + +msgid "" +"Checks whether a point is inside any solid shape. Position and other " +"parameters are defined through [PhysicsPointQueryParameters3D]. The shapes " +"the point is inside of are returned in an array containing dictionaries with " +"the following fields:\n" +"[code]collider[/code]: The colliding object.\n" +"[code]collider_id[/code]: The colliding object's ID.\n" +"[code]rid[/code]: The intersecting object's [RID].\n" +"[code]shape[/code]: The shape index of the colliding shape.\n" +"The number of intersections can be limited with the [param max_results] " +"parameter, to reduce the processing time." +msgstr "" +"检查点是否在任何实体形状内。位置和其他参数通过 " +"[PhysicsPointQueryParameters3D] 定义。点所在的形状会以数组的形式返回,该数组" +"包含有以下字段的字典:\n" +"[code]collider[/code]:碰撞对象。\n" +"[code]collider_id[/code]:碰撞对象的 ID。\n" +"[code]rid[/code]:相交对象的[RID]。\n" +"[code]shape[/code]:碰撞形状的形状索引。\n" +"可以使用 [param max_results] 参数限制相交的数量,以减少处理时间。" + +msgid "" +"Checks the intersections of a shape, given through a " +"[PhysicsShapeQueryParameters3D] object, against the space. The intersected " +"shapes are returned in an array containing dictionaries with the following " +"fields:\n" +"[code]collider[/code]: The colliding object.\n" +"[code]collider_id[/code]: The colliding object's ID.\n" +"[code]rid[/code]: The intersecting object's [RID].\n" +"[code]shape[/code]: The shape index of the colliding shape.\n" +"The number of intersections can be limited with the [param max_results] " +"parameter, to reduce the processing time.\n" +"[b]Note:[/b] This method does not take into account the [code]motion[/code] " +"property of the object." +msgstr "" +"检查通过 [PhysicsShapeQueryParameters3D] 对象给出的形状与空间的交点。相交的形" +"状在包含具有以下字段的字典的数组中返回:\n" +"[code]collider[/code]:碰撞对象。\n" +"[code]collider_id[/code]:碰撞对象的 ID。\n" +"[code]rid[/code]:相交对象的 [RID]。\n" +"[code]shape[/code]:碰撞形状的形状索引。\n" +"可以使用 [param max_results] 参数限制相交的数量,以减少处理时间。\n" +"[b]注意:[/b]该方法不考虑对象的 [code]motion[/code] 属性。" + msgid "A material for physics properties." msgstr "具有物理属性的材质。" @@ -44452,6 +53933,16 @@ msgstr "" "的摩擦。如果 [code]false[/code],物理引擎将使用所有碰撞物体的最低摩擦力来代" "替。如果两个碰撞的对象都为 [code]true[/code],物理引擎将使用最高的摩擦力。" +msgid "" +"If different from [code]0[/code], restricts the query to a specific canvas " +"layer specified by its instance ID. See [method Object.get_instance_id].\n" +"If [code]0[/code], restricts the query to the Viewport's default canvas " +"layer." +msgstr "" +"如果与 [code]0[/code] 不同,则将查询限制为由其实例 ID 指定的特定画布层。请参" +"阅 [method Object.get_instance_id]。\n" +"如果为 [code]0[/code],则将查询限制为视口的默认画布层。" + msgid "If [code]true[/code], the query will take [Area2D]s into account." msgstr "如果为 [code]true[/code],查询将考虑 [Area2D]。" @@ -44459,6 +53950,25 @@ msgid "" "If [code]true[/code], the query will take [PhysicsBody2D]s into account." msgstr "如果为 [code]true[/code],查询将考虑 [PhysicsBody2D]。" +msgid "The position being queried for, in global coordinates." +msgstr "要查询的位置,使用全局坐标。" + +msgid "Parameters to be sent to a 3D point physics query." +msgstr "要发送到 3D 点物理查询的参数。" + +msgid "If [code]true[/code], the query will take [Area3D]s into account." +msgstr "如果为 [code]true[/code],则查询将考虑 [Area3D]。" + +msgid "" +"If [code]true[/code], the query will take [PhysicsBody3D]s into account." +msgstr "如果为 [code]true[/code],则查询将考虑 [PhysicsBody3D]。" + +msgid "Parameters to be sent to a 2D ray physics query." +msgstr "要发送到 2D 射线物理查询的参数。" + +msgid "The starting point of the ray being queried for, in global coordinates." +msgstr "要查询的射线起点,使用全局坐标。" + msgid "" "If [code]true[/code], the query will detect a hit when starting inside " "shapes. In this case the collision normal will be [code]Vector2(0, 0)[/" @@ -44467,6 +53977,12 @@ msgstr "" "如果为 [code]true[/code],查询会在从形状内部开始时检测到命中。在此情况下,碰" "撞法线将为 [code]Vector2(0, 0)[/code]。不会影响凹多边形形状。" +msgid "The ending point of the ray being queried for, in global coordinates." +msgstr "要查询的射线终点,使用全局坐标。" + +msgid "Parameters to be sent to a 3D ray physics query." +msgstr "要发送到 3D 射线物理查询的参数。" + msgid "" "If [code]true[/code], the query will detect a hit when starting inside " "shapes. In this case the collision normal will be [code]Vector3(0, 0, 0)[/" @@ -44478,6 +53994,107 @@ msgstr "" msgid "Server interface for low-level 2D physics access." msgstr "用于底层 2D 物理访问服务的接口。" +msgid "" +"PhysicsServer2D is the server responsible for all 2D physics. It can " +"directly create and manipulate all physics objects:\n" +"- A [i]space[/i] is a self-contained world for a physics simulation. It " +"contains bodies, areas, and joints. Its state can be queried for collision " +"and intersection information, and several parameters of the simulation can " +"be modified.\n" +"- A [i]shape[/i] is a geometric figure such as a circle, a rectangle, a " +"capsule, or a polygon. It can be used for collision detection by adding it " +"to a body/area, possibly with an extra transformation relative to the body/" +"area's origin. Bodies/areas can have multiple (transformed) shapes added to " +"them, and a single shape can be added to bodies/areas multiple times with " +"different local transformations.\n" +"- A [i]body[/i] is a physical object which can be in static, kinematic, or " +"rigid mode. Its state (such as position and velocity) can be queried and " +"updated. A force integration callback can be set to customize the body's " +"physics.\n" +"- An [i]area[/i] is a region in space which can be used to detect bodies and " +"areas entering and exiting it. A body monitoring callback can be set to " +"report entering/exiting body shapes, and similarly an area monitoring " +"callback can be set. Gravity and damping can be overridden within the area " +"by setting area parameters.\n" +"- A [i]joint[/i] is a constraint, either between two bodies or on one body " +"relative to a point. Parameters such as the joint bias and the rest length " +"of a spring joint can be adjusted.\n" +"Physics objects in the physics server may be created and manipulated " +"independently; they do not have to be tied to nodes in the scene tree.\n" +"[b]Note:[/b] All the physics nodes use the physics server internally. Adding " +"a physics node to the scene tree will cause a corresponding physics object " +"to be created in the physics server. A rigid body node registers a callback " +"that updates the node's transform with the transform of the respective body " +"object in the physics server (every physics update). An area node registers " +"a callback to inform the area node about overlaps with the respective area " +"object in the physics server. The raycast node queries the direct state of " +"the relevant space in the physics server." +msgstr "" +"PhysicsServer2D 是负责所有 2D 物理的服务器。它可以直接创建和操作所有物理对" +"象:\n" +"- [i]空间[/i]是指一个独立的物理模拟世界。它包含实体、区域和关节。可以查询其状" +"态以获取碰撞和相交信息,并且可以修改模拟的几个参数。\n" +"- [i]形状[/i]是指一个几何图形,例如圆形、矩形、胶囊或多边形。可以通过将其添加" +"到实体/区域以用于碰撞检测,可能具有相对于实体/区域原点的额外变换。可以向实体/" +"区域添加多个(变换后的)形状,并且可以多次使用不同的局部变换将单个形状添加到" +"实体/区域中。\n" +"- [i]实体[/i]是指一个物理对象,它可以处于静态、运动学或刚性模式。可以查询和更" +"新其状态(例如位置和速度)。可以设置力积分回调来自定义实体的物理特性。\n" +"- [i]区域[/i]是指空间中的一个区域,可用于检测进入和离开它的实体和区域。可以设" +"置实体的监测回调以报告进入/离开的实体形状,同样可以设置区域的监测回调。通过设" +"置区域参数,可以在区域内覆盖重力和阻尼。\n" +"- [i]关节[/i]是两个实体之间或一个实体上相对于一个点的约束。可以调整关节偏置和" +"弹簧关节的放松长度等参数。\n" +"物理服务器中的物理对象可以独立创建和操作;不必将它们绑定到场景树中的节点。\n" +"[b]注意:[/b]所有物理节点都在内部使用物理服务器。将物理节点添加到场景树,将导" +"致在物理服务器中创建相应的物理对象。刚体节点注册一个回调,该回调使用物理服务" +"器中相应刚体对象的变换更新该节点的变换(每次物理更新)。区域节点注册回调,以" +"通知区域节点与物理服务器中相应区域对象的重叠。射线投射节点查询物理服务器中相" +"关空间的直接状态。" + +msgid "" +"Adds a shape to the area, with the given local transform. The shape " +"(together with its [param transform] and [param disabled] properties) is " +"added to an array of shapes, and the shapes of an area are usually " +"referenced by their index in this array." +msgstr "" +"使用给定的局部变换向区域添加一个形状。该形状(连同它的 [param transform] 和 " +"[param disabled] 属性)被添加到一个形状数组中,一个区域的形状通常由它们在这个" +"数组中的索引引用。" + +msgid "" +"Attaches the [code]ObjectID[/code] of a canvas to the area. Use [method " +"Object.get_instance_id] to get the [code]ObjectID[/code] of a [CanvasLayer]." +msgstr "" +"将画布的 [code]ObjectID[/code] 附加到该区域。使用 [method Object." +"get_instance_id] 获取 [CanvasLayer] 的 [code]ObjectID[/code]。" + +msgid "" +"Attaches the [code]ObjectID[/code] of an [Object] to the area. Use [method " +"Object.get_instance_id] to get the [code]ObjectID[/code] of a " +"[CollisionObject2D]." +msgstr "" +"将 [Object] 的 [code]ObjectID[/code] 附加到该区域。使用 [method Object." +"get_instance_id] 获取 [CollisionObject2D] 的 [code]ObjectID[/code]。" + +msgid "" +"Creates a 2D area object in the physics server, and returns the [RID] that " +"identifies it. Use [method area_add_shape] to add shapes to it, use [method " +"area_set_transform] to set its transform, and use [method area_set_space] to " +"add the area to a space." +msgstr "" +"在物理服务中创建一个 2D 区域对象,并返回标识它的 [RID]。使用 [method " +"area_add_shape] 为其添加形状,使用 [method area_set_transform] 设置其变换,并" +"使用 [method area_set_space] 将区域添加到一个空间。" + +msgid "" +"Returns the [code]ObjectID[/code] of the canvas attached to the area. Use " +"[method @GlobalScope.instance_from_id] to retrieve a [CanvasLayer] from a " +"nonzero [code]ObjectID[/code]." +msgstr "" +"返回附加到该区域的画布的 [code]ObjectID[/code]。使用 [method @GlobalScope." +"instance_from_id] 从非零 [code]ObjectID[/code] 检索一个 [CanvasLayer]。" + msgid "Returns the physics layer or layers the area belongs to, as a bitmask." msgstr "返回该区域所属的物理层,形式为位掩码。" @@ -44485,22 +54102,620 @@ msgid "" "Returns the physics layer or layers the area can contact with, as a bitmask." msgstr "返回该区域所能接触的物理层,形式为位掩码。" +msgid "" +"Returns the [code]ObjectID[/code] attached to the area. Use [method " +"@GlobalScope.instance_from_id] to retrieve an [Object] from a nonzero " +"[code]ObjectID[/code]." +msgstr "" +"返回附加到该区域的 [code]ObjectID[/code]。可使用 [method @GlobalScope." +"instance_from_id] 从非零 [code]ObjectID[/code] 中检索一个 [Object]。" + msgid "Returns the number of shapes added to the area." msgstr "返回添加给该区域的形状数量。" msgid "Returns the transform matrix of the area." msgstr "返回该区域的变换矩阵。" +msgid "" +"Removes the shape with the given index from the area's array of shapes. The " +"shape itself is not deleted, so it can continue to be used elsewhere or " +"added back later. As a result of this operation, the area's shapes which " +"used to have indices higher than [param shape_idx] will have their index " +"decreased by one." +msgstr "" +"从区域的形状数组中移除具有给定索引的形状。该形状本身并没有被删除,所以它可以" +"继续在别处使用或稍后添加回来。此操作会使曾经索引高于 [param shape_idx] 的区域" +"形状的索引将减少一个。" + +msgid "" +"Sets the area's area monitor callback. This callback will be called when any " +"other (shape of an) area enters or exits (a shape of) the given area, and " +"must take the following five parameters:\n" +"1. an integer [code]status[/code]: either [constant AREA_BODY_ADDED] or " +"[constant AREA_BODY_REMOVED] depending on whether the other area's shape " +"entered or exited the area,\n" +"2. an [RID] [code]area_rid[/code]: the [RID] of the other area that entered " +"or exited the area,\n" +"3. an integer [code]instance_id[/code]: the [code]ObjectID[/code] attached " +"to the other area,\n" +"4. an integer [code]area_shape_idx[/code]: the index of the shape of the " +"other area that entered or exited the area,\n" +"5. an integer [code]self_shape_idx[/code]: the index of the shape of the " +"area where the other area entered or exited.\n" +"By counting (or keeping track of) the shapes that enter and exit, it can be " +"determined if an area (with all its shapes) is entering for the first time " +"or exiting for the last time." +msgstr "" +"设置该区域的区域监视回调。当任何其他(形状)区域进入或退出(形状)给定区域" +"时,将调用此回调,并且必须采用以下五个参数:\n" +"1. 一个整数 [code]status[/code]:[constant AREA_BODY_ADDED] 或 [constant " +"AREA_BODY_REMOVED] 取决于其他区域的形状是进入还是退出该区域,\n" +"2. 一个 [RID] [code]area_rid[/code]:进入或退出该区域的其他区域的 [RID],\n" +"3. 一个整数 [code]instance_id[/code]:附加到其他区域的 [code]ObjectID[/" +"code],\n" +"4. 一个整数 [code]area_shape_idx[/code]:进入或退出该区域的其他区域的形状索" +"引,\n" +"5. 一个整数 [code]self_shape_idx[/code]:其他区域进入或退出的区域的形状索" +"引。\n" +"通过计算(或跟踪)进入和退出的形状,可以确定一个区域(及其所有形状)是第一次" +"进入还是最后一次退出。" + msgid "Assigns the area to one or many physics layers, via a bitmask." msgstr "将该区域分配给若干个物理层,使用位掩码。" msgid "Sets which physics layers the area will monitor, via a bitmask." msgstr "设置该区域所监视的物理层,使用位掩码。" +msgid "" +"Sets the area's body monitor callback. This callback will be called when any " +"other (shape of a) body enters or exits (a shape of) the given area, and " +"must take the following five parameters:\n" +"1. an integer [code]status[/code]: either [constant AREA_BODY_ADDED] or " +"[constant AREA_BODY_REMOVED] depending on whether the other body shape " +"entered or exited the area,\n" +"2. an [RID] [code]body_rid[/code]: the [RID] of the body that entered or " +"exited the area,\n" +"3. an integer [code]instance_id[/code]: the [code]ObjectID[/code] attached " +"to the body,\n" +"4. an integer [code]body_shape_idx[/code]: the index of the shape of the " +"body that entered or exited the area,\n" +"5. an integer [code]self_shape_idx[/code]: the index of the shape of the " +"area where the body entered or exited.\n" +"By counting (or keeping track of) the shapes that enter and exit, it can be " +"determined if a body (with all its shapes) is entering for the first time or " +"exiting for the last time." +msgstr "" +"设置区域的实体监视器回调。当任何其他(形状的)实体进入或退出(形状的)给定区" +"域时,将调用此回调,并且必须采用以下五个参数:\n" +"1. 一个整数 [code]status[/code]:[constant AREA_BODY_ADDED] 或 [constant " +"AREA_BODY_REMOVED] 取决于其他实体形状是否进入或退出该区域,\n" +"2. 一个 [RID] [code]body_rid[/code]:进入或离开该区域的实体的 [RID],\n" +"3. 一个整数 [code]instance_id[/code]:附加到该实体上的 [code]ObjectID[/" +"code],\n" +"4. 一个整数 [code]body_shape_idx[/code]:进入或离开该区域的实体形状索引,\n" +"5. 一个整数 [code]self_shape_idx[/code]:实体进入或离开的区域的形状索引。\n" +"通过计算(或跟踪)进入和退出的形状,可以确定一个实体(及其所有形状)是第一次" +"进入还是最后一次退出。" + +msgid "" +"Sets whether the area is monitorable or not. If [param monitorable] is " +"[code]true[/code], the area monitoring callback of other areas will be " +"called when this area enters or exits them." +msgstr "" +"设置该区域是否可监视。如果 [param monitorable] 为 [code]true[/code],则该区域" +"进入或退出其他区域时,会调用其他区域的区域监视回调。" + +msgid "" +"Replaces the area's shape at the given index by another shape, while not " +"affecting the [code]transform[/code] and [code]disabled[/code] properties at " +"the same index." +msgstr "" +"用另一个形状替换给定索引处的区域形状,同时不会影响在同一索引处的 " +"[code]transform[/code] 和 [code]disabled[/code] 属性。" + +msgid "" +"Sets the disabled property of the area's shape with the given index. If " +"[param disabled] is [code]true[/code], then the shape will not detect any " +"other shapes entering or exiting it." +msgstr "" +"使用给定索引设置区域形状的禁用属性。如果 [param disabled] 为 [code]true[/" +"code],则该形状将不会检测任何其他形状进入或退出它。" + +msgid "" +"Adds the area to the given space, after removing the area from the " +"previously assigned space (if any).\n" +"[b]Note:[/b] To remove an area from a space without immediately adding it " +"back elsewhere, use [code]PhysicsServer2D.area_set_space(area, RID())[/code]." +msgstr "" +"从先前赋予的空间(如果有)中移除该区域后,将该区域添加到给定空间。\n" +"[b]注意:[/b]要从空间中移除一个区域而不立即将其添加回其他地方,请使用 " +"[code]PhysicsServer2D.area_set_space(area, RID())[/code]。" + msgid "Sets the transform matrix of the area." msgstr "设置该区域的变换矩阵。" msgid "" +"Adds [param excepted_body] to the body's list of collision exceptions, so " +"that collisions with it are ignored." +msgstr "" +"将 [param excepted_body] 添加到实体的碰撞例外列表中,以便忽略与它的碰撞。" + +msgid "" +"Adds a constant positioned force to the body. The force can affect rotation " +"if [param position] is different from the body's center of mass. The force " +"remains applied over time until cleared with [code]PhysicsServer2D." +"body_set_constant_force(body, Vector2(0, 0))[/code].\n" +"[param position] is the offset from the body origin in global coordinates." +msgstr "" +"向实体添加一个恒定的定位力。如果 [param position] 与实体的质心不同,则力会影" +"响旋转。力会持续施加,直到使用 [code]PhysicsServer2D." +"body_set_constant_force(body, Vector2(0, 0))[/code] 清除。\n" +"[param position] 是在全局坐标中距实体原点的偏移量。" + +msgid "" +"Adds a shape to the area, with the given local transform. The shape " +"(together with its [param transform] and [param disabled] properties) is " +"added to an array of shapes, and the shapes of a body are usually referenced " +"by their index in this array." +msgstr "" +"使用给定的局部变换向该区域添加一个形状。该形状(连同它的 [param transform] " +"和 [param disabled] 属性)将被添加到一个形状数组中,一个实体的形状通常由它们" +"在这个数组中的索引引用。" + +msgid "" +"Applies a positioned force to the body. The force can affect rotation if " +"[param position] is different from the body's center of mass. A force is " +"time dependent and meant to be applied every physics update.\n" +"[param position] is the offset from the body origin in global coordinates." +msgstr "" +"向实体施加一个定位力。如果 [param position] 与实体的质心不同,则力会影响旋" +"转。力是时间相关的,意味着每次物理更新都会被施加。\n" +"[param position] 是在全局坐标中距实体原点的偏移量。" + +msgid "" +"Applies a positioned impulse to the body. The impulse can affect rotation if " +"[param position] is different from the body's center of mass.\n" +"An impulse is time-independent! Applying an impulse every frame would result " +"in a framerate-dependent force. For this reason, it should only be used when " +"simulating one-time impacts (use the \"_force\" functions otherwise).\n" +"[param position] is the offset from the body origin in global coordinates." +msgstr "" +"向实体施加一个定位冲力。如果 [param position] 与实体的质心不同,则该冲力会影" +"响旋转。\n" +"冲力是时间无关的!每帧施加一个冲力将产生一个依赖于帧速率的力。出于这个原因," +"它应该只在模拟一次性影响时使用(否则使用“_force”函数)。\n" +"[param position] 是在全局坐标中距实体原点的偏移量。" + +msgid "" +"Attaches the [code]ObjectID[/code] of a canvas to the body. Use [method " +"Object.get_instance_id] to get the [code]ObjectID[/code] of a [CanvasLayer]." +msgstr "" +"将画布的 [code]ObjectID[/code] 附加到该实体。可使用 [method Object." +"get_instance_id] 获取 [CanvasLayer] 的 [code]ObjectID[/code]。" + +msgid "" +"Attaches the [code]ObjectID[/code] of an [Object] to the body. Use [method " +"Object.get_instance_id] to get the [code]ObjectID[/code] of a " +"[CollisionObject2D]." +msgstr "" +"将 [Object] 的 [code]ObjectID[/code] 附加到该实体。可使用 [method Object." +"get_instance_id] 获取 [CollisionObject2D] 的 [code]ObjectID[/code]。" + +msgid "" +"Creates a 2D body object in the physics server, and returns the [RID] that " +"identifies it. Use [method body_add_shape] to add shapes to it, use [method " +"body_set_state] to set its transform, and use [method body_set_space] to add " +"the body to a space." +msgstr "" +"在物理服务中创建一个 2D 物体对象,并返回标识它的 [RID]。可使用 [method " +"body_add_shape] 为其添加形状,使用 [method body_set_state] 设置其变换,以及使" +"用 [method body_set_space] 将实体添加到一个空间。" + +msgid "" +"Returns the [code]ObjectID[/code] of the canvas attached to the body. Use " +"[method @GlobalScope.instance_from_id] to retrieve a [CanvasLayer] from a " +"nonzero [code]ObjectID[/code]." +msgstr "" +"返回附加到该实体的画布的 [code]ObjectID[/code]。可使用 [method @GlobalScope." +"instance_from_id] 从非零 [code]ObjectID[/code] 检索一个 [CanvasLayer]。" + +msgid "" +"Returns the body's collision priority. This is used in the depenetration " +"phase of [method body_test_motion]. The higher the priority is, the lower " +"the penetration into the body will be." +msgstr "" +"返回该实体的碰撞优先级。这用于 [method body_test_motion] 的穿透阶段。优先级越" +"高,对该实体的穿透力就越低。" + +msgid "" +"Returns the body's continuous collision detection mode (see [enum CCDMode])." +msgstr "返回该物体的连续碰撞检测模式(见 [enum CCDMode])。" + +msgid "Returns the body's mode (see [enum BodyMode])." +msgstr "返回该物体的模式(见 [enum BodyMode])。" + +msgid "" +"Returns the [code]ObjectID[/code] attached to the body. Use [method " +"@GlobalScope.instance_from_id] to retrieve an [Object] from a nonzero " +"[code]ObjectID[/code]." +msgstr "" +"返回附加到该实体的 [code]ObjectID[/code]。可使用 [method @GlobalScope." +"instance_from_id] 从非零 [code]ObjectID[/code] 中检索一个 [Object]。" + +msgid "Returns the number of shapes added to the body." +msgstr "返回添加至该物体的形状的数量。" + +msgid "" +"Returns [code]true[/code] if the body uses a callback function to calculate " +"its own physics (see [method body_set_force_integration_callback])." +msgstr "" +"如果实体使用回调函数来计算自己的物理运算(请参阅 [method " +"body_set_force_integration_callback]),则返回 [code]true[/code]。" + +msgid "" +"Removes [param excepted_body] from the body's list of collision exceptions, " +"so that collisions with it are no longer ignored." +msgstr "" +"返回附加到该实体的 [code]ObjectID[/code]。可使用 [method @GlobalScope." +"instance_from_id] 从非零 [code]ObjectID[/code] 中检索一个 [Object]。" + +msgid "" +"Removes the shape with the given index from the body's array of shapes. The " +"shape itself is not deleted, so it can continue to be used elsewhere or " +"added back later. As a result of this operation, the body's shapes which " +"used to have indices higher than [param shape_idx] will have their index " +"decreased by one." +msgstr "" +"从该实体的形状数组中移除具有给定索引的形状。该形状本身并没有被删除,所以它可" +"以继续在别处使用或稍后添加回来。该操作将会使曾经索引高于 [param shape_idx] 的" +"实体形状的索引将减少一个。" + +msgid "" +"Modifies the body's linear velocity so that its projection to the axis " +"[code]axis_velocity.normalized()[/code] is exactly [code]axis_velocity." +"length()[/code]. This is useful for jumping behavior." +msgstr "" +"修改实体的线速度,使其到轴 [code]axis_velocity.normalized()[/code] 的投影正好" +"是 [code]axis_velocity.length()[/code]。这对于跳跃行为很有用。" + +msgid "Sets the physics layer or layers the body belongs to, via a bitmask." +msgstr "设置该物体所属的物理层,使用位掩码。" + +msgid "" +"Sets the physics layer or layers the body can collide with, via a bitmask." +msgstr "设置该物体能够碰撞的物理层,使用位掩码。" + +msgid "" +"Sets the body's collision priority. This is used in the depenetration phase " +"of [method body_test_motion]. The higher the priority is, the lower the " +"penetration into the body will be." +msgstr "" +"设置该实体的碰撞优先级。这用于 [method body_test_motion] 的穿透阶段。优先级越" +"高,对实体的穿透力就越低。" + +msgid "" +"Sets the function used to calculate physics for the body, if that body " +"allows it (see [method body_set_omit_force_integration]).\n" +"The force integration function takes the following two parameters:\n" +"1. a [PhysicsDirectBodyState2D] [code]state[/code]: used to retrieve and " +"modify the body's state,\n" +"2. a [Variant] [code]userdata[/code]: optional user data.\n" +"[b]Note:[/b] This callback is currently not called in Godot Physics." +msgstr "" +"如果该实体允许的话,设置用于计算实体物理的函数(参见 [method " +"body_set_omit_force_integration])。\n" +"该力的积分函数采用以下两个参数:\n" +"1. 一个 [PhysicsDirectBodyState2D] [code]state[/code]:用于检索和修改实体的状" +"态,\n" +"2. 一个 [Variant] [code]userdata[/code]:可选的用户数据。\n" +"[b]注意:[/b]该回调目前在 Godot 物理中不会被调用。" + +msgid "" +"Sets the maximum number of contacts that the body can report. If [param " +"amount] is greater than zero, then the body will keep track of at most this " +"many contacts with other bodies." +msgstr "" +"设置该实体可以报告的接触的最大数量。如果 [param amount] 大于零,那么实体将最" +"多跟踪与其他实体的这么多次接触。" + +msgid "" +"Replaces the body's shape at the given index by another shape, while not " +"affecting the [code]transform[/code], [code]disabled[/code], and one-way " +"collision properties at the same index." +msgstr "" +"用另一个形状替换给定索引处的实体形状,同时不会影响同一索引处的 " +"[code]transform[/code]、[code]disabled[/code] 和单向碰撞属性。" + +msgid "" +"Sets the one-way collision properties of the body's shape with the given " +"index. If [param enable] is [code]true[/code], the one-way collision " +"direction given by the shape's local upward axis " +"[code]body_get_shape_transform(body, shape_idx).y[/code] will be used to " +"ignore collisions with the shape in the opposite direction, and to ensure " +"depenetration of kinematic bodies happens in this direction." +msgstr "" +"使用给定索引设置实体形状的单向碰撞属性。如果 [param enable] 为 [code]true[/" +"code],则形状的局部向上轴 [code]body_get_shape_transform(body, shape_idx).y[/" +"code] 给出的单向碰撞方向将用于忽略与相反方向的形状,并确保运动实体的穿透发生" +"在这个方向上。" + +msgid "" +"Sets the disabled property of the body's shape with the given index. If " +"[param disabled] is [code]true[/code], then the shape will be ignored in all " +"collision detection." +msgstr "" +"使用给定索引设置实体形状的禁用属性。如果 [param disabled] 为 [code]true[/" +"code],则在所有碰撞检测中将忽略该形状。" + +msgid "" +"Adds the body to the given space, after removing the body from the " +"previously assigned space (if any). If the body's mode is set to [constant " +"BODY_MODE_RIGID], then adding the body to a space will have the following " +"additional effects:\n" +"- If the parameter [constant BODY_PARAM_CENTER_OF_MASS] has never been set " +"explicitly, then the value of that parameter will be recalculated based on " +"the body's shapes.\n" +"- If the parameter [constant BODY_PARAM_INERTIA] is set to a value [code]<= " +"0.0[/code], then the value of that parameter will be recalculated based on " +"the body's shapes, mass, and center of mass.\n" +"[b]Note:[/b] To remove a body from a space without immediately adding it " +"back elsewhere, use [code]PhysicsServer2D.body_set_space(body, RID())[/code]." +msgstr "" +"从先前分配的空间(若存在)中移除实体后,将该实体添加到给定空间。如果实体的模" +"式被设置为 [constant BODY_MODE_RIGID],则将该实体添加到空间将具有以下额外效" +"果:\n" +"- 如果从未明确设置参数 [constant BODY_PARAM_CENTER_OF_MASS],则该参数的值将根" +"据实体的形状重新计算。\n" +"- 如果参数 [constant BODY_PARAM_INERTIA] 被设置为一个 [code]<= 0.0[/code] 的" +"值,则该参数的值将根据实体的形状、质量、和质心重新计算。\n" +"[b]注意:[/b]要从一个空间中移除实体,且不立即将其添加回其他地方,请使用 " +"[code]PhysicsServer2D.body_set_space(body, RID())[/code]。" + +msgid "" +"Sets the value of a body's state. See [enum BodyState] for the list of " +"available states.\n" +"[b]Note:[/b] The state change doesn't take effect immediately. The state " +"will change on the next physics frame." +msgstr "" +"设置实体状态的值。有关可用状态的列表,请参阅 [enum BodyState]。\n" +"[b]注意:[/b]状态更改不会立即生效。状态更改将发生在下一个物理帧上。" + +msgid "" +"Creates a 2D capsule shape in the physics server, and returns the [RID] that " +"identifies it. Use [method shape_set_data] to set the capsule's height and " +"radius." +msgstr "" +"在物理服务中创建一个 2D 胶囊形状,并返回标识它的 [RID]。可使用 [method " +"shape_set_data] 设置胶囊的高度和半径。" + +msgid "" +"Creates a 2D circle shape in the physics server, and returns the [RID] that " +"identifies it. Use [method shape_set_data] to set the circle's radius." +msgstr "" +"在物理服务中创建一个 2D 圆形,并返回标识它的 [RID]。可使用 [method " +"shape_set_data] 设置圆的半径。" + +msgid "" +"Creates a 2D concave polygon shape in the physics server, and returns the " +"[RID] that identifies it. Use [method shape_set_data] to set the concave " +"polygon's segments." +msgstr "" +"在物理服务中创建一个 2D 凹多边形形状,并返回标识它的 [RID]。可使用 [method " +"shape_set_data] 设置凹多边形的线段。" + +msgid "" +"Creates a 2D convex polygon shape in the physics server, and returns the " +"[RID] that identifies it. Use [method shape_set_data] to set the convex " +"polygon's points." +msgstr "" +"在物理服务中创建一个 2D 凸多边形形状,并返回标识它的 [RID]。可使用 [method " +"shape_set_data] 设置凸多边形的点。" + +msgid "" +"Destroys the joint with the given [RID], creates a new uninitialized joint, " +"and makes the [RID] refer to this new joint." +msgstr "" +"销毁具有给定 [RID] 的关节,创建一个新的未初始化关节,并使该 [RID] 引用这个新" +"关节。" + +msgid "" +"Creates a 2D joint in the physics server, and returns the [RID] that " +"identifies it. To set the joint type, use [method joint_make_damped_spring], " +"[method joint_make_groove] or [method joint_make_pin]. Use [method " +"joint_set_param] to set generic joint parameters." +msgstr "" +"在物理服务中创建一个 2D 关节,并返回标识它的 [RID]。要设置关节类型,请使用 " +"[method joint_make_damped_spring]、[method joint_make_groove] 或 [method " +"joint_make_pin]。可使用 [method joint_set_param] 设置通用关节参数。" + +msgid "Returns the joint's type (see [enum JointType])." +msgstr "返回该关节的类型(见 [enum JointType])。" + +msgid "" +"Returns whether the bodies attached to the [Joint2D] will collide with each " +"other." +msgstr "返回分配给该 [Joint2D] 的物体能否相互碰撞。" + +msgid "" +"Makes the joint a damped spring joint, attached at the point [param " +"anchor_a] (given in global coordinates) on the body [param body_a] and at " +"the point [param anchor_b] (given in global coordinates) on the body [param " +"body_b]. To set the parameters which are specific to the damped spring, see " +"[method damped_spring_joint_set_param]." +msgstr "" +"使该关节成为一个阻尼弹簧关节,连接到实体 [param body_a] 上的点 [param " +"anchor_a](在全局坐标中给出)和实体 [param body_b] 上的点 [param anchor_b]" +"(在全局坐标中给出)。要设置特定于阻尼弹簧的参数,请参阅 [method " +"damped_spring_joint_set_param]。" + +msgid "" +"Makes the joint a pin joint. If [param body_b] is [code]RID()[/code], then " +"[param body_a] is pinned to the point [param anchor] (given in global " +"coordinates); otherwise, [param body_a] is pinned to [param body_b] at the " +"point [param anchor] (given in global coordinates). To set the parameters " +"which are specific to the pin joint, see [method pin_joint_set_param]." +msgstr "" +"使关节成为一个销关节。如果 [param body_b] 是 [code]RID()[/code],则 [param " +"body_a] 被固定到点 [param anchor](在全局坐标中给出); 否则,[param body_a] " +"在 [param anchor] 点被固定到 [param body_b](在全局坐标中给出)。要设置特定于" +"销关节的参数,请参阅 [method pin_joint_set_param]。" + +msgid "" +"Creates a 2D rectangle shape in the physics server, and returns the [RID] " +"that identifies it. Use [method shape_set_data] to set the rectangle's half-" +"extents." +msgstr "" +"在物理服务中创建一个 2D 矩形形状,并返回标识它的 [RID]。可使用 [method " +"shape_set_data] 设置该矩形的半边距。" + +msgid "" +"Creates a 2D segment shape in the physics server, and returns the [RID] that " +"identifies it. Use [method shape_set_data] to set the segment's start and " +"end points." +msgstr "" +"在物理服务中创建一个 2D 线段形状,并返回标识它的 [RID]。可使用 [method " +"shape_set_data] 设置线段的起点和终点。" + +msgid "" +"Creates a 2D separation ray shape in the physics server, and returns the " +"[RID] that identifies it. Use [method shape_set_data] to set the shape's " +"[code]length[/code] and [code]slide_on_slope[/code] properties." +msgstr "" +"在物理服务中创建一个 2D 分离射线形状,并返回标识它的 [RID]。可使用 [method " +"shape_set_data] 设置形状的 [code]length[/code] 和 [code]slide_on_slope[/" +"code] 属性。" + +msgid "" +"Activates or deactivates the 2D physics server. If [param active] is " +"[code]false[/code], then the physics server will not do anything in its " +"physics step." +msgstr "" +"激活或停用 2D 物理服务。如果 [param active] 为 [code]false[/code],则物理服务" +"将不会在其物理步骤中执行任何操作。" + +msgid "" +"Returns the shape data that defines the configuration of the shape, such as " +"the half-extents of a rectangle or the segments of a concave shape. See " +"[method shape_set_data] for the precise format of this data in each case." +msgstr "" +"返回定义形状配置的形状数据,例如矩形的半边长或凹形的线段。有关每种情况下该数" +"据的精确格式,请参阅 [method shape_set_data]。" + +msgid "Returns the shape's type (see [enum ShapeType])." +msgstr "返回该形状的类型(见 [enum ShapeType])。" + +msgid "" +"Sets the shape data that defines the configuration of the shape. The [param " +"data] to be passed depends on the shape's type (see [method " +"shape_get_type]):\n" +"- [constant SHAPE_WORLD_BOUNDARY]: an array of length two containing a " +"[Vector2] [code]normal[/code] direction and a [code]float[/code] distance " +"[code]d[/code],\n" +"- [constant SHAPE_SEPARATION_RAY]: a dictionary containing the key " +"[code]length[/code] with a [code]float[/code] value and the key " +"[code]slide_on_slope[/code] with a [code]bool[/code] value,\n" +"- [constant SHAPE_SEGMENT]: a [Rect2] [code]rect[/code] containing the first " +"point of the segment in [code]rect.position[/code] and the second point of " +"the segment in [code]rect.size[/code],\n" +"- [constant SHAPE_CIRCLE]: a [code]float[/code] [code]radius[/code],\n" +"- [constant SHAPE_RECTANGLE]: a [Vector2] [code]half_extents[/code],\n" +"- [constant SHAPE_CAPSULE]: an array of length two (or a [Vector2]) " +"containing a [code]float[/code] [code]height[/code] and a [code]float[/code] " +"[code]radius[/code],\n" +"- [constant SHAPE_CONVEX_POLYGON]: either a [PackedVector2Array] of points " +"defining a convex polygon in counterclockwise order (the clockwise outward " +"normal of each segment formed by consecutive points is calculated " +"internally), or a [PackedFloat32Array] of length divisible by four so that " +"every 4-tuple of [code]float[/code]s contains the coordinates of a point " +"followed by the coordinates of the clockwise outward normal vector to the " +"segment between the current point and the next point,\n" +"- [constant SHAPE_CONCAVE_POLYGON]: a [PackedVector2Array] of length " +"divisible by two (each pair of points forms one segment).\n" +"[b]Warning[/b]: In the case of [constant SHAPE_CONVEX_POLYGON], this method " +"does not check if the points supplied actually form a convex polygon (unlike " +"the [member CollisionPolygon2D.polygon] property)." +msgstr "" +"设置定义形状配置的形状数据。要传递的 [param data] 取决于形状的类型(参见 " +"[method shape_get_type]):\n" +"- [constant SHAPE_WORLD_BOUNDARY]:一个长度为 2 的数组,包含 [Vector2] 类型" +"的 [code]normal[/code] 方向和 [code]float[/code] 类型的距离 [code]d[/" +"code],\n" +"- [constant SHAPE_SEPARATION_RAY]:一个字典,包含键 [code]length[/code] 和 " +"[code]float[/code] 值、以及键 [code]slide_on_slope[/code] 和 [code]bool[/" +"code] 值,\n" +"- [constant SHAPE_SEGMENT]:一个 [Rect2] 类型的 [code]rect[/code],以 " +"[code]rect.position[/code] 表示线段中的第一个点,并以 [code]rect.size[/code] " +"表示线段中的第二个点,\n" +"- [constant SHAPE_CIRCLE]:一个 [code]float[/code] 类型的 [code]radius[/" +"code],\n" +"- [constant SHAPE_RECTANGLE]:一个 [Vector2] 类型的 [code]half_extents[/" +"code],\n" +"- [constant SHAPE_CAPSULE]:一个长度为 2 的数组(或一个 [Vector2]),包含一" +"个 [code]float[/code] 类型的 [code]height[/code] 和一个 [code]float[/code] 类" +"型的 [code]radius [/code],\n" +"- [constant SHAPE_CONVEX_POLYGON]:一个按逆时针顺序定义凸多边形的点的 " +"[PackedVector2Array](在内部使用由连续点形成的每个线段的顺时针向外法线计" +"算);或一个长度可被 4 整除的 [PackedFloat32Array],以便每个 4 元组的 " +"[code]float[/code] 包含一个点的坐标,后跟一个向量的坐标表示,该向量是当前点和" +"下一个点之间的线段的顺时针向外法向量,\n" +"- [constant SHAPE_CONCAVE_POLYGON]:一个长度可被 2 整除的 " +"[PackedVector2Array](每对点形成一个线段)。\n" +"[b]警告[/b]:在 [constant SHAPE_CONVEX_POLYGON] 的情况下,该方法不检查提供的" +"点是否能够形成凸多边形(与 [member CollisionPolygon2D.polygon] 属性不同)。" + +msgid "" +"Creates a 2D space in the physics server, and returns the [RID] that " +"identifies it. A space contains bodies and areas, and controls the stepping " +"of the physics simulation of the objects in it." +msgstr "" +"在物理服务中创建一个 2D 空间,并返回标识它的 [RID]。空间包含实体和区域,并控" +"制其中实体的物理模拟的步骤。" + +msgid "" +"Activates or deactivates the space. If [param active] is [code]false[/code], " +"then the physics server will not do anything with this space in its physics " +"step." +msgstr "" +"激活或停用该空间。如果 [param active] 为 [code]false[/code],那么物理服务将不" +"会在它的物理步骤中对这个空间做任何事情。" + +msgid "" +"Creates a 2D world boundary shape in the physics server, and returns the " +"[RID] that identifies it. Use [method shape_set_data] to set the shape's " +"normal direction and distance properties." +msgstr "" +"在物理服务中创建一个 2D 世界边界形状,并返回标识它的 [RID]。可使用 [method " +"shape_set_data] 设置形状的法线方向和距离属性。" + +msgid "" +"Constant to set/get the maximum distance a pair of bodies has to move before " +"their collision status has to be recalculated. The default value of this " +"parameter is [member ProjectSettings.physics/2d/solver/" +"contact_recycle_radius]." +msgstr "" +"常量,用于设置/获取一对物体在其碰撞状态被重新计算之前的最大移动距离。该参数的" +"默认值为 [member ProjectSettings.physics/2d/solver/contact_recycle_radius]。" + +msgid "" +"Constant to set/get the maximum distance a shape can be from another before " +"they are considered separated and the contact is discarded. The default " +"value of this parameter is [member ProjectSettings.physics/2d/solver/" +"contact_max_separation]." +msgstr "" +"常量,用于设置/获取两个形状间的最大距离,超过该距离后它们将被视为分离,接触将" +"被弃置。该参数的默认值为 [member ProjectSettings.physics/2d/solver/" +"contact_max_separation]。" + +msgid "" +"Constant to set/get the maximum distance a shape can penetrate another shape " +"before it is considered a collision. The default value of this parameter is " +"[member ProjectSettings.physics/2d/solver/contact_max_allowed_penetration]." +msgstr "" +"常量,用于设置/获取两个形状互相穿透的最大距离,超过该距离后将视为碰撞。该参数" +"的默认值为 [member ProjectSettings.physics/2d/solver/" +"contact_max_allowed_penetration]。" + +msgid "" "This is the constant for creating circle shapes. A circle shape only has a " "radius. It can be used for intersections and inside/outside checks." msgstr "" @@ -44536,6 +54751,66 @@ msgid "" msgstr "引擎内部会使用这个常量。任何试图创建这种形状的行为都会导致错误。" msgid "" +"Constant to set/get gravity strength in an area. The default value of this " +"parameter is [code]9.80665[/code]." +msgstr "" +"常量,用于设置/获取区域中的重力强度。该参数的默认值为 [code]9.80665[/code]。" + +msgid "" +"Constant to set/get gravity vector/center in an area. The default value of " +"this parameter is [code]Vector2(0, -1)[/code]." +msgstr "" +"常量,用于设置/获取区域中的重力向量/中心。该参数的默认值为 [code]Vector2(0, " +"-1)[/code]。" + +msgid "" +"Constant to set/get whether the gravity vector of an area is a direction, or " +"a center point. The default value of this parameter is [code]false[/code]." +msgstr "" +"常量,用于设置/获取区域中的重力向量是方向,还是中心点。该参数的默认值为 " +"[code]false[/code]。" + +msgid "" +"Constant to set/get the distance at which the gravity strength is equal to " +"the gravity controlled by [constant AREA_PARAM_GRAVITY]. For example, on a " +"planet 100 pixels in radius with a surface gravity of 4.0 px/s², set the " +"gravity to 4.0 and the unit distance to 100.0. The gravity will have falloff " +"according to the inverse square law, so in the example, at 200 pixels from " +"the center the gravity will be 1.0 px/s² (twice the distance, 1/4th the " +"gravity), at 50 pixels it will be 16.0 px/s² (half the distance, 4x the " +"gravity), and so on.\n" +"The above is true only when the unit distance is a positive number. When the " +"unit distance is set to 0.0, the gravity will be constant regardless of " +"distance. The default value of this parameter is [code]0.0[/code]." +msgstr "" +"常量,用于设置/获取重力强度等于 [constant AREA_PARAM_GRAVITY] 控制的重力的距" +"离。例如,在一个半径为 100 像素且表面重力为 4.0 px/s² 的行星上,将重力设置为 " +"4.0,将单位距离设置为 100.0。重力将根据平方反比定律衰减,因此在该示例中,距离" +"中心 200 像素处的重力将为 1.0 px/s²(距离的两倍,重力的 1/4),距离中心 50 像" +"素处重力为 16.0 px/s²(距离的一半,重力的 4 倍),依此类推。\n" +"仅当单位距离为正数时,上述情况才成立。当单位距离设置为 0.0 时,重力将与距离无" +"关。该参数的默认值为 [code]0.0[/code]。" + +msgid "" +"Constant to set/get the linear damping factor of an area. The default value " +"of this parameter is [code]0.1[/code]." +msgstr "" +"常数,用于设置/获取区域的线性阻尼系数。该参数的默认值为 [code]0.1[/code]。" + +msgid "" +"Constant to set/get the angular damping factor of an area. The default value " +"of this parameter is [code]1.0[/code]." +msgstr "" +"常数,用于设置/获取区域的角度阻尼系数。该参数的默认值为 [code]1.0[/code]。" + +msgid "" +"Constant to set/get the priority (order of processing) of an area. The " +"default value of this parameter is [code]0[/code]." +msgstr "" +"常量,用于设置/获取区域的优先级(处理顺序)。该参数的默认值为 [code]0[/" +"code]。" + +msgid "" "This area does not affect gravity/damp. These are generally areas that exist " "only to detect collisions, and objects entering or exiting them." msgstr "" @@ -44570,6 +54845,74 @@ msgstr "" "这个区域取代了到目前为止计算的任何重力/阻尼,但继续计算其余的区域,直到默认的" "区域。" +msgid "" +"Constant to set/get a body's bounce factor. The default value of this " +"parameter is [code]0.0[/code]." +msgstr "常量,用于设置/获取物体的反弹系数。该参数的默认值为 [code]0.0[/code]。" + +msgid "" +"Constant to set/get a body's friction. The default value of this parameter " +"is [code]1.0[/code]." +msgstr "常量,用于设置/获取实体摩擦力。该参数的默认值为 [code]1.0[/code]。" + +msgid "" +"Constant to set/get a body's mass. The default value of this parameter is " +"[code]1.0[/code]. If the body's mode is set to [constant BODY_MODE_RIGID], " +"then setting this parameter will have the following additional effects:\n" +"- If the parameter [constant BODY_PARAM_CENTER_OF_MASS] has never been set " +"explicitly, then the value of that parameter will be recalculated based on " +"the body's shapes.\n" +"- If the parameter [constant BODY_PARAM_INERTIA] is set to a value [code]<= " +"0.0[/code], then the value of that parameter will be recalculated based on " +"the body's shapes, mass, and center of mass." +msgstr "" +"常量,用于设置/获取一个实体质量。该参数的默认值为[code]1.0[/code]。如果该实体" +"的模式被设置为 [constant BODY_MODE_RIGID],那么设置这个参数会有以下附加效" +"果:\n" +"- 如果该参数 [constant BODY_PARAM_CENTER_OF_MASS] 从未被明确设置,则该参数的" +"值将根据实体的形状重新计算。\n" +"- 如果该参数 [constant BODY_PARAM_INERTIA] 被设置为值 [code]<= 0.0[/code],则" +"该参数的值将根据该实体的形状、质量、和质心重新计算。" + +msgid "" +"Constant to set/get a body's inertia. The default value of this parameter is " +"[code]0.0[/code]. If the body's inertia is set to a value [code]<= 0.0[/" +"code], then the inertia will be recalculated based on the body's shapes, " +"mass, and center of mass." +msgstr "" +"常量,用于设置/获取一个实体惯性。该参数的默认值为[code]0.0[/code]。如果实体的" +"惯性被设置为一个值 [code]<= 0.0[/code],那么惯性将根据实体的形状、质量、和质" +"心重新计算。" + +msgid "" +"Constant to set/get a body's center of mass position in the body's local " +"coordinate system. The default value of this parameter is [code]Vector2(0,0)" +"[/code]. If this parameter is never set explicitly, then it is recalculated " +"based on the body's shapes when setting the parameter [constant " +"BODY_PARAM_MASS] or when calling [method body_set_space]." +msgstr "" +"常量,用于在实体局部坐标系中设置/获取一个实体质心位置。该参数的默认值为 " +"[code]Vector2(0,0)[/code]。如果该参数从未明确设置,则在设置参数 [constant " +"BODY_PARAM_MASS] 或调用 [method body_set_space] 时,会根据实体的形状重新计" +"算。" + +msgid "" +"Constant to set/get a body's gravity multiplier. The default value of this " +"parameter is [code]1.0[/code]." +msgstr "常量,用于设置/获取物体的重力倍数。该参数的默认值为 [code]1.0[/code]。" + +msgid "" +"Constant to set/get a body's linear damping factor. The default value of " +"this parameter is [code]0.0[/code]." +msgstr "" +"常数,用于设置/获取物体的线性阻尼系数。该参数的默认值为 [code]0.0[/code]。" + +msgid "" +"Constant to set/get a body's angular damping factor. The default value of " +"this parameter is [code]0.0[/code]." +msgstr "" +"常数,用于设置/获取物体的角度阻尼系数。该参数的默认值为 [code]0.0[/code]。" + msgid "Represents the size of the [enum BodyParameter] enum." msgstr "代表 [enum BodyParameter] 枚举的大小。" @@ -44601,6 +54944,69 @@ msgid "Represents the size of the [enum JointType] enum." msgstr "代表 [enum JointType] 枚举的大小。" msgid "" +"Constant to set/get how fast the joint pulls the bodies back to satisfy the " +"joint constraint. The lower the value, the more the two bodies can pull on " +"the joint. The default value of this parameter is [code]0.0[/code].\n" +"[b]Note:[/b] In Godot Physics, this parameter is only used for pin joints " +"and groove joints." +msgstr "" +"常量,用于设置/获取该关节将实体拉回以满足关节约束的速度。值越低,两个物体对关" +"节的拉动就越大。该参数的默认值为 [code]0.0[/code]。\n" +"[b]注意:[/b]在 Godot 物理中,这个参数只用于销关节和槽关节。" + +msgid "" +"Constant to set/get the maximum speed with which the joint can apply " +"corrections. The default value of this parameter is [code]3.40282e+38[/" +"code].\n" +"[b]Note:[/b] In Godot Physics, this parameter is only used for groove joints." +msgstr "" +"常量,用于设置/获取关节可以应用校正的最大速度。该参数的默认值为 " +"[code]3.40282e+38[/code]。\n" +"[b]注意:[/b]在 Godot 物理中,这个参数只用于槽关节。" + +msgid "" +"Constant to set/get the maximum force that the joint can use to act on the " +"two bodies. The default value of this parameter is [code]3.40282e+38[/" +"code].\n" +"[b]Note:[/b] In Godot Physics, this parameter is only used for groove joints." +msgstr "" +"常量,用于设置/获取关节可用于作用于两个实体的最大力。该参数的默认值为 " +"[code]3.40282e+38[/code]。\n" +"[b]注意:[/b]在 Godot 物理中,这个参数只用于槽关节。" + +msgid "" +"Constant to set/get a how much the bond of the pin joint can flex. The " +"default value of this parameter is [code]0.0[/code]." +msgstr "" +"常量,用于设置/获取销关节的纽带可以弯曲多少。该参数的默认值为 [code]0.0[/" +"code]。" + +msgid "" +"Sets the resting length of the spring joint. The joint will always try to go " +"to back this length when pulled apart. The default value of this parameter " +"is the distance between the joint's anchor points." +msgstr "" +"设置弹簧关节的放松长度。当拉开时,该关节将始终尝试回到这个长度。该参数的默认" +"值是关节锚点之间的距离。" + +msgid "" +"Sets the stiffness of the spring joint. The joint applies a force equal to " +"the stiffness times the distance from its resting length. The default value " +"of this parameter is [code]20.0[/code]." +msgstr "" +"设置弹簧关节的刚度。该关节施加的力等于刚度乘以距其放松长度的距离。该参数的默" +"认值为 [code]20.0[/code]。" + +msgid "" +"Sets the damping ratio of the spring joint. A value of 0 indicates an " +"undamped spring, while 1 causes the system to reach equilibrium as fast as " +"possible (critical damping). The default value of this parameter is " +"[code]1.5[/code]." +msgstr "" +"设置弹簧关节的阻尼比率。值为 0 表示无阻尼弹簧,而 1 表示系统尽可能快地达到平" +"衡(临界阻尼)。该参数的默认值为 [code]1.5[/code]。" + +msgid "" "Enables continuous collision detection by raycasting. It is faster than " "shapecasting, but less precise." msgstr "通过射线投射实现连续的碰撞检测。它比形状投射更快,但不够精确。" @@ -44630,6 +55036,9 @@ msgid "" "Constant to get the number of space regions where a collision could occur." msgstr "常量,用以获取可能发生碰撞的空间区域数。" +msgid "Manager for 2D physics server implementations." +msgstr "2D 物理服务器实现的管理器。" + msgid "Server interface for low-level physics access." msgstr "用于低级物理访问的服务器接口。" @@ -44653,6 +55062,12 @@ msgstr "从一个区域移除所有形状。它不会删除形状,因此它们 msgid "Creates an [Area3D]." msgstr "创建 [Area3D]。" +msgid "Returns the physics layer or layers an area belongs to." +msgstr "返回该区域所属的物理层。" + +msgid "Returns the physics layer or layers an area can contact with." +msgstr "返回该区域能够接触的物理层。" + msgid "Gets the instance ID of the object the area is assigned to." msgstr "获取区域分配给的对象的实例 ID。" @@ -44734,6 +55149,16 @@ msgid "Adds a body to the list of bodies exempt from collisions." msgstr "将一个物体添加到免于碰撞的物体列表中。" msgid "" +"Adds a constant positioned force to the body that keeps being applied over " +"time until cleared with [code]body_set_constant_force(body, Vector3(0, 0, 0))" +"[/code].\n" +"[param position] is the offset from the body origin in global coordinates." +msgstr "" +"向实体添加一个恒定的定位力,持续施加,直到用 " +"[code]body_set_constant_force(body, Vector3(0, 0, 0))[/code] 清除。\n" +"[param position] 是在全局坐标中距实体原点的偏移量。" + +msgid "" "Adds a shape to the body, along with a transform matrix. Shapes are usually " "referenced by their index, so you should track which shape has a given index." msgstr "" @@ -45191,6 +55616,26 @@ msgid "" "a center point." msgstr "常量,用于设置/获取区域中的重力向量是方向,还是中心点。" +msgid "" +"Constant to set/get the distance at which the gravity strength is equal to " +"the gravity controlled by [constant AREA_PARAM_GRAVITY]. For example, on a " +"planet 100 meters in radius with a surface gravity of 4.0 m/s², set the " +"gravity to 4.0 and the unit distance to 100.0. The gravity will have falloff " +"according to the inverse square law, so in the example, at 200 meters from " +"the center the gravity will be 1.0 m/s² (twice the distance, 1/4th the " +"gravity), at 50 meters it will be 16.0 m/s² (half the distance, 4x the " +"gravity), and so on.\n" +"The above is true only when the unit distance is a positive number. When " +"this is set to 0.0, the gravity will be constant regardless of distance." +msgstr "" +"常量,用于设置/获取重力强度等于 [constant AREA_PARAM_GRAVITY] 控制的重力的距" +"离。例如,在半径为 100 米且表面重力为 4.0 m/s² 的行星上,将重力设置为 4.0,并" +"将单位距离设置为 100.0。重力会根据平方反比定律衰减,因此在该示例中,重力在距" +"中心 200 米处将为 1.0 m/s²(距离的两倍,重力的 1/4),在距中心 50 米处为 " +"16.0 m/s²(距离的一半,重力的 4 倍),依此类推。\n" +"仅当单位距离为正数时,上述情况才成立。当该属性被设置为 0.0 时,无论距离如何," +"重力都将保持不变。" + msgid "Constant to set/get the linear damping factor of an area." msgstr "常数,用于设置/获取区域的线性阻尼系数。" @@ -45200,6 +55645,9 @@ msgstr "常数,用于设置/获取区域的角度阻尼系数。" msgid "Constant to set/get the priority (order of processing) of an area." msgstr "常量,用于设置/获取区域的优先级(处理顺序)。" +msgid "Constant to set/get the magnitude of area-specific wind force." +msgstr "常量,用于设置/获取特定区域风力大小。" + msgid "Constant to set/get a body's bounce factor." msgstr "常量,用于设置/获取物体的反弹系数。" @@ -45212,9 +55660,26 @@ msgstr "常量,用于设置/获取物体的质量。" msgid "Constant to set/get a body's inertia." msgstr "常量,用于设置/获取物体的惯性。" +msgid "" +"Constant to set/get a body's center of mass position in the body's local " +"coordinate system." +msgstr "常量,用于设置/获取物体的质心位置,使用该物体的局部坐标系。" + msgid "Constant to set/get a body's gravity multiplier." msgstr "常量,用于设置/获取物体的重力倍数。" +msgid "" +"Constant to set/get a body's linear damping mode. See [enum BodyDampMode] " +"for possible values." +msgstr "" +"常量,用于设置/获取物体的线性阻尼模式。可能的值见 [enum BodyDampMode]。" + +msgid "" +"Constant to set/get a body's angular damping mode. See [enum BodyDampMode] " +"for possible values." +msgstr "" +"常量,用于设置/获取物体的角度阻尼模式。可能的值见 [enum BodyDampMode]。" + msgid "Constant to set/get a body's linear damping factor." msgstr "常数,用于设置/获取物体的线性阻尼系数。" @@ -45278,8 +55743,83 @@ msgstr "被查询形状的变换矩阵。" msgid "Parameters to be sent to a 3D shape physics query." msgstr "要发送到 3D 形状物理查询的参数。" +msgid "Result from a 2D body motion test." +msgstr "2D 物体运动的测试结果。" + +msgid "" +"This class contains the motion and collision result from [method " +"PhysicsServer2D.body_test_motion]." +msgstr "" +"这个类包含的是 [method PhysicsServer2D.body_test_motion] 的运动和碰撞结果。" + +msgid "" +"Returns the colliding body's attached [Object], if a collision occurred." +msgstr "如果发生了碰撞,则返回相撞物体所附加的 [Object]。" + +msgid "" +"Returns the unique instance ID of the colliding body's attached [Object], if " +"a collision occurred. See [method Object.get_instance_id]." +msgstr "" +"如果发生了碰撞,则返回相撞物体所附加 [Object] 的唯一实例 ID。见 [method " +"Object.get_instance_id]。" + +msgid "" +"Returns the colliding body's [RID] used by the [PhysicsServer2D], if a " +"collision occurred." +msgstr "如果发生了碰撞,则返回相撞物体在 [PhysicsServer2D] 中使用的 [RID]。" + +msgid "" +"Returns the colliding body's shape index, if a collision occurred. See " +"[CollisionObject2D]." +msgstr "如果发生了碰撞,则返回相撞物体形状的索引。见 [CollisionObject2D]。" + msgid "Returns the colliding body's velocity, if a collision occurred." -msgstr "如果发生碰撞,则返回碰撞到的物体的速度。" +msgstr "如果发生了碰撞,则返回相撞物体的速度。" + +msgid "Result from a 3D body motion test." +msgstr "3D 物体运动的测试结果。" + +msgid "" +"This class contains the motion and collision result from [method " +"PhysicsServer3D.body_test_motion]." +msgstr "" +"这个类包含的是 [method PhysicsServer3D.body_test_motion] 的运动和碰撞结果。" + +msgid "" +"Returns the colliding body's attached [Object] given a collision index (the " +"deepest collision by default), if a collision occurred." +msgstr "" +"如果发生了碰撞,则返回相撞物体所附加的 [Object],碰撞物体由碰撞索引指定(默认" +"为最深的碰撞)。见 [method Object.get_instance_id]。" + +msgid "" +"Returns the unique instance ID of the colliding body's attached [Object] " +"given a collision index (the deepest collision by default), if a collision " +"occurred. See [method Object.get_instance_id]." +msgstr "" +"如果发生了碰撞,则返回相撞物体所附加 [Object] 的唯一实例 ID,碰撞物体由碰撞索" +"引指定(默认为最深的碰撞)。见 [method Object.get_instance_id]。" + +msgid "" +"Returns the colliding body's [RID] used by the [PhysicsServer3D] given a " +"collision index (the deepest collision by default), if a collision occurred." +msgstr "" +"如果发生了碰撞,则返回相撞物体在 [PhysicsServer3D] 中使用的 [RID],碰撞物体由" +"碰撞索引指定(默认为最深的碰撞)。见 [method Object.get_instance_id]。" + +msgid "" +"Returns the colliding body's shape index given a collision index (the " +"deepest collision by default), if a collision occurred. See " +"[CollisionObject3D]." +msgstr "" +"如果发生了碰撞,则返回相撞物体形状的索引,碰撞物体由碰撞索引指定(默认为最深" +"的碰撞)。见 [method Object.get_instance_id]。" + +msgid "" +"Returns the colliding body's velocity given a collision index (the deepest " +"collision by default), if a collision occurred." +msgstr "" +"如果发生了碰撞,则返回相撞物体的速度。见 [method Object.get_instance_id]。" msgid "" "The higher this value, the more the bond to the pinned partner can flex." @@ -45298,6 +55838,36 @@ msgid "" "other. The higher, the stronger." msgstr "被钉在一起的物体之间保持共速的力。越高,力越大。" +msgid "Placeholder class for a cubemap texture." +msgstr "立方体贴图纹理的占位类。" + +msgid "Placeholder class for a cubemap texture array." +msgstr "立方体贴图纹理数组的占位类。" + +msgid "Placeholder class for a material." +msgstr "材质的占位类。" + +msgid "Placeholder class for a mesh." +msgstr "网格的占位类。" + +msgid "Placeholder class for a 2-dimensional texture." +msgstr "二维纹理的占位类。" + +msgid "The texture's size (in pixels)." +msgstr "纹理的尺寸(单位为像素)。" + +msgid "Placeholder class for a 2-dimensional texture array." +msgstr "二维纹理数组的占位类。" + +msgid "Placeholder class for a 3-dimensional texture." +msgstr "三维纹理的占位类。" + +msgid "The number of layers in the texture array." +msgstr "纹理数组中的层数。" + +msgid "The size of each texture layer (in pixels)." +msgstr "各层纹理的尺寸(单位为像素)。" + msgid "Plane in hessian form." msgstr "麻状平面。" @@ -45312,15 +55882,107 @@ msgstr "" "而“d”是原点到平面的距离(在“法线”方向)。“上方”或“上方”平面被认为是法线指向的" "平面一侧。" +msgid "" +"Constructs a default-initialized [Plane] with all components set to [code]0[/" +"code]." +msgstr "构造默认初始化的 [Plane],所有分量都设置为 [code]0[/code]。" + msgid "Constructs a [Plane] as a copy of the given [Plane]." msgstr "构造给定 [Plane] 的副本。" +msgid "" +"Creates a plane from the four parameters. The three components of the " +"resulting plane's [member normal] are [param a], [param b] and [param c], " +"and the plane has a distance of [param d] from the origin." +msgstr "" +"根据四个参数创建一个平面。产生的平面的 [member normal] 的三个分量是 [param " +"a]、[param b]、和 [param c],且该平面与原点的距离为 [param d]。" + +msgid "" +"Creates a plane from the normal vector. The plane will intersect the " +"origin.\n" +"The [param normal] of the plane must be a unit vector." +msgstr "" +"根据法向量创建一个平面。该平面将与原点相交。\n" +"该平面的 [param normal] 必须是一个单位向量。" + +msgid "" +"Creates a plane from the normal vector and the plane's distance from the " +"origin.\n" +"The [param normal] of the plane must be a unit vector." +msgstr "" +"根据法向量和平面与原点的距离创建一个平面。\n" +"平面的 [param normal] 必须是一个单位向量。" + +msgid "" +"Creates a plane from the normal vector and a point on the plane.\n" +"The [param normal] of the plane must be a unit vector." +msgstr "" +"从法向量和平面上的一个点创建一个平面。\n" +"平面的 [param normal] 必须是一个单位向量。" + msgid "Creates a plane from the three points, given in clockwise order." msgstr "根据顺时针顺序给出的三个点创建一个平面。" +msgid "" +"Returns the shortest distance from the plane to the position [param point]. " +"If the point is above the plane, the distance will be positive. If below, " +"the distance will be negative." +msgstr "" +"返回从该平面到位置 [param point] 的最短距离。如果该点在平面上方,则距离将为" +"正。如果在下方,则距离将为负。" + msgid "Returns the center of the plane." msgstr "返回平面的中心。" +msgid "" +"Returns [code]true[/code] if [param point] is inside the plane. Comparison " +"uses a custom minimum [param tolerance] threshold." +msgstr "" +"如果 [param point] 在该平面内,则返回 [code]true[/code]。比较将使用一个自定义" +"的最小 [param tolerance] 阈值。" + +msgid "" +"Returns the intersection point of the three planes [param b], [param c] and " +"this plane. If no intersection is found, [code]null[/code] is returned." +msgstr "" +"返回 [param b]、[param c]、该平面这三个平面的交点。如果没有找到交点,则返回 " +"[code]null[/code]。" + +msgid "" +"Returns the intersection point of a ray consisting of the position [param " +"from] and the direction normal [param dir] with this plane. If no " +"intersection is found, [code]null[/code] is returned." +msgstr "" +"返回由位置 [param from] 和方向法线 [param dir] 组成的射线与该平面的交点。如果" +"没有找到交点,则返回 [code]null[/code]。" + +msgid "" +"Returns the intersection point of a segment from position [param from] to " +"position [param to] with this plane. If no intersection is found, " +"[code]null[/code] is returned." +msgstr "" +"返回从位置 [param from] 到位置 [param to] 的线段与该平面的交点。如果没有找到" +"交点,则返回 [code]null[/code]。" + +msgid "" +"Returns [code]true[/code] if this plane and [param to_plane] are " +"approximately equal, by running [method @GlobalScope.is_equal_approx] on " +"each component." +msgstr "" +"如果该平面和 [param to_plane] 近似相等,则返回 [code]true[/code],判断近似相" +"等的方法是通过在每个分量上运行 [method @GlobalScope.is_equal_approx]。" + +msgid "" +"Returns [code]true[/code] if this plane is finite, by calling [method " +"@GlobalScope.is_finite] on each component." +msgstr "" +"如果该平面是有限的,则返回 [code]true[/code],判断方法是在每个分量上调用 " +"[method @GlobalScope.is_finite]。" + +msgid "Returns [code]true[/code] if [param point] is located above the plane." +msgstr "如果 [param point] 位于平面上方,则返回 [code]true[/code]。" + msgid "Returns a copy of the plane, normalized." msgstr "返回平面的一个标准化副本。" @@ -45353,6 +56015,24 @@ msgstr "在 X 轴和 Z 轴上延伸的平面(法向量朝向 +Y)。" msgid "A plane that extends in the X and Y axes (normal vector points +Z)." msgstr "在 X 轴和 Y 轴上延伸的平面(法向量朝向 +Z)。" +msgid "" +"Returns [code]true[/code] if the planes are not 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 "" +"Returns [code]true[/code] if the planes 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 "Class representing a planar [PrimitiveMesh]." msgstr "表示平面 [PrimitiveMesh] 的类。" @@ -45425,6 +56105,13 @@ msgstr "" "多边形的填充颜色.如果定义了[code]texture[/code](贴图),它将乘以该颜色.对于" "[code]vertex_colors[/code]中未设置的顶点,它也将是默认颜色." +msgid "" +"If [code]true[/code], the polygon will be inverted, containing the area " +"outside the defined points and extending to the [member invert_border]." +msgstr "" +"如果为 [code]true[/code],则多边形将被反转,包含定义点之外的区域并延伸到 " +"[member invert_border]。" + msgid "The offset applied to each vertex." msgstr "应用于每个顶点的位置偏移量。" @@ -45469,6 +56156,77 @@ msgstr "" msgid "PopupMenu displays a list of options." msgstr "PopupMenu 会显示一个选项列表。" +msgid "" +"Adds a new checkable item with text [param label].\n" +"An [param id] can optionally be provided, as well as an accelerator ([param " +"accel]). If no [param id] is provided, one will be created from the index. " +"If no [param accel] is provided, then the default value of 0 (corresponding " +"to [constant @GlobalScope.KEY_NONE]) will be assigned to the item (which " +"means it won't have any accelerator). See [method get_item_accelerator] for " +"more info on accelerators.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually. See " +"[method set_item_checked] for more info on how to control it." +msgstr "" +"添加一个带有文本 [param label] 的新的可勾选项。\n" +"可以选择提供一个 [param id] 以及一个加速器([param accel])。如果未提供 " +"[param id],将从索引中创建一个。如果未提供 [param accel],则默认值 0(对应于 " +"[constant @GlobalScope.KEY_NONE])将被分配给该项(这意味着它不会有任何加速" +"器)。有关加速器的更多信息,请参阅 [method get_item_accelerator]。\n" +"[b]注意:[/b]可勾选的项只显示一个勾选标记,但没有任何内置的勾选行为,必须手动" +"勾选/取消勾选。有关如何控制它的更多信息,请参阅 [method set_item_checked]。" + +msgid "" +"Adds a new checkable item and assigns the specified [Shortcut] to it. Sets " +"the label of the checkbox to the [Shortcut]'s name.\n" +"An [param id] can optionally be provided. If no [param id] is provided, one " +"will be created from the index.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually. See " +"[method set_item_checked] for more info on how to control it." +msgstr "" +"添加一个新的可勾选项并为其分配指定的 [ShortCut]。将复选框的标签设置为 " +"[ShortCut] 的名称。\n" +"可以选择提供一个 [param id]。如果未提供 [param id],将从索引中创建一个。\n" +"[b]注意:[/b]可勾选项只显示一个勾选标记,但没有任何内置的勾选行为,必须手动勾" +"选/取消勾选。有关如何控制它的更多信息,请参阅 [method set_item_checked]。" + +msgid "" +"Adds a new checkable item with text [param label] and icon [param texture].\n" +"An [param id] can optionally be provided, as well as an accelerator ([param " +"accel]). If no [param id] is provided, one will be created from the index. " +"If no [param accel] is provided, then the default value of 0 (corresponding " +"to [constant @GlobalScope.KEY_NONE]) will be assigned to the item (which " +"means it won't have any accelerator). See [method get_item_accelerator] for " +"more info on accelerators.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually. See " +"[method set_item_checked] for more info on how to control it." +msgstr "" +"添加一个带有文本 [param label] 和图标 [param texture] 的新的可勾选项。\n" +"可以选择提供一个 [param id] 以及一个加速器([param accel])。如果未提供 " +"[param id],将从索引中创建一个。如果未提供 [param accel],则默认值 0(对应于 " +"[constant @GlobalScope.KEY_NONE])将被分配给该项(这意味着它不会有任何加速" +"器)。有关加速器的更多信息,请参阅 [method get_item_accelerator]。\n" +"[b]注意:[/b]可勾选项只显示一个勾选标记,但没有任何内置的勾选行为,必须手动勾" +"选/取消勾选。有关如何控制它的更多信息,请参阅 [method set_item_checked]。" + +msgid "" +"Adds a new checkable item and assigns the specified [Shortcut] and icon " +"[param texture] to it. Sets the label of the checkbox to the [Shortcut]'s " +"name.\n" +"An [param id] can optionally be provided. If no [param id] is provided, one " +"will be created from the index.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually. See " +"[method set_item_checked] for more info on how to control it." +msgstr "" +"添加一个新的可勾选项并为其分配指定的 [Shortcut] 和图标 [param texture]。将复" +"选框的标签设置为 [ShortCut] 的名称。\n" +"可以选择提供一个 [param id]。如果未提供 [param id],将从索引中创建一个。\n" +"[b]注意:[/b]可勾选项只显示一个勾选标记,但没有任何内置的勾选行为,必须手动勾" +"选/取消勾选。有关如何控制它的更多信息,请参阅 [method set_item_checked]。" + msgid "Same as [method add_icon_check_item], but uses a radio check button." msgstr "与 [method add_icon_check_item] 相同,但使用单选按钮。" @@ -45476,6 +56234,62 @@ msgid "" "Same as [method add_icon_check_shortcut], but uses a radio check button." msgstr "与 [method add_icon_check_shortcut] 相同,但使用一个单选按钮。" +msgid "" +"Adds a new item with text [param label].\n" +"An [param id] can optionally be provided, as well as an accelerator ([param " +"accel]). If no [param id] is provided, one will be created from the index. " +"If no [param accel] is provided, then the default value of 0 (corresponding " +"to [constant @GlobalScope.KEY_NONE]) will be assigned to the item (which " +"means it won't have any accelerator). See [method get_item_accelerator] for " +"more info on accelerators.\n" +"[b]Note:[/b] The provided [param id] is used only in [signal id_pressed] and " +"[signal id_focused] signals. It's not related to the [code]index[/code] " +"arguments in e.g. [method set_item_checked]." +msgstr "" +"添加一个带有文本 [param label] 的新项。\n" +"可以选择提供一个 [param id] 以及一个加速器([param accel])。如果未提供 " +"[param id],将从索引中创建一个。如果未提供 [param accel],则默认值 0(对应于 " +"[constant @GlobalScope.KEY_NONE])将被分配给该项(这意味着它不会有任何加速" +"器)。有关加速器的更多信息,请参阅 [method get_item_accelerator]。\n" +"[b]注意:[/b]提供的 [param id] 仅用于 [signal id_pressed] 和 [signal " +"id_focused] 信号。它与在函数中,例如在 [method set_item_checked] 中的 " +"[code]index[/code] 参数无关。" + +msgid "" +"Adds a new radio check button with text [param label].\n" +"An [param id] can optionally be provided, as well as an accelerator ([param " +"accel]). If no [param id] is provided, one will be created from the index. " +"If no [param accel] is provided, then the default value of 0 (corresponding " +"to [constant @GlobalScope.KEY_NONE]) will be assigned to the item (which " +"means it won't have any accelerator). See [method get_item_accelerator] for " +"more info on accelerators.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually. See " +"[method set_item_checked] for more info on how to control it." +msgstr "" +"添加一个带有文本 [param label] 的新单选勾选按钮。\n" +"可以选择提供一个 [param id] 以及一个加速器([param accel])。如果未提供 " +"[param id],将从索引中创建一个。如果未提供 [param accel],则默认值 0(对应于 " +"[constant @GlobalScope.KEY_NONE])将被分配给该项(这意味着它不会有任何加速" +"器)。有关加速器的更多信息,请参阅 [method get_item_accelerator]。\n" +"[b]注意:[/b] 可勾选项只显示一个勾选标记,但没有任何内置的勾选行为,必须手动" +"勾选/取消勾选。有关如何控制它的更多信息,请参阅 [method set_item_checked]。" + +msgid "" +"Adds a new radio check button and assigns a [Shortcut] to it. Sets the label " +"of the checkbox to the [Shortcut]'s name.\n" +"An [param id] can optionally be provided. If no [param id] is provided, one " +"will be created from the index.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually. See " +"[method set_item_checked] for more info on how to control it." +msgstr "" +"添加一个新的单选勾选按钮并为其分配一个 [ShortCut]。将复选框的标签设置为 " +"[ShortCut] 的名称。\n" +"可以选择提供一个 [param id]。如果未提供 [param id],将从索引中创建一个。\n" +"[b]注意:[/b]可勾选项只显示一个勾选标记,但没有任何内置的勾选行为,必须手动勾" +"选/取消勾选。有关如何控制它的更多信息,请参阅 [method set_item_checked]。" + msgid "Removes all items from the [PopupMenu]." msgstr "从该 [PopupMenu] 中移除所有项目。" @@ -45484,6 +56298,27 @@ msgid "" "no item is focused." msgstr "返回当前焦点项目的索引。如果没有焦点,则返回 [code]-1[/code]。" +msgid "Returns the icon of the item at the given [param index]." +msgstr "返回给定 [param index] 处的项的图标。" + +msgid "" +"Returns the ID of the item at the given [param index]. [code]id[/code] can " +"be manually assigned, while index can not." +msgstr "" +"返回给定 [param index] 处的项的 ID。[code]id[/code] 可以手动分配,而 index 则" +"不能。" + +msgid "Returns the horizontal offset of the item at the given [param index]." +msgstr "返回给定 [param index] 处的项的水平偏移量。" + +msgid "" +"Returns the index of the item containing the specified [param id]. Index is " +"automatically assigned to each item by the engine and can not be set " +"manually." +msgstr "" +"返回包含指定 [param id] 的项的索引。索引由引擎自动分配给每个项目,不能被手动" +"设置。" + msgid "" "Returns the metadata of the specified item, which might be of any type. You " "can set it with [method set_item_metadata], which provides a simple way of " @@ -45493,6 +56328,59 @@ msgstr "" "set_item_metadata] 来设置它,它提供了一种将上下文数据分配给项的简单方法。" msgid "" +"Returns the [Shortcut] associated with the item at the given [param index]." +msgstr "返回与给定 [param index] 处的项关联的 [Shortcut]。" + +msgid "" +"Returns the submenu name of the item at the given [param index]. See [method " +"add_submenu_item] for more info on how to add a submenu." +msgstr "" +"返回给定 [param index] 处项的子菜单名称。有关如何添加子菜单的更多信息,请参" +"见 [method add_submenu_item]。" + +msgid "Returns the text of the item at the given [param index]." +msgstr "返回索引为 [param index] 的菜单项的文本。" + +msgid "" +"Returns the tooltip associated with the item at the given [param index]." +msgstr "返回索引为 [param index] 的菜单项所关联的工具提示。" + +msgid "" +"Returns [code]true[/code] if the item at the given [param index] is " +"checkable in some way, i.e. if it has a checkbox or radio button.\n" +"[b]Note:[/b] Checkable items just display a checkmark or radio button, but " +"don't have any built-in checking behavior and must be checked/unchecked " +"manually." +msgstr "" +"如果给定 [param index] 处的项可以某种方式勾选,即如果它有一个复选框或单选按" +"钮,则返回 [code]true[/code]。\n" +"[b]注意:[/b]可勾选项仅显示一个勾选标记或单选按钮,但没有任何内置的勾选行为," +"必须手动勾选/取消勾选。" + +msgid "" +"Returns [code]true[/code] if the item at the given [param index] is checked." +msgstr "如果给定的 [param index] 处的项被勾选,则返回 [code]true[/code]。" + +msgid "" +"Returns [code]true[/code] if the item at the given [param index] is " +"disabled. When it is disabled it can't be selected, or its action invoked.\n" +"See [method set_item_disabled] for more info on how to disable an item." +msgstr "" +"如果给定 [param index] 处的项被禁用,则返回 [code]true[/code]。当被禁用时,它" +"不能被选择,且它的动作不能被调用。\n" +"有关如何禁用一个项目的更多信息,请参阅 [method set_item_disabled]。" + +msgid "" +"Returns [code]true[/code] if the item at the given [param index] has radio " +"button-style checkability.\n" +"[b]Note:[/b] This is purely cosmetic; you must add the logic for checking/" +"unchecking items in radio groups." +msgstr "" +"如果给定 [param index] 处的项具有单选按钮样式的可勾选性,则返回 [code]true[/" +"code]。\n" +"[b]注意:[/b]这纯粹是装饰性的;必须添加用于单选组中勾选/取消勾选项目的逻辑。" + +msgid "" "Returns [code]true[/code] if the item is a separator. If it is, it will be " "displayed as a line. See [method add_separator] for more info on how to add " "a separator." @@ -45504,6 +56392,53 @@ msgid "Returns [code]true[/code] if the specified item's shortcut is disabled." msgstr "如果指定项的快捷方式被禁用,则返回 [code]true[/code]。" msgid "" +"Removes the item at the given [param index] from the menu.\n" +"[b]Note:[/b] The indices of items after the removed item will be shifted by " +"one." +msgstr "" +"从菜单中移除给定 [param index] 处的项。\n" +"[b]注意:[/b]被移除的项后面的项的索引将移动一位。" + +msgid "" +"Sets the currently focused item as the given [param index].\n" +"Passing [code]-1[/code] as the index makes so that no item is focused." +msgstr "" +"将当前聚焦的项设置为给定的 [param index]。\n" +"将 [code]-1[/code] 作为索引传入将不会聚焦任何项。" + +msgid "" +"Sets whether the item at the given [param index] has a checkbox. If " +"[code]false[/code], sets the type of the item to plain text.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually." +msgstr "" +"设置给定 [param index] 处的项是否具有一个复选框。如果为 [code]false[/code]," +"则将项的类型设置为纯文本。\n" +"[b]注意:[/b]可勾选的项只显示一个复选标记,但没有任何内置的勾选行为,必须手动" +"勾选/取消勾选。" + +msgid "" +"Sets the type of the item at the given [param index] to radio button. If " +"[code]false[/code], sets the type of the item to plain text." +msgstr "" +"将给定 [param index] 处的项的类型设置为一个单选按钮。如果为 [code]false[/" +"code],则将项的类型设置为纯文本。" + +msgid "" +"Mark the item at the given [param index] as a separator, which means that it " +"would be displayed as a line. If [code]false[/code], sets the type of the " +"item to plain text." +msgstr "" +"将给定 [param index] 处的项标记为分隔符,这意味着它将显示为直线段。如果为 " +"[code]false[/code],则将项的类型设置为纯文本。" + +msgid "Replaces the [Texture2D] icon of the item at the given [param index]." +msgstr "替换索引为 [param index] 的菜单项的 [Texture2D] 图标。" + +msgid "Sets the horizontal offset of the item at the given [param index]." +msgstr "设置索引为 [param index] 的菜单项的水平偏移量。" + +msgid "" "Sets the metadata of an item, which may be of any type. You can later get it " "with [method get_item_metadata], which provides a simple way of assigning " "context data to items." @@ -45516,6 +56451,21 @@ msgid "" "details." msgstr "设置一个多态项目的状态。详情请参阅 [method add_multistate_item]。" +msgid "Sets a [Shortcut] for the item at the given [param index]." +msgstr "设置索引为 [param index] 的菜单项的 [Shortcut]。" + +msgid "Disables the [Shortcut] of the item at the given [param index]." +msgstr "禁用索引为 [param index] 的菜单项的 [Shortcut]。" + +msgid "Sets the text of the item at the given [param index]." +msgstr "设置索引为 [param index] 的菜单项的文本。" + +msgid "Sets the [String] tooltip of the item at the given [param index]." +msgstr "设置索引为 [param index] 的菜单项的 [String] 工具提示。" + +msgid "Toggles the check state of the item at the given [param index]." +msgstr "切换索引为 [param index] 的菜单项的选中状态。" + msgid "" "Cycle to the next state of a multistate item. See [method " "add_multistate_item] for details." @@ -45659,6 +56609,15 @@ msgstr "用于显示带有面板背景的弹出窗口的类。" msgid "The background panel style of this [PopupPanel]." msgstr "这个 [PopupPanel] 的背景面板样式。" +msgid "Return the compression mode used (valid after initialized)." +msgstr "返回使用的压缩模式(初始化后有效)。" + +msgid "Return the image format used (valid after initialized)." +msgstr "返回使用的图像格式(初始化后有效)。" + +msgid "Allow overriding the texture size (for 2D only)." +msgstr "允许覆盖纹理大小(仅限 2D)。" + msgid "" "Base class for all primitive meshes. Handles applying a [Material] to a " "primitive mesh." @@ -45667,6 +56626,20 @@ msgstr "所有图元网格的基类。处理将 [Material] 应用到图元网格 msgid "The current [Material] of the primitive mesh." msgstr "该图元网格的当前 [Material]。" +msgid "" +"If [member add_uv2] is set, specifies the padding in pixels applied along " +"seams of the mesh. Lower padding values allow making better use of the " +"lightmap texture (resulting in higher texel density), but may introduce " +"visible lightmap bleeding along edges.\n" +"If the size of the lightmap texture can't be determined when generating the " +"mesh, UV2 is calculated assuming a texture size of 1024x1024." +msgstr "" +"如果设置了 [member add_uv2],则指定沿网格接缝被应用的以像素为单位的填充。较低" +"的填充值允许更好地利用光照贴图纹理(导致更高的纹素密度),但可能会沿边缘引入" +"可见的光照贴图渗色。\n" +"如果在生成网格时无法确定光照贴图纹理的大小,则计算 UV2 时假定纹理大小为 " +"1024x1024。" + msgid "Class representing a prism-shaped [PrimitiveMesh]." msgstr "表示棱柱形 [PrimitiveMesh] 的类。" @@ -45694,6 +56667,20 @@ msgstr "" "从 [member ground_horizon_color] 渐变到 [member ground_bottom_color] 的速度。" msgid "" +"The sky cover texture to use. This texture must use an equirectangular " +"projection (similar to [PanoramaSkyMaterial]). The texture's colors will be " +"[i]added[/i] to the existing sky color, and will be multiplied by [member " +"sky_energy_multiplier] and [member sky_cover_modulate]. This is mainly " +"suited to displaying stars at night, but it can also be used to display " +"clouds at day or night (with a non-physically-accurate look)." +msgstr "" +"要使用的天空覆盖纹理。这个纹理必须使用一个等角投影(类似于" +"[PanoramaSkyMaterial])。 该纹理的颜色将被[i]添加[/i]到现有的天空颜色中,并将" +"乘以 [member sky_energy_multiplier] 和 [member sky_cover_modulate]。这主要适" +"用于显示夜晚的星星,但也可以用来显示白天或夜晚的云彩(具有非物理精确性的外" +"观)。" + +msgid "" "How quickly the [member sky_horizon_color] fades into the [member " "sky_top_color]." msgstr "从 [member sky_horizon_color] 渐变到 [member sky_top_color] 的速度。" @@ -45737,6 +56724,18 @@ msgstr "[ProgressBar] 的文本轮廓的色调。" msgid "The color of the text's shadow." msgstr "文本阴影的颜色。" +msgid "" +"Font used to draw the fill percentage if [member show_percentage] is " +"[code]true[/code]." +msgstr "" +"[member show_percentage] 为 [code]true[/code] 时,用于绘制填充百分比的字体。" + +msgid "" +"Font size used to draw the fill percentage if [member show_percentage] is " +"[code]true[/code]." +msgstr "" +"[member show_percentage] 为 [code]true[/code] 时,用于绘制填充百分比的字体。" + msgid "The style of the background." msgstr "背景的样式。" @@ -45747,12 +56746,36 @@ msgid "3D projection (4x4 matrix)." msgstr "3D 投影(4×4 矩阵)。" msgid "" +"A 4x4 matrix used for 3D projective transformations. It can represent " +"transformations such as translation, rotation, scaling, shearing, and " +"perspective division. It consists of four [Vector4] columns.\n" +"For purely linear transformations (translation, rotation, and scale), it is " +"recommended to use [Transform3D], as it is more performant and has a lower " +"memory footprint.\n" +"Used internally as [Camera3D]'s projection matrix." +msgstr "" +"一个用于三维投影变换的4x4矩阵。它可以表示诸如平移、旋转、缩放、剪切和透视分割" +"等变换。它由四个[Vector4]列组成。\n" +"对于纯粹的线性变换(平移、旋转和缩放),建议使用[Transform3D],因为它的性能更" +"强,内存占用更少。\n" +"在内部作为[Camera3D]的投影矩阵使用。" + +msgid "" "Constructs a default-initialized [Projection] set to [constant IDENTITY]." msgstr "构造默认初始化为 [constant IDENTITY] 的 [Projection]。" msgid "Constructs a [Projection] as a copy of the given [Projection]." msgstr "构造给定 [Projection] 的副本。" +msgid "Constructs a Projection as a copy of the given [Transform3D]." +msgstr "将 Projection 作为给定 [Transform3D] 的副本进行构造。" + +msgid "Constructs a Projection from four [Vector4] values (matrix columns)." +msgstr "从四个 [Vector4] 值(矩阵列)构造 Projection。" + +msgid "Returns the X:Y aspect ratio of this [Projection]'s viewport." +msgstr "返回该 [Projection] 视口的 X:Y 纵横比。" + msgid "" "The projection matrix's W vector (column 3). Equivalent to array index " "[code]3[/code]." @@ -45791,6 +56814,46 @@ msgstr "该投影的右裁剪平面的索引值。" msgid "The index value of the projection bottom clipping plane." msgstr "该投影的下裁剪平面的索引值。" +msgid "" +"A [Projection] with no transformation defined. When applied to other data " +"structures, no transformation is performed." +msgstr "未定义变换的 [Projection]。对其他数据结构使用时,不会进行任何变换。" + +msgid "" +"A [Projection] with all values initialized to 0. When applied to other data " +"structures, they will be zeroed." +msgstr "" +"所有值都初始化为 0 的 [Projection]。对其他数据结构使用时,会进行清零操作。" + +msgid "" +"Returns [code]true[/code] if the projections are not equal.\n" +"[b]Note:[/b] Due to floating-point precision errors, this may return " +"[code]true[/code], even if the projections are virtually equal. An " +"[code]is_equal_approx[/code] method may be added in a future version of " +"Godot." +msgstr "" +"如果投影不相等,则返回 [code]true[/code]。\n" +"[b]注意:[/b]由于浮点精度误差,即使投影实际上相等,也可能会返回 [code]true[/" +"code] 。可能会在 Godot 的未来版本中添加 [code]is_equal_approx[/code] 方法。" + +msgid "" +"Returns [code]true[/code] if the projections are equal.\n" +"[b]Note:[/b] Due to floating-point precision errors, this may return " +"[code]false[/code], even if the projections are virtually equal. An " +"[code]is_equal_approx[/code] method may be added in a future version of " +"Godot." +msgstr "" +"如果投影相等,则返回 [code]true[/code]。\n" +"[b]注意:[/b]由于浮点精度错误,即使投影实际上相等,也可能会返回 [code]false[/" +"code]。可能会在 Godot 的未来版本中添加 [code]is_equal_approx[/code] 方法。" + +msgid "" +"Returns the column of the [Projection] with the given index.\n" +"Indices are in the following order: x, y, z, w." +msgstr "" +"返回具有给定索引的 [Projection] 的列。\n" +"索引按以下顺序排列:x、y、z、w。" + msgid "Contains global variables accessible from everywhere." msgstr "包含全局变量,可以从任何地方访问。" @@ -45835,14 +56898,113 @@ msgid "Clears the whole configuration (not recommended, may break things)." msgstr "清除整个配置(不推荐,可能会弄坏东西)。" msgid "" +"Returns an [Array] of registered global classes. Each global class is " +"represented as a [Dictionary] that contains the following entries:\n" +"- [code]base[/code] is a name of the base class;\n" +"- [code]class[/code] is a name of the registered global class;\n" +"- [code]icon[/code] is a path to a custom icon of the global class, if it " +"has any;\n" +"- [code]language[/code] is a name of a programming language in which the " +"global class is written;\n" +"- [code]path[/code] is a path to a file containing the global class.\n" +"[b]Note:[/b] Both the script and the icon paths are local to the project " +"filesystem, i.e. they start with [code]res://[/code]." +msgstr "" +"返回已注册的全局类的 [Array]。每个全局类都被表示为包含以下条目的 " +"[Dictionary]:\n" +"- [code]base[/code] 是基类的名称;\n" +"- [code]class[/code] 是被注册的全局类的名称;\n" +"- [code]icon[/code] 是全局类自定义图标的路径,如果有的话;\n" +"- [code]language[/code] 是编写全局类的编程语言的名称;\n" +"- [code]path[/code] 是包含全局类的文件的路径。\n" +"[b]注意:[/b]脚本和图标路径都是项目文件系统的本地路径,即它们以 [code]res://" +"[/code] 开头。" + +msgid "" "Returns the order of a configuration value (influences when saved to the " "config file)." msgstr "返回配置值的顺序(保存到配置文件时会产生影响)。" +msgid "" +"Returns the absolute, native OS path corresponding to the localized [param " +"path] (starting with [code]res://[/code] or [code]user://[/code]). The " +"returned path will vary depending on the operating system and user " +"preferences. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in " +"Godot projects[/url] to see what those paths convert to. See also [method " +"localize_path].\n" +"[b]Note:[/b] [method globalize_path] with [code]res://[/code] will not work " +"in an exported project. Instead, prepend the executable's base directory to " +"the path when running from an exported project:\n" +"[codeblock]\n" +"var path = \"\"\n" +"if OS.has_feature(\"editor\"):\n" +" # Running from an editor binary.\n" +" # `path` will contain the absolute path to `hello.txt` located in the " +"project root.\n" +" path = ProjectSettings.globalize_path(\"res://hello.txt\")\n" +"else:\n" +" # Running from an exported project.\n" +" # `path` will contain the absolute path to `hello.txt` next to the " +"executable.\n" +" # This is *not* identical to using `ProjectSettings.globalize_path()` " +"with a `res://` path,\n" +" # but is close enough in spirit.\n" +" path = OS.get_executable_path().get_base_dir().path_join(\"hello.txt\")\n" +"[/codeblock]" +msgstr "" +"返回与本地化 [param path](以 [code]res://[/code] 或 [code]user://[/code] 开" +"头)相对应的绝对原生 OS 路径。返回的路径将因操作系统和用户首选项而异。 请参阅" +"[url=$DOCS_URL/tutorials/io/data_paths.html]《Godot 项目中的文件路径》[/url]" +"以查看这些路径转换成的内容。另请参阅 [method localize_path]。\n" +"[b]注意:[/b]对 [code]res://[/code] 调用 [method globalize_path] 在导出的项目" +"中不会起作用。而是,当从导出的项目运行时,将可执行文件的基目录添加到路径" +"中:\n" +"[codeblock]\n" +"var path = \"\"\n" +"if OS.has_feature(\"editor\"):\n" +" # 从编辑器二进制文件运行。\n" +" # `path` 将包含位于项目根目录中的 `hello.txt` 的绝对路径。\n" +" path = ProjectSettings.globalize_path(\"res://hello.txt\")\n" +"else:\n" +" # 从导出的项目运行。\n" +" # `path` 将包含可执行文件旁边的 `hello.txt` 的绝对路径。\n" +" # 这与使用 `ProjectSettings.globalize_path()` 和 `res://` 路径*不*相" +"同,\n" +" # 但在目的上足够接近。\n" +" path = OS.get_executable_path().get_base_dir().path_join(\"hello.txt\")\n" +"[/codeblock]" + msgid "Returns [code]true[/code] if a configuration value is present." msgstr "配置值存在时返回 [code]true[/code]。" msgid "" +"Loads the contents of the .pck or .zip file specified by [param pack] into " +"the resource filesystem ([code]res://[/code]). Returns [code]true[/code] on " +"success.\n" +"[b]Note:[/b] If a file from [param pack] shares the same path as a file " +"already in the resource filesystem, any attempts to load that file will use " +"the file from [param pack] unless [param replace_files] is set to " +"[code]false[/code].\n" +"[b]Note:[/b] The optional [param offset] parameter can be used to specify " +"the offset in bytes to the start of the resource pack. This is only " +"supported for .pck files." +msgstr "" +"将 [param pack] 指定的 .pck 或 .zip 文件的内容,加载到资源文件系统" +"([code]res://[/code])。成功时返回 [code]true[/code]。\n" +"[b]注意:[/b]如果来自 [param pack] 的文件与资源文件系统中已有的文件路径相同," +"则任何加载该文件的尝试,都将使用来自 [param pack] 的文件,除非 [param " +"replace_files] 被设置为 [code]false[/code]。\n" +"[b]注意:[/b]可选的 [param offset] 参数可用于指定资源包开头的字节偏移量。这只" +"支持 .pck 文件。" + +msgid "" +"Returns the localized path (starting with [code]res://[/code]) corresponding " +"to the absolute, native OS [param path]. See also [method globalize_path]." +msgstr "" +"返回对应于绝对本地操作系统 [param path] 的本地化路径(以 [code]res://[/code] " +"开头)。另见 [method globalize_path]。" + +msgid "" "Saves the configuration to the [code]project.godot[/code] file.\n" "[b]Note:[/b] This method is intended to be used by editor plugins, as " "modified [ProjectSettings] can't be loaded back in the running app. If you " @@ -45876,6 +57038,18 @@ msgid "" "file)." msgstr "设置配置值的顺序(保存到配置文件时会产生影响)。" +msgid "" +"Sets whether a setting requires restarting the editor to properly take " +"effect.\n" +"[b]Note:[/b] This is just a hint to display to the user that the editor must " +"be restarted for changes to take effect. Enabling [method " +"set_restart_if_changed] does [i]not[/i] delay the setting being set when " +"changed." +msgstr "" +"设置一个设置是否需要重新启动编辑器才能正确生效。\n" +"[b]注意:[/b]这只是向用户显示的提示,提示必须重新启动编辑器才能使更改生效。启" +"用 [method set_restart_if_changed] [i]不[/i]会延迟在更改时设置的设置。" + msgid "Background color for the boot splash." msgstr "启动界面的背景色。" @@ -45921,6 +57095,21 @@ msgstr "" "稿)。如果为 [code]false[/code],则使用最近邻插值(推荐用于像素画)。" msgid "" +"This user directory is used for storing persistent data ([code]user://[/" +"code] filesystem). If a custom directory name is defined, this name will be " +"appended to the system-specific user data directory (same parent folder as " +"the Godot configuration folder documented in [method OS." +"get_user_data_dir]).\n" +"The [member application/config/use_custom_user_dir] setting must be enabled " +"for this to take effect." +msgstr "" +"该用户目录用于存储持久数据([code]user://[/code] 文件系统)。如果定义了自定义" +"目录名称,则该名称将被追加到系统特定的用户数据目录(与 [method OS." +"get_user_data_dir] 中记录的 Godot 配置文件夹相同的父文件夹)。\n" +"[member application/config/use_custom_user_dir] 设置必须被启用,该设置才能生" +"效。" + +msgid "" "The project's description, displayed as a tooltip in the Project Manager " "when hovering the project." msgstr "项目的描述,在项目管理器中悬停时显示为工具提示。" @@ -45978,6 +57167,24 @@ msgstr "" "取来覆盖项目设置。" msgid "" +"If [code]true[/code], the project will save user data to its own user " +"directory. If [member application/config/custom_user_dir_name] is empty, " +"[code]<OS user data directory>/<project name>[/code] directory will be used. " +"If [code]false[/code], the project will save user data to [code]<OS user " +"data directory>/Godot/app_userdata/<project name>[/code].\n" +"See also [url=$DOCS_URL/tutorials/io/data_paths.html#accessing-persistent-" +"user-data-user]File paths in Godot projects[/url]. This setting is only " +"effective on desktop platforms." +msgstr "" +"如果为 [code]true[/code],项目会将用户数据保存到它自己的用户目录中。如果 " +"[member application/config/custom_user_dir_name] 为空,将使用 [code]<操作系统" +"用户数据目录>/<项目名称>[/code] 目录。如果为 [code]false[/code],项目会将用户" +"数据保存到 [code]<操作系统用户数据目录>/Godot/app_userdata/<项目名称>[/" +"code]。\n" +"另见 [url=$DOCS_URL/tutorials/io/data_paths.html#accessing-persistent-user-" +"data-user]Godot 项目中的文件路径[/url]。该设置仅在桌面平台上有效。" + +msgid "" "Icon set in [code].ico[/code] format used on Windows to set the game's icon. " "This is done automatically on start by calling [method DisplayServer." "set_native_icon]." @@ -46152,6 +57359,51 @@ msgid "Specifies the maximum number of log files allowed (used for rotation)." msgstr "指定允许的最大日志文件数量(用于轮换)。" msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when an [code]assert[/code] call always evaluates to " +"false." +msgstr "" +"设为 [code]warn[/code] 或 [code]error[/code] 时,会在 [code]assert[/code] 调" +"用永远求值为 false 时对应产生警告或错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when an [code]assert[/code] call always evaluates to " +"true." +msgstr "" +"设为 [code]warn[/code] 或 [code]error[/code] 时,会在 [code]assert[/code] 调" +"用永远求值为 true 时对应产生警告或错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when an identifier contains characters that can be " +"confused with something else, like when mixing different alphabets." +msgstr "" +"设为 [code]warn[/code] 或 [code]error[/code] 时,会在标识符中的字符可能与其他" +"东西产生混淆时对应产生警告或错误,例如混用不同的字母表。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when a constant is used as a function." +msgstr "" +"设为 [code]warn[/code] 或 [code]error[/code] 时,会在将常量当作函数使用时对应" +"产生警告或错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when deprecated keywords are used." +msgstr "" +"设为 [code]warn[/code] 或 [code]error[/code] 时,会在使用已启用的关键字时对应" +"产生警告或错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when an empty file is parsed." +msgstr "" +"设为 [code]warn[/code] 或 [code]error[/code] 时,会在解析空文件时对应产生警告" +"或错误。" + +msgid "" "If [code]true[/code], enables specific GDScript warnings (see [code]debug/" "gdscript/warnings/*[/code] settings). If [code]false[/code], disables all " "GDScript warnings." @@ -46168,25 +57420,327 @@ msgstr "" "警告。" msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when using a function as if it is a property." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当函数作为属性使用时会分别" +"产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when [method Node.get_node] (or the shorthand [code]$[/" +"code]) is used as default value of a class variable without the " +"[code]@onready[/code] annotation." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当 [method Node.get_node]" +"(或简写 [code]$[/code])被用作一个没有 [code]@onready[/code] 注解的类变量的" +"默认值时,会分别产生一个警告或一个错误 。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when a ternary operator may emit values with " +"incompatible types." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当三元运算符可能发出具有不" +"兼容类型的值时,分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when a static inferred type uses a [Variant] as " +"initial value, which makes the static type to also be Variant." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当静态推断类型使用一个 " +"[Variant] 作为初始值时,这使得静态类型也成为 Variant,会分别产生一个警告或一" +"个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when trying to use an integer as an enum without an " +"explicit cast." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当尝试将整数用作没有显式转" +"换的枚举时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when trying to use an integer as an enum when there is " +"no matching enum member for that numeric value." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当在尝试将整数用作枚举,且" +"没有与该数值匹配的枚举成员时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when dividing an integer by another integer (the " +"decimal part will be discarded)." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当一个整数除以另一个整数时" +"(小数部分将被丢弃),会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when passing a floating-point value to a function that " +"expects an integer (it will be converted and lose precision)." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,在将浮点值传递给需要整数的" +"函数时(它将被转换并失去精度),会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when a method in the script overrides a native method, " +"because it may not behave as expected." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当脚本中的方法覆盖本地方" +"法,因为它可能不会按预期运行时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when the [code]@onready[/code] annotation is used " +"together with the [code]@export[/code] annotation, since it may not behave " +"as expected." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当 [code]@onready[/code] " +"注解与 [code]@export[/code] 注解一起使用时,因为它可能不会按预期运行,会分别" +"产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when using a property as if it is a function." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当像函数一样使用一个属性" +"时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when a function that is not a coroutine is called with " +"await." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当使用 await 调用一个非协" +"程的函数时,会分别产生一个警告或一个错误。" + +msgid "" +"When enabled, using a property, enum, or function that was renamed since " +"Godot 3 will produce a hint if an error occurs." +msgstr "" +"启用后,使用自 Godot 3 以来重命名的属性、枚举或函数,将在发生错误时产生一个提" +"示。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when calling a function without using its return value " +"(by assigning it to a variable or using it as a function argument). Such " +"return values are sometimes used to denote possible errors using the [enum " +"Error] enum." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当调用函数却不使用其返回值" +"(通过将其分配给变量或将其用作函数参数)时,会分别产生一个警告或一个错误。此" +"类返回值有时使用 [enum Error] 枚举,用于表示可能的错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when defining a local or member variable, signal, or " +"enum that would have the same name as a built-in function or global class " +"name, thus shadowing it." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当定义一个与内置函数或全局" +"类同名的局部变量或成员变量、信号、或枚举,从而隐藏该内置函数或全局类时,会分" +"别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when defining a local or member variable that would " +"shadow a member variable that the class defines." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当定义一个局部变量或成员变" +"量,且该变量将隐藏该类定义的成员变量时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when defining a local or subclass member variable that " +"would shadow a variable that is inherited from a parent class." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当定义一个局部变量或子类成" +"员变量,且该变量将隐藏从父类继承的变量时,将分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when calling an expression that has no effect on the " +"surrounding code, such as writing [code]2 + 2[/code] as a statement." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当调用对周围代码没有影响的" +"表达式,例如将 [code]2 + 2 [/code] 写为语句时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when calling a ternary expression that has no effect " +"on the surrounding code, such as writing [code]42 if active else 0[/code] as " +"a statement." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当调用对周围代码没有影响的" +"三元表达式,例如将 [code]42 if active else 0[/code] 写为语句时,会分别产生一" +"个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when calling a static method from an instance of a " +"class instead of from the class directly." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当从类的实例而不是直接从类" +"调用静态方法时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when using a variable that wasn't previously assigned." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当使用以前未分配的变量时," +"会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when assigning a variable using an assignment operator " +"like [code]+=[/code] if the variable wasn't previously assigned." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当使用 [code]+=[/code] 等" +"赋值运算符分配一个变量,且该变量以前未分配时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when unreachable code is detected (such as after a " +"[code]return[/code] statement that will always be executed)." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当检测到无法访问的代码(例" +"如始终在 [code]return[/code] 语句之后被执行的代码)时,会分别产生一个警告或一" +"个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when an unreachable [code]match[/code] pattern is " +"detected." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当检测到无法到达的 " +"[code]match[/code] 模式时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when using an expression whose type may not be " +"compatible with the function parameter expected." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当使用类型可能与函数参数预" +"期的类型不兼容的表达式时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when performing an unsafe cast." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当执行不安全的转换时,会分" +"别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when calling a method whose presence is not guaranteed " +"at compile-time in the class." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当调用类中不能保证在编译时" +"存在的方法时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when accessing a property whose presence is not " +"guaranteed at compile-time in the class." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当访问类中不能保证在编译时" +"存在的属性时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when returning a call from a [code]void[/code] " +"function when such call cannot be guaranteed to be also [code]void[/code]." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当从 [code]void[/code] 函" +"数返回一个调用,且无法保证该调用也是 [code]void[/code] 时,会分别产生一个警告" +"或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when a local constant is never used." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当一个局部常量从未被使用" +"时,分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when a function parameter is never used." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当一个函数参数从未使用时," +"会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when a private member variable is never used." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当一个私有成员变量从未被使" +"用时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when a signal is declared but never emitted." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当一个信号被声明但从未发出" +"时,会分别产生一个警告或一个错误。" + +msgid "" +"When set to [code]warn[/code] or [code]error[/code], produces a warning or " +"an error respectively when a local variable is unused." +msgstr "" +"设置为 [code]warn[/code] 或 [code]error[/code] 时,当一个局部变量未被使用时," +"会分别产生一个警告或一个错误。" + +msgid "" "Message to be displayed before the backtrace when the engine crashes. By " "default, this message is only used in exported projects due to the editor-" "only override applied to this setting." msgstr "" -"引擎崩溃时,在调用站回溯前显示的消息。默认情况下,这个消息只会在导出后的项目" -"中使用,因为编辑器会对这个设置进行覆盖。" +"引擎崩溃时,在回溯之前显示的消息。默认情况下,由于仅限编辑器的覆盖会应用于该" +"设置,故该消息仅用于导出的项目中。" msgid "" "Editor-only override for [member debug/settings/crash_handler/message]. Does " "not affect exported projects in debug or release mode." msgstr "" -"仅用于编辑器的 [member debug/settings/crash_handler/message] 覆盖项。不会影响" -"用调试或发布模式导出的项目。" +"[member debug/settings/crash_handler/message] 的仅限编辑器的覆盖。不会影响以" +"调试或发布模式导出的项目。" msgid "Maximum call stack allowed for debugging GDScript." msgstr "调试 GDScript 时允许的最大调用堆栈。" +msgid "Maximum number of functions per frame allowed when profiling." +msgstr "分析时单帧允许的最大函数数量。" + msgid "Print frames per second to standard output every second." -msgstr "每秒钟打印帧到标准输出。" +msgstr "每秒将帧率打印到标准输出。" + +msgid "" +"Print GPU profile information to standard output every second. This includes " +"how long each frame takes the GPU to render on average, broken down into " +"different steps of the render pipeline, such as CanvasItems, shadows, glow, " +"etc." +msgstr "" +"每秒将 GPU 配置文件信息打印到标准输出。这包括平均每帧需要 GPU 渲染多长时间," +"细分为渲染管道的不同步骤,例如 CanvasItems、阴影、辉光等。" + +msgid "" +"Print more information to standard output when running. It displays " +"information such as memory leaks, which scenes and resources are being " +"loaded, etc. This can also be enabled using the [code]--verbose[/code] or " +"[code]-v[/code] [url=$DOCS_URL/tutorials/editor/command_line_tutorial." +"html]command line argument[/url], even on an exported project. See also " +"[method OS.is_stdout_verbose] and [method @GlobalScope.print_verbose]." +msgstr "" +"运行时将更多信息打印到标准输出。它显示诸如内存泄漏、正在加载哪些场景和资源等" +"信息。这也可以使用 [code]--verbose[/code] 或 [code]-v[/code] [url=$DOCS_URL/" +"tutorials/editor/command_line_tutorial.html]命令行参数[/url]来启用,即使在导" +"出的项目中也是如此。另见 [method OS.is_stdout_verbose] and [method " +"@GlobalScope.print_verbose]。" msgid "" "Color of the contact points between collision shapes, visible when \"Visible " @@ -46215,6 +57769,63 @@ msgid "" msgstr "栅格大小(像素),如果导航代理启用了调试,则会用于渲染该代理的路径点。" msgid "" +"If enabled, displays navigation agent paths when an agent has debug enabled." +msgstr "如果处于启用状态,会在导航代理启用调试时显示其路径。" + +msgid "" +"If enabled, displays navigation agent paths through geometry when an agent " +"has debug enabled." +msgstr "如果处于启用状态,会在导航代理启用调试时透过几何体显示其路径。" + +msgid "" +"If enabled, displays edge connections between navigation regions when " +"\"Visible Navigation\" is enabled in the Debug menu." +msgstr "" +"如果处于启用状态,会在启用“调试”菜单中的“显示导航”时显示导航地区之间的边缘连" +"接。" + +msgid "" +"If enabled, displays edge connections between navigation regions through " +"geometry when \"Visible Navigation\" is enabled in the Debug menu." +msgstr "" +"如果处于启用状态,会在启用“调试”菜单中的“显示导航”时透过几何体显示导航地区之" +"间的边缘连接。" + +msgid "" +"If enabled, displays navigation mesh polygon edges when \"Visible " +"Navigation\" is enabled in the Debug menu." +msgstr "" +"如果处于启用状态,会在启用“调试”菜单中的“显示导航”时显示导航网格多边形的边" +"缘。" + +msgid "" +"If enabled, displays navigation mesh polygon edges through geometry when " +"\"Visible Navigation\" is enabled in the Debug menu." +msgstr "" +"如果处于启用状态,会在启用“调试”菜单中的“显示导航”时透过几何体显示导航网格多" +"边形的边缘。" + +msgid "" +"If enabled, colorizes each navigation mesh polygon face with a random color " +"when \"Visible Navigation\" is enabled in the Debug menu." +msgstr "" +"如果处于启用状态,会在启用“调试”菜单中的“显示导航”时为每个导航网格多边形面使" +"用随机颜色着色。" + +msgid "" +"If enabled, displays navigation link connections when \"Visible Navigation\" " +"is enabled in the Debug menu." +msgstr "" +"如果处于启用状态,会在启用“调试”菜单中的“显示导航”时显示导航链接的连接。" + +msgid "" +"If enabled, displays navigation link connections through geometry when " +"\"Visible Navigation\" is enabled in the Debug menu." +msgstr "" +"如果处于启用状态,会在启用“调试”菜单中的“显示导航”时透过几何体显示导航链接的" +"连接。" + +msgid "" "Color to display enabled navigation mesh polygon edges, visible when " "\"Visible Navigation\" is enabled in the Debug menu." msgstr "" @@ -46300,8 +57911,22 @@ msgid "" "If [code]true[/code], the home indicator is hidden automatically. This only " "affects iOS devices without a physical home button." msgstr "" -"如果为 [code]true[/code],主指示器将自动隐藏。这只会影响没有物理 home 键的 " -"iOS 设备。" +"如果为 [code]true[/code],home 指示器将自动隐藏。这只会影响没有物理 home 键" +"的 iOS 设备。" + +msgid "" +"If [code]true[/code], the status bar is hidden while the app is running." +msgstr "如果为 [code]true[/code],则状态栏将在应用程序运行时隐藏。" + +msgid "" +"If [code]true[/code], it will require two swipes to access iOS UI that uses " +"gestures.\n" +"[b]Note:[/b] This setting has no effect on the home indicator if " +"[code]hide_home_indicator[/code] is [code]true[/code]." +msgstr "" +"如果为 [code]true[/code],则需要两次滑动才能访问使用手势的 iOS UI。\n" +"[b]注意:[/b]如果 [code]hide_home_indicator[/code] 为 [code]true[/code],则该" +"设置对 home 指示器没有影响。" msgid "" "If [code]true[/code], allows per-pixel transparency for the window " @@ -46449,6 +58074,28 @@ msgstr "" "这个设置。" msgid "" +"Sets the V-Sync mode for the main game window.\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 " +"[b]Enabled[/b] if the desired mode is not supported.\n" +"[b]Note:[/b] V-Sync modes other than [b]Enabled[/b] are only supported in " +"the Forward+ and Mobile rendering methods, not Compatibility.\n" +"[b]Note:[/b] This property is only read when the project starts. To change " +"the V-Sync mode at runtime, call [method DisplayServer." +"window_set_vsync_mode] instead." +msgstr "" +"设置游戏主窗口的垂直同步模式。\n" +"请参阅 [enum DisplayServer.VSyncMode] 了解可能的值以及它们如何影响应用程序的" +"行为。\n" +"根据平台和所使用的渲染器,如果不支持所需的模式,引擎将回退到 [b]Enabled[/" +"b]。\n" +"[b]注意:[/b]除 [b]Enabled[/b] 以外的垂直同步模式仅支持 Forward+ 和 Mobile 渲" +"染方式,不支持 Compatibility。\n" +"[b]注意:[/b]这个属性只在项目启动时读取。要在运行时改变垂直同步模式,请改为调" +"用 [method DisplayServer.window_set_vsync_mode]。" + +msgid "" "If [code]true[/code], requests V-Sync to be disabled when writing a movie " "(similar to setting [member display/window/vsync/vsync_mode] to [b]Disabled[/" "b]). This can speed up video writing if the hardware is fast enough to " @@ -46611,6 +58258,9 @@ msgstr "" "[member ScrollContainer.scroll_deadzone],它将用于所有 [ScrollContainer],除" "非fug。" +msgid "Maximum undo/redo history size for [TextEdit] fields." +msgstr "[TextEdit] 字段的最大撤销/重做历史大小。" + msgid "" "Path to a custom [Theme] resource file to use for the project ([code].theme[/" "code] or generic [code].tres[/code]/[code].res[/code] extension)." @@ -46630,6 +58280,12 @@ msgid "Default font hinting mode. See [member FontFile.hinting]." msgstr "默认字体微调模式。见 [member FontFile.hinting]。" msgid "" +"Default font glyph subpixel positioning mode. See [member FontFile." +"subpixel_positioning]." +msgstr "" +"默认字体字形的次像素定位模式。见 [member FontFile.subpixel_positioning]。" + +msgid "" "The default scale factor for [Control]s, when not overridden by a [Theme].\n" "[b]Note:[/b] This property is only read when the project starts. To change " "the default scale at runtime, set [member ThemeDB.fallback_base_scale] " @@ -46640,6 +58296,12 @@ msgstr "" "[member ThemeDB.fallback_base_scale]。" msgid "" +"LCD subpixel layout used for font anti-aliasing. See [enum TextServer." +"FontLCDSubpixelLayout]." +msgstr "" +"LCD 次像素布局,用于字体抗锯齿。见 [enum TextServer.FontLCDSubpixelLayout]。" + +msgid "" "When [member BaseButton.shortcut_feedback] is enabled, this is the time the " "[BaseButton] will remain highlighted after a shortcut." msgstr "" @@ -46664,7 +58326,7 @@ msgid "" "necessary for the internal logic of several [Control]s. The events assigned " "to the action can however be modified." msgstr "" -"默认用于确认焦点按钮、菜单或列表项,或验证输入的 [InputEventAction]。\n" +"默认 [InputEventAction],用于确认焦点按钮、菜单或列表项,或用于验证输入。\n" "[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" "的,无法删除。但是可以修改分配给该动作的事件。" @@ -46674,7 +58336,27 @@ msgid "" "necessary for the internal logic of several [Control]s. The events assigned " "to the action can however be modified." msgstr "" -"默认用于放弃模态或挂起的输入的 [InputEventAction]。\n" +"默认 [InputEventAction],用于放弃模态或挂起的输入。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to copy a selection to the clipboard.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将选中内容复制到剪贴板。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to cut a selection to the clipboard.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将选中内容剪切到剪贴板。\n" "[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" "的,无法删除。但是可以修改分配给该动作的事件。" @@ -46684,7 +58366,7 @@ msgid "" "necessary for the internal logic of several [Control]s. The events assigned " "to the action can however be modified." msgstr "" -"默认在 UI 中向下移动的 [InputEventAction]。\n" +"默认 [InputEventAction],用于在 UI 中向下移动。\n" "[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" "的,无法删除。但是可以修改分配给该动作的事件。" @@ -46696,8 +58378,41 @@ msgid "" "necessary for the internal logic of several [Control]s. The events assigned " "to the action can however be modified." msgstr "" -"默认[InputEventAction]去[Control]的结束位置(例如[ItemList]或[Tree]中的最后一" -"项),匹配典型桌面UI系统中[constant KEY_END]的行为。\n" +"默认 [InputEventAction],用于前往 [Control] 的末尾(例如 [ItemList] 和 " +"[Tree] 中的最后一个项目),与常见桌面 UI 系统中 [constant KEY_END] 的 行为一" +"致。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to refresh the contents of the current directory " +"of a [FileDialog].\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于刷新 [FileDialog] 中当前目录的内容。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to toggle showing hidden files and directories in " +"a [FileDialog].\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于开关 [FileDialog] 中隐藏文件和目录的显示。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to go up one directory in a [FileDialog].\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于在 [FileDialog] 前往上一级目录。\n" "[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" "的,无法删除。但是可以修改分配给该动作的事件。" @@ -46708,8 +58423,8 @@ msgid "" "necessary for the internal logic of several [Control]s. The events assigned " "to the action can however be modified." msgstr "" -"默认聚焦场景中的下一个[Control]的[InputEventAction]。焦点行为可以通过[member " -"Control.focus_next]配置。\n" +"默认 [InputEventAction],用于聚焦场景中的下一个 [Control]。聚焦行为可以通过 " +"[member Control.focus_next] 配置。\n" "[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" "的,无法删除。但是可以修改分配给该动作的事件。" @@ -46720,8 +58435,28 @@ msgid "" "necessary for the internal logic of several [Control]s. The events assigned " "to the action can however be modified." msgstr "" -"默认聚焦场景中的前一个[Control]的[InputEventAction]。焦点行为可以通过[member " -"Control.focus_previous]配置。\n" +"默认 [InputEventAction],用于聚焦场景中的上一个 [Control]。聚焦行为可以通过 " +"[member Control.focus_previous] 配置。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to delete a [GraphNode] in a [GraphEdit].\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于删除 [GraphEdit] 中的某个 [GraphNode]。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to duplicate a [GraphNode] in a [GraphEdit].\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于制作 [GraphEdit] 中某个 [GraphNode] 的副本。\n" "[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" "的,无法删除。但是可以修改分配给该动作的事件。" @@ -46733,8 +58468,9 @@ msgid "" "necessary for the internal logic of several [Control]s. The events assigned " "to the action can however be modified." msgstr "" -"默认的将进入[Control]的起始位置(例如[ItemList]或[Tree]中的第一个项目)时的" -"[InputEventAction],与典型的桌面UI系统中[constant KEY_HOME]的行为相匹配。\n" +"默认 [InputEventAction],用于前往 [Control] 的开头(例如 [ItemList] 和 " +"[Tree] 中的第一个项目),与常见桌面 UI 系统中 [constant KEY_HOME] 的 行为一" +"致。\n" "[b]注意:[/b]默认的 [code]ui_*[/code] 动作不能被删除,因为它们是几个 " "[Control] 的内部逻辑所必需的。然而,分配给动作的事件可以被修改。" @@ -46744,7 +58480,17 @@ msgid "" "necessary for the internal logic of several [Control]s. The events assigned " "to the action can however be modified." msgstr "" -"默认在 UI 中向左移动的[InputEventAction]。\n" +"默认 [InputEventAction],用于在 UI 中向左移动。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to open a context menu in a text field.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于在文本字段中打开上下文菜单。\n" "[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" "的,无法删除。但是可以修改分配给该动作的事件。" @@ -46756,9 +58502,8 @@ msgid "" "necessary for the internal logic of several [Control]s. The events assigned " "to the action can however be modified." msgstr "" -"默认的在 [Control](例如 [ItemList] 或 [Tree])中向下翻页的 " -"[InputEventAction],与典型桌面 UI 系统中 [constant KEY_PAGEDOWN] 的行为相匹" -"配。\n" +"默认 [InputEventAction],用于在 [Control](例如 [ItemList] 和 [Tree])中向下" +"翻页,与常见桌面 UI 系统中 [constant KEY_PAGEDOWN] 的 行为一致。\n" "[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" "的,无法删除。但是可以修改分配给该动作的事件。" @@ -46770,9 +58515,28 @@ msgid "" "necessary for the internal logic of several [Control]s. The events assigned " "to the action can however be modified." msgstr "" -"默认的在 [Control](例如 [ItemList] 或 [Tree])中向上翻页的 " -"[InputEventAction],与典型桌面 UI 系统中 [constant KEY_PAGEUP] 的行为相匹" -"配。\n" +"默认 [InputEventAction],用于在 [Control](例如 [ItemList] 和 [Tree])中向上" +"翻页,与常见桌面 UI 系统中 [constant KEY_PAGEUP] 的 行为一致。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to paste from the clipboard.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于从剪贴板粘贴内容。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to redo an undone action.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于重做被撤销的动作。\n" "[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" "的,无法删除。但是可以修改分配给该动作的事件。" @@ -46782,7 +58546,7 @@ msgid "" "necessary for the internal logic of several [Control]s. The events assigned " "to the action can however be modified." msgstr "" -"默认在 UI 中右移的[InputEventAction]。\n" +"默认 [InputEventAction],用于在 UI 中向右移动。\n" "[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" "的,无法删除。但是可以修改分配给该动作的事件。" @@ -46793,14 +58557,55 @@ msgid "" "necessary for the internal logic of several [Control]s. The events assigned " "to the action can however be modified." msgstr "" -"默认选择[Control](例如[ItemList]或[Tree])中的一个项目[InputEventAction]。\n" +"默认 [InputEventAction],用于在 [Control](例如 [ItemList] 和 [Tree])中选中" +"项目。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to swap input direction, i.e. change between left-" +"to-right to right-to-left modes. Affects text-editting controls ([LineEdit], " +"[TextEdit])." +msgstr "" +"默认 [InputEventAction],用于交换输入方向,例如在“从左至右”和“从右至左”模式之" +"间切换。影响文本编辑控件([LineEdit]、[TextEdit])。" + +msgid "" +"Default [InputEventAction] to delete the character before the text cursor.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于删除文本光标前的字符。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to delete [b]all[/b] text before the text " +"cursor.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于删除文本光标前的[b]所有[/b]文本。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to delete all characters before the cursor up " +"until a whitespace or punctuation character.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于删除光标前、空白或标点字符后的所有字符。\n" "[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" "的,无法删除。但是可以修改分配给该动作的事件。" msgid "" "Default [InputEventAction] to add an additional caret above every caret of a " "text." -msgstr "在文本的每个光标上方添加一个额外光标的默认 [InputEventAction]。" +msgstr "默认 [InputEventAction],用于在文本中各个光标上方再添加一个光标。" msgid "" "macOS specific override for the shortcut to add a caret above every caret." @@ -46809,13 +58614,327 @@ msgstr "macOS 特有的用于在每个光标上方添加一个光标的快捷键 msgid "" "Default [InputEventAction] to add an additional caret below every caret of a " "text." -msgstr "在文本的每个光标下方添加一个额外光标的默认 [InputEventAction]。" +msgstr "默认 [InputEventAction],用于在文本中各个光标下方再添加一个光标。" msgid "" "macOS specific override for the shortcut to add a caret below every caret." msgstr "macOS 特有的用于在每个光标下方添加一个光标的快捷键的覆盖。" msgid "" +"Default [InputEventAction] to move the text cursor the the end of the text.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将文本光标移动到文本的末尾。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to move the text cursor to the start of the " +"text.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将文本光标移动到文本的开头。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to move the text cursor down.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将文本光标向下移动。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to move the text cursor left.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将文本光标向左移动。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to move the text cursor to the end of the line.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将文本光标移动到该行的末尾。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to move the text cursor to the start of the " +"line.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将文本光标移动到该行的开头。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to move the text cursor down one page.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将文本光标向下移动一页。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to move the text cursor up one page.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将文本光标向上移动一页。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to move the text cursor right.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将文本光标向右移动。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to move the text cursor up.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将文本光标向上移动。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to move the text cursor left to the next " +"whitespace or punctuation.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将文本光标向左移动到最近的空白或标点字符。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to move the text cursor right to the next " +"whitespace or punctuation.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于将文本光标向右移动到最近的空白或标点字符。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"If there's only one caret active and with a selection, clears the " +"selection.\n" +"In case there's more than one caret active, removes the secondary carets and " +"clears their selections.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"如果处于活动状态并且有选区的光标只有一个,则清除该选区。\n" +"如果有多个光标处于活动状态,请移除次要光标并清除其选区。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作无法移除,因为它们对于部分 " +"[Control] 的内部逻辑是必需的。但是,可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to accept an autocompetion hint.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于接受某个自动补全提示。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to request autocompetion.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于请求自动补全。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to accept an autocompetion hint, replacing " +"existing text.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于接受某个自动补全提示并替换现有文本。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to unindent text.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于取消文本缩进。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to delete the character after the text cursor.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于删除文本光标后的字符。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to delete [b]all[/b] text after the text cursor.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于删除文本光标后的[b]所有[/b]文本。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to delete all characters after the cursor up " +"until a whitespace or punctuation character.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于删除光标后、空白或标点字符前的所有字符。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to indent the current line.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于缩进当前行。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to insert a new line at the position of the text " +"cursor.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于在文本光标处插入换行。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to insert a new line before the current one.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于在当前行之前插入一个空行。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to insert a new line after the current one.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于在当前行之后插入一个空行。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to scroll down one line of text.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于向下滚动一行文本。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to scroll up one line of text.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于向上滚动一行文本。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to select all text.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于全选文本。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to submit a text field.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于提交文本字段。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to toggle [i]insert mode[/i] in a text field. " +"While in insert mode, inserting new text overrides the character after the " +"cursor, unless the next character is a new line.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于开关文本字段的[i]插入模式[/i]。在插入模式中,插" +"入新的文本会覆盖光标后的字符,除非下一个字符是换行符。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" +"Default [InputEventAction] to undo the most recent action.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"默认 [InputEventAction],用于撤销最近的动作。\n" +"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需" +"的,无法删除。但是可以修改分配给该动作的事件。" + +msgid "" "Default [InputEventAction] to move up in the UI.\n" "[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " "necessary for the internal logic of several [Control]s. The events assigned " @@ -47931,12 +60050,12 @@ msgstr "" "码示例:\n" "[codeblocks]\n" "[gdscript]\n" -"# 将默认重力强度设置为 980。\n" +"# 将默认重力强度设置为 9.8。\n" "PhysicsServer3D.area_set_param(get_viewport().find_world().space, " "PhysicsServer3D.AREA_PARAM_GRAVITY, 9.8)\n" "[/gdscript]\n" "[csharp]\n" -"// 将默认重力强度设置为 980。\n" +"// 将默认重力强度设置为 9.8。\n" "PhysicsServer3D.AreaSetParam(GetViewport().FindWorld().Space, " "PhysicsServer3D.AreaParameter.Gravity, 9.8);\n" "[/csharp]\n" @@ -48107,6 +60226,117 @@ msgstr "" "将 [member physics/common/max_physics_steps_per_frame] 也调大。" msgid "" +"Sets the number of MSAA samples to use for 2D/Canvas rendering (as a power " +"of two). MSAA is used to reduce aliasing around the edges of polygons. A " +"higher MSAA value results in smoother edges but can be significantly slower " +"on some hardware. This has no effect on shader-induced aliasing or texture " +"aliasing.\n" +"[b]Note:[/b] MSAA is only supported in the Forward+ and Mobile rendering " +"methods, not Compatibility." +msgstr "" +"设置用于 2D/Canvas 渲染的 MSAA 采样数(为 2 的幂)。MSAA 可用于减少多边形边缘" +"周围的锯齿。较高的 MSAA 值会产生更平滑的边缘,但在某些硬件上可能会明显变慢。" +"这对着色器引起的锯齿或纹理锯齿无效。\n" +"[b]注意:[/b]MSAA 仅支持 Forward+ 和 Mobile 渲染方式,不支持 Compatibility。" + +msgid "" +"Sets the number of MSAA samples to use for 3D rendering (as a power of two). " +"MSAA is used to reduce aliasing around the edges of polygons. A higher MSAA " +"value results in smoother edges but can be significantly slower on some " +"hardware. See also bilinear scaling 3d [member rendering/scaling_3d/mode] " +"for supersampling, which provides higher quality but is much more expensive. " +"This has no effect on shader-induced aliasing or texture aliasing.\n" +"[b]Note:[/b] MSAA is only supported in the Forward+ and Mobile rendering " +"methods, not Compatibility." +msgstr "" +"设置用于 3D 渲染的 MSAA 采样数(为 2 的幂)。MSAA 用于减少多边形边缘周围的锯" +"齿。较高的 MSAA 值会产生更平滑的边缘,但在某些硬件上可能会明显变慢。另请参见" +"用于超级采样的双线性缩放 3d [member rendering/scaling_3d/mode],它提供更高的" +"质量但更昂贵。这对着色器引起的锯齿或纹理锯齿无效。\n" +"[b]注意:[/b]MSAA 仅支持 Forward+ 和 Mobile 渲染方式,不支持 Compatibility。" + +msgid "" +"Sets the screen-space antialiasing mode for the default screen [Viewport]. " +"Screen-space antialiasing works by selectively blurring edges in a post-" +"process shader. It differs from MSAA which takes multiple coverage samples " +"while rendering objects. Screen-space AA methods are typically faster than " +"MSAA and will smooth out specular aliasing, but tend to make scenes appear " +"blurry. The blurriness is partially counteracted by automatically using a " +"negative mipmap LOD bias (see [member rendering/textures/default_filters/" +"texture_mipmap_bias]).\n" +"Another way to combat specular aliasing is to enable [member rendering/" +"anti_aliasing/screen_space_roughness_limiter/enabled].\n" +"[b]Note:[/b] Screen-space antialiasing is only supported in the Forward+ and " +"Mobile rendering methods, not Compatibility." +msgstr "" +"设置默认屏幕 [Viewport] 的屏幕空间抗锯齿模式。屏幕空间抗锯齿的原理是使用后期" +"处理着色器选择性地让边缘模糊。与 MSAA 的区别在于,MSAA 是在渲染对象时进行了多" +"次覆盖采样。屏幕空间 AA 的方法通常比 MSAA 要快,会将镜面反射锯齿也进行平滑处" +"理,但容易让场景变得模糊。这种模糊可以通过自动使用负的 Mipmap LOD 偏置部分缓" +"解(见 [member rendering/textures/default_filters/texture_mipmap_bias])。\n" +"对抗镜面反射锯齿的另一种方法是启用 [member rendering/anti_aliasing/" +"screen_space_roughness_limiter/enabled]。\n" +"[b]注意:[/b]屏幕空间抗锯齿仅支持 Forward+ 和 Mobile 渲染方法,不支持 " +"Compatibility。" + +msgid "" +"If [code]true[/code], uses a fast post-processing filter to make banding " +"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by " +"debanding unless the [member Environment.background_mode] is [constant " +"Environment.BG_CANVAS].\n" +"In some cases, debanding may introduce a slightly noticeable dithering " +"pattern. It's recommended to enable debanding only when actually needed " +"since the dithering pattern will make lossless-compressed screenshots " +"larger.\n" +"[b]Note:[/b] This property is only read when the project starts. To set " +"debanding at run-time, set [member Viewport.use_debanding] on the root " +"[Viewport] instead." +msgstr "" +"如果为 [code]true[/code],则使用一个快速的后处理滤镜使条带在 3D 中明显不那么" +"明显。除非 [member Environment.background_mode] 为 [constant Environment." +"BG_CANVAS],否则 2D 渲染[i]不会[/i]受到去条带的影响。\n" +"在某些情况下,去条带可能会引入稍微明显的抖动图案。建议只在实际需要时才启用去" +"条带,因为抖动图案会使无损压缩的屏幕截图变大。\n" +"[b]注意:[/b]只有在项目启动时才读取该属性。要在运行时设置去条带,请改为在根 " +"[Viewport] 上设置 [member Viewport.use_debanding]。" + +msgid "" +"Enables Temporal Anti-Aliasing for the default screen [Viewport]. TAA works " +"by jittering the camera and accumulating the images of the last rendered " +"frames, motion vector rendering is used to account for camera and object " +"motion. Enabling TAA can make the image blurrier, which is partially " +"counteracted by automatically using a negative mipmap LOD bias (see [member " +"rendering/textures/default_filters/texture_mipmap_bias]).\n" +"[b]Note:[/b] The implementation is not complete yet. Some visual instances " +"such as particles and skinned meshes may show ghosting artifacts in motion.\n" +"[b]Note:[/b] TAA is only supported in the Forward+ rendering method, not " +"Mobile or Compatibility." +msgstr "" +"为默认屏幕 [Viewport] 启用时间抗锯齿(Temporal Anti-Aliasing)。TAA 的原理是" +"让相机产生抖动并积累最近渲染的几帧图像,使用运动向量渲染让相机和对象产生运" +"动。启用 TAA 会让图像变模糊,这种模糊可以通过自动使用负的 Mipmap LOD 偏置部分" +"缓解(参见 [member rendering/textures/default_filters/" +"texture_mipmap_bias])。\n" +"[b]注意:[/b]实现尚未完成,粒子及蒙皮网格等某些视觉实例可能会显示运动中的重影" +"伪像。\n" +"[b]注意:[/b]TAA 只支持 Forward+ 渲染方式,不支持 Mobile 或 Compatibility。" + +msgid "" +"If [code]true[/code], enables a spatial filter to limit roughness in areas " +"with high-frequency detail. This can help reduce specular aliasing to an " +"extent, though not as much as enabling [member rendering/anti_aliasing/" +"quality/use_taa]. This filter has a small performance cost, so consider " +"disabling it if it doesn't benefit your scene noticeably.\n" +"[b]Note:[/b] TAA is only supported in the Forward+ and Mobile rendering " +"methods, not Compatibility." +msgstr "" +"如果为 [code]true[/code],则启用空间过滤器以限制具有高频细节的区域的粗糙度。" +"这可以在一定程度上帮助减少镜面反射锯齿,尽管不如启用 [member rendering/" +"anti_aliasing/quality/use_taa]。 该过滤器的性能成本很小,因此如果它对您的场景" +"没有明显好处,请考虑禁用它。\n" +"[b]注意:[/b]TAA 只支持 Forward+ 和 Mobile 渲染方式,不支持 Compatibility。" + +msgid "" "Thread model for rendering. Rendering on a thread can vastly improve " "performance, but synchronizing to the main thread can cause a bit more " "jitter." @@ -48296,6 +60526,78 @@ msgstr "" "directional_shadow/size] 以低配数值覆盖。" msgid "" +"The maximum number of clustered elements ([OmniLight3D] + [SpotLight3D] + " +"[Decal] + [ReflectionProbe]) that can be rendered at once in the camera " +"view. If there are more clustered elements present in the camera view, some " +"of them will not be rendered (leading to pop-in during camera movement). " +"Enabling distance fade on lights and decals ([member Light3D." +"distance_fade_enabled], [member Decal.distance_fade_enabled]) can help avoid " +"reaching this limit.\n" +"Decreasing this value may improve GPU performance on certain setups, even if " +"the maximum number of clustered elements is never reached in the project.\n" +"[b]Note:[/b] This setting is only effective when using the Forward+ " +"rendering method, not Mobile and Compatibility." +msgstr "" +"可以在相机视图中一次渲染的集群元素([OmniLight3D] + [SpotLight3D] + [Decal] " +"+ [ReflectionProbe])的最大数量。如果相机视图中存在更多的集群元素,其中一些将" +"不会被渲染(导致在相机移动期间弹出)。在灯光和贴花上启用距离淡入淡出" +"([member Light3D.distance_fade_enabled]、[member Decal." +"distance_fade_enabled])有助于避免达到该限制。\n" +"减小该值可能会提高某些设置的 GPU 性能,即使在项目中从未达到集群元素最大数量也" +"是如此。\n" +"[b]注意:[/b]该设置仅在使用 Forward+ 渲染方式时有效,对 Mobile 和 " +"Compatibility 无效。" + +msgid "" +"Max number of omnilights and spotlights renderable per object. At the " +"default value of 8, this means that each surface can be affected by up to 8 " +"omnilights and 8 spotlights. This is further limited by hardware support and " +"[member rendering/limits/opengl/max_renderable_lights]. Setting this low " +"will slightly reduce memory usage, may decrease shader compile times, and " +"may result in faster rendering on low-end, mobile, or web devices.\n" +"[b]Note:[/b] This setting is only effective when using the Compatibility " +"rendering method, not Forward+ and Mobile." +msgstr "" +"每个对象可渲染的全向灯和聚光灯的最大数量。默认值为 8,这意味着每个表面最多可" +"受到 8 个全向灯和 8 个聚光灯影响。这进一步受到硬件支持和 [member rendering/" +"limits/opengl/max_renderable_lights] 的限制。将该设置得较低会略微减少内存使" +"用,可能会减少着色器编译时间,并可能导致在低端、移动或 Web 设备上的渲染速度更" +"快。\n" +"[b]注意:[/b]该设置仅支持 Compatibility 渲染方式,不支持 Forward+ 和 Mobile。" + +msgid "" +"Max number of elements renderable in a frame. If more elements than this are " +"visible per frame, they will not be drawn. Keep in mind elements refer to " +"mesh surfaces and not meshes themselves. Setting this low will slightly " +"reduce memory usage and may decrease shader compile times, particularly on " +"web. For most uses, the default value is suitable, but consider lowering as " +"much as possible on web export.\n" +"[b]Note:[/b] This setting is only effective when using the Compatibility " +"rendering method, not Forward+ and Mobile." +msgstr "" +"一帧中可渲染的最大元素数。如果每帧可见的元素多于此,则不会绘制它们。请记住," +"元素指的是网格表面,而不是网格本身。将此值设置得较低会略微减少内存使用量,并" +"可能减少着色器编译时间,尤其是在 Web 上。对于大多数用途,默认值是合适的,但" +"在 Web 导出时可考虑尽可能降低。\n" +"[b]注意:[/b]该设置仅在支持 Compatibility 渲染方式,不支持 Forward+ 和 " +"Mobile。" + +msgid "" +"Max number of positional lights renderable in a frame. If more lights than " +"this number are used, they will be ignored. Setting this low will slightly " +"reduce memory usage and may decrease shader compile times, particularly on " +"web. For most uses, the default value is suitable, but consider lowering as " +"much as possible on web export.\n" +"[b]Note:[/b] This setting is only effective when using the Compatibility " +"rendering method, not Forward+ and Mobile." +msgstr "" +"一帧中可渲染的定位灯的最大数量。如果使用的灯多于此数量,则它们将被忽略。将此" +"值设置得较低会略微减少内存使用量,并可能减少着色器编译时间,尤其是在 Web 上。" +"对于大多数用途,默认值是合适的,但在 Web 导出时可考虑尽可能降低。\n" +"[b]注意:[/b]该设置仅在支持 Compatibility 渲染方式,不支持 Forward+ 和 " +"Mobile。" + +msgid "" "Sets the renderer that will be used by the project. Options are:\n" "[b]Forward Plus[/b]: High-end renderer designed for Desktop devices. Has a " "higher base overhead, but scales well with complex scenes. Not suitable for " @@ -48346,6 +60648,27 @@ msgid "Windows override for [member rendering/rendering_device/driver]." msgstr "[member rendering/rendering_device/driver] 在 Windows 的覆盖项。" msgid "" +"Sets the scaling 3D mode. Bilinear scaling renders at different resolution " +"to either undersample or supersample the viewport. FidelityFX Super " +"Resolution 1.0, abbreviated to FSR, is an upscaling technology that produces " +"high quality images at fast framerates by using a spatially-aware upscaling " +"algorithm. FSR is slightly more expensive than bilinear, but it produces " +"significantly higher image quality. On particularly low-end GPUs, the added " +"cost of FSR may not be worth it (compared to using bilinear scaling with a " +"slightly higher resolution scale to match performance).\n" +"[b]Note:[/b] FSR is only effective when using the Forward+ rendering method, " +"not Mobile or Compatibility. If using an incompatible rendering method, FSR " +"will fall back to bilinear scaling." +msgstr "" +"设置缩放 3D 模式。双线性缩放以不同的分辨率渲染,以对视口进行欠采样或超采样。" +"FidelityFX 超分辨率(FidelityFX Super Resolution) 1.0,缩写为 FSR,是一种放" +"大技术,可通过使用一种空间感知放大算法,以快速帧速率生成高质量图像。FSR 比双" +"线性稍微贵一点,但它产生的图像质量明显更高。在特别低端的 GPU 上,FSR 的性价比" +"过低(与使用具有一个稍高分辨率缩放以匹配性能的双线性缩放相比)。\n" +"[b]注意:[/b]FSR 只在使用 Forward+ 渲染方式时有效,对 Mobile 或 " +"Compatibility 无效。如果使用不兼容的渲染方法,FSR 将回退到双线性缩放。" + +msgid "" "If [code]true[/code], uses faster but lower-quality Lambert material " "lighting model instead of Burley." msgstr "" @@ -48353,6 +60676,28 @@ msgstr "" "使用 Burley 模型。" msgid "" +"If [code]true[/code], forces vertex shading for all rendering. This can " +"increase performance a lot, but also reduces quality immensely. Can be used " +"to optimize performance on low-end mobile devices.\n" +"[b]Note:[/b] This setting currently has no effect, as vertex shading is not " +"implemented yet." +msgstr "" +"如果为 [code]true[/code],为所有渲染强制顶点着色。这可以大大提高性能,但也会" +"极大地降低质量。可用于优化低端移动设备的性能。\n" +"[b]注意:[/b]这个设置目前没有效果,因为顶点着色还没有实现。" + +msgid "" +"Lower-end override for [member rendering/shading/overrides/" +"force_vertex_shading] on mobile devices, due to performance concerns or " +"driver support.\n" +"[b]Note:[/b] This setting currently has no effect, as vertex shading is not " +"implemented yet." +msgstr "" +"由于性能问题或驱动程序支持,移动设备上用于 [member rendering/shading/" +"overrides/force_vertex_shading] 的低端覆盖。\n" +"[b]注意:[/b]这个设置目前没有效果,因为顶点着色还没有实现。" + +msgid "" "The filtering quality to use for [Decal] nodes. When using one of the " "anisotropic filtering modes, the anisotropic filtering level is controlled " "by [member rendering/textures/default_filters/anisotropic_filtering_level]." @@ -48413,6 +60758,41 @@ msgid "Interpolates an [Object]'s property over time." msgstr "随时间对 [Object] 的属性进行插值。" msgid "" +"When called, the final value will be used as a relative value instead.\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"var tween = get_tree().create_tween()\n" +"tween.tween_property(self, \"position\", Vector2.RIGHT * 100, 1)." +"as_relative() #the node will move by 100 pixels to the right\n" +"[/codeblock]" +msgstr "" +"调用时,最终值将用作相对值。\n" +"[b]示例:[/b]\n" +"[codeblock]\n" +"var tween = get_tree().create_tween()\n" +"tween.tween_property(self, \"position\", Vector2.RIGHT * 100, 1)." +"as_relative() # 该节点将向右移动 100 个像素\n" +"[/codeblock]" + +msgid "" +"Sets a custom initial value to the [PropertyTweener].\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"var tween = get_tree().create_tween()\n" +"tween.tween_property(self, \"position\", Vector2(200, 100), 1)." +"from(Vector2(100, 100)) #this will move the node from position (100, 100) to " +"(200, 100)\n" +"[/codeblock]" +msgstr "" +"设置该 [PropertyTweener] 的自定义初始值。\n" +"[b]示例:[/b]\n" +"[codeblock]\n" +"var tween = get_tree().create_tween()\n" +"tween.tween_property(self, \"position\", Vector2(200, 100), 1)." +"from(Vector2(100, 100)) # 这会将该节点从位置 (100, 100) 移动到 (200, 100)\n" +"[/codeblock]" + +msgid "" "Makes the [PropertyTweener] use the current property value (i.e. at the time " "of creating this [PropertyTweener]) as a starting point. This is equivalent " "of using [method from] with the current value. These two calls will do the " @@ -48473,9 +60853,27 @@ msgstr "构建一个由给定值定义的四元数。" msgid "Returns the dot product of two quaternions." msgstr "返回两个四元数的点积。" +msgid "Constructs a Quaternion from Euler angles in YXZ rotation order." +msgstr "按 YXZ 旋转顺序从欧拉角构造一个四元数。" + msgid "Returns the inverse of the quaternion." msgstr "返回四元数的取逆。" +msgid "" +"Returns [code]true[/code] if this quaternion and [param to] are " +"approximately equal, by running [method @GlobalScope.is_equal_approx] on " +"each component." +msgstr "" +"如果该四元数和 [param to] 近似相等,则返回 [code]true[/code],判断方法是通过" +"在每个分量上运行 [method @GlobalScope.is_equal_approx]。" + +msgid "" +"Returns [code]true[/code] if this quaternion is finite, by calling [method " +"@GlobalScope.is_finite] on each component." +msgstr "" +"如果该四元数是有限的,则返回 [code]true[/code],判断方法是在每个分量上调用 " +"[method @GlobalScope.is_finite]。" + msgid "Returns whether the quaternion is normalized or not." msgstr "返回四元数是否被归一化。" @@ -48489,6 +60887,26 @@ msgid "Returns a copy of the quaternion, normalized to unit length." msgstr "返回四元数的副本,归一化为单位长度。" msgid "" +"Returns the result of the spherical linear interpolation between this " +"quaternion and [param to] by amount [param weight].\n" +"[b]Note:[/b] Both quaternions must be normalized." +msgstr "" +"返回该四元数与 [param to] 之间的球面线性插值 [param weight] 的结果。\n" +"[b]注意:[/b]两个四元数都必须被归一化。" + +msgid "" +"Performs a spherical cubic interpolation between quaternions [param pre_a], " +"this vector, [param b], and [param post_b], by the given amount [param " +"weight].\n" +"It can perform smoother interpolation than " +"[code]spherical_cubic_interpolate()[/code] by the time values." +msgstr "" +"在四元数 [param pre_a]、该向量、[param b] 和 [param post_b] 之间,按给定量 " +"[param weight] 执行三次球面插值。\n" +"它可以根据时间值执行比 [code]spherical_cubic_interpolate()[/code] 更平滑的插" +"值。" + +msgid "" "W component of the quaternion (real part).\n" "Quaternion components should usually not be manipulated directly." msgstr "" @@ -48525,6 +60943,15 @@ msgstr "" "变换,它不会改变。" msgid "" +"Returns [code]true[/code] if the quaternions are not 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 "" "Multiplies each component of the [Quaternion] by the given value. This " "operation is not meaningful on its own, but it can be used as a part of a " "larger expression." @@ -48540,10 +60967,51 @@ msgstr "" "将该 [Quaternion] 的每个分量除以给定的值。此操作本身没有意义,但可以用作更大" "表达式的一部分。" +msgid "" +"Returns [code]true[/code] if the quaternions 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 "A class for generating pseudo-random numbers." msgstr "用于生成伪随机数的类。" msgid "" +"RandomNumberGenerator is a class for generating pseudo-random numbers. It " +"currently uses [url=https://www.pcg-random.org/]PCG32[/url].\n" +"[b]Note:[/b] The underlying algorithm is an implementation detail. As a " +"result, it should not be depended upon for reproducible random streams " +"across Godot versions.\n" +"To generate a random float number (within a given range) based on a time-" +"dependant seed:\n" +"[codeblock]\n" +"var rng = RandomNumberGenerator.new()\n" +"func _ready():\n" +" var my_random_number = rng.randf_range(-10.0, 10.0)\n" +"[/codeblock]\n" +"[b]Note:[/b] The default values of [member seed] and [member state] " +"properties are pseudo-random, and change when calling [method randomize]. " +"The [code]0[/code] value documented here is a placeholder, and not the " +"actual default seed." +msgstr "" +"RandomNumberGenerator 是一个用于生成伪随机数的类。它目前使用 [url=https://" +"www.pcg-random.org/]PCG32[/url]。\n" +"[b]注意:[/b]底层算法是一个实现细节。因此,跨 Godot 版本的可重现随机流不应依" +"赖于它。\n" +"要根据时间相关种子生成(给定范围内的)随机浮点数:\n" +"[codeblock]\n" +"var rng = RandomNumberGenerator.new()\n" +"func _ready():\n" +" var my_random_number = rng.randf_range(-10.0, 10.0)\n" +"[/codeblock]\n" +"[b]注意:[/b][member seed] 和 [member state] 属性的默认值是伪随机的,在调用 " +"[method randomize] 时会发生变化。此处记录的 [code]0[/code] 值是一个占位符,而" +"不是实际的默认种子。" + +msgid "" "The current state of the random number generator. Save and restore this " "property to restore the generator to a previous state:\n" "[codeblock]\n" @@ -48660,6 +61128,20 @@ msgstr "" "在 [member min_value]、[member max_value]、[member page]、[member step] 改变" "时释放信号。" +msgid "" +"Emitted when [member value] changes. When used on a [Slider], this is called " +"continuously while dragging (potentially every frame). If you are performing " +"an expensive operation in a function connected to [signal value_changed], " +"consider using a [i]debouncing[/i] [Timer] to call the function less often.\n" +"[b]Note:[/b] Unlike signals such as [signal LineEdit.text_changed], [signal " +"value_changed] is also emitted when [param value] is set directly via code." +msgstr "" +"[member value] 更改时发出。在 [Slider] 上使用时,会在拖动时连续调用(可能是每" +"一帧)。如果在连接到 [signal value_changed] 的函数中执行昂贵的操作,请考虑使" +"用[i]去除抖动[/i] [Timer] 来减少调用该函数的频率。\n" +"[b]注意:[/b]与 [signal LineEdit.text_changed] 等信号不同,当直接通过代码设" +"置 [param value] 时,[signal value_changed] 仍会发出。" + msgid "Query the closest object intersecting a ray." msgstr "查询与射线相交的最近物体。" @@ -48680,6 +61162,14 @@ msgstr "" "(即 [method is_colliding] 返回 [code]false[/code])。" msgid "" +"Returns the [RID] of the first object that the ray intersects, or an empty " +"[RID] if no object is intersecting the ray (i.e. [method is_colliding] " +"returns [code]false[/code])." +msgstr "" +"返回该射线相交的第一个对象的 [RID],如果没有对象与该射线相交,则返回空 [RID]" +"(即 [method is_colliding] 返回 [code]false[/code])。" + +msgid "" "Returns the shape ID of the first object that the ray intersects, or " "[code]0[/code] if no object is intersecting the ray (i.e. [method " "is_colliding] returns [code]false[/code])." @@ -48779,6 +61269,41 @@ msgid "" "Returns [code]true[/code] if this [Rect2] completely encloses another one." msgstr "如果此 [Rect2] 完全包含另一个,则返回 [code]true[/code]。" +msgid "" +"Returns a copy of this [Rect2] expanded to include a given point.\n" +"[b]Example:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"# position (-3, 2), size (1, 1)\n" +"var rect = Rect2(Vector2(-3, 2), Vector2(1, 1))\n" +"# position (-3, -1), size (3, 4), so we fit both rect and Vector2(0, -1)\n" +"var rect2 = rect.expand(Vector2(0, -1))\n" +"[/gdscript]\n" +"[csharp]\n" +"// position (-3, 2), size (1, 1)\n" +"var rect = new Rect2(new Vector2(-3, 2), new Vector2(1, 1));\n" +"// position (-3, -1), size (3, 4), so we fit both rect and Vector2(0, -1)\n" +"var rect2 = rect.Expand(new Vector2(0, -1));\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"返回该 [Rect2] 的副本,该副本扩展至包含给定点。\n" +"[b]示例:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"# 位置 (-3, 2),大小 (1, 1)\n" +"var rect = Rect2(Vector2(-3, 2), Vector2(1, 1))\n" +"# 位置 (-3, -1),大小 (3, 4),所以我们同时适配 rect 和 Vector2(0, -1)\n" +"var rect2 = rect.expand(Vector2(0, -1))\n" +"[/gdscript]\n" +"[csharp]\n" +"// 位置 (-3, 2),大小 (1, 1)\n" +"var rect = new Rect2(new Vector2(-3, 2), new Vector2(1, 1));\n" +"// 位置 (-3, -1),大小 (3, 4),所以我们同时适配 rect 和 Vector2(0, -1)\n" +"var rect2 = rect.Expand(new Vector2(0, -1));\n" +"[/csharp]\n" +"[/codeblocks]" + msgid "Returns the area of the [Rect2]. See also [method has_area]." msgstr "返回该 [Rect2] 的面积。另请参阅 [method has_area]。" @@ -48809,6 +61334,49 @@ msgstr "" "[b]注意:[/b]对于[i]大小为负[/i]的 [Rect2],该方法并不可靠。请使用 [method " "abs] 获取等价的正数大小矩形再检查是否包含某个点。" +msgid "" +"Returns [code]true[/code] if the [Rect2] overlaps with [code]b[/code] (i.e. " +"they have at least one point in common).\n" +"If [param include_borders] is [code]true[/code], they will also be " +"considered overlapping if their borders touch, even without intersection." +msgstr "" +"如果该 [Rect2] 与 [code]b[/code] 重叠(即它们至少有一个共同点),则返回 " +"[code]true[/code]。\n" +"如果 [param include_borders] 为 [code]true[/code],如果它们的边界接触,即使没" +"有交点,它们也将被视为重叠。" + +msgid "" +"Returns [code]true[/code] if this [Rect2] and [param rect] are approximately " +"equal, by calling [code]is_equal_approx[/code] on each component." +msgstr "" +"如果该 [Rect2] 和 [param rect] 近似相等,则返回 [code]true[/code],判断方法是" +"通过在每个分量上调用 [code]is_equal_approx[/code]。" + +msgid "" +"Returns [code]true[/code] if this [Rect2] is finite, by calling [method " +"@GlobalScope.is_finite] on each component." +msgstr "" +"如果该 [Rect2] 是有限的,则返回 [code]true[/code],判断方法是在每个分量上调" +"用 [method @GlobalScope.is_finite]。" + +msgid "" +"Returns [code]true[/code] if the rectangles are not 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 "" +"Returns [code]true[/code] if the rectangles 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 "Constructs a [Rect2i] as a copy of the given [Rect2i]." msgstr "构造给定 [Rect2i] 的副本。" @@ -48823,6 +61391,40 @@ msgstr "按位置和大小构造 [Rect2i]。" msgid "Constructs a [Rect2i] by x, y, width, and height." msgstr "按 x、y、宽度和高度构造 [Rect2i]。" +msgid "" +"Returns a copy of this [Rect2i] expanded so that the borders align with the " +"given point.\n" +"[codeblocks]\n" +"[gdscript]\n" +"# position (-3, 2), size (1, 1)\n" +"var rect = Rect2i(Vector2i(-3, 2), Vector2i(1, 1))\n" +"# position (-3, -1), size (3, 4), so we fit both rect and Vector2i(0, -1)\n" +"var rect2 = rect.expand(Vector2i(0, -1))\n" +"[/gdscript]\n" +"[csharp]\n" +"// position (-3, 2), size (1, 1)\n" +"var rect = new Rect2I(new Vector2I(-3, 2), new Vector2I(1, 1));\n" +"// position (-3, -1), size (3, 4), so we fit both rect and Vector2I(0, -1)\n" +"var rect2 = rect.Expand(new Vector2I(0, -1));\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"返回该 [Rect2i] 的副本,该副本扩展至包含给定点。\n" +"[codeblocks]\n" +"[gdscript]\n" +"# 位置 (-3, 2),大小 (1, 1)\n" +"var rect = Rect2i(Vector2i(-3, 2), Vector2i(1, 1))\n" +"# 位置 (-3, -1),大小 (3, 4),所以我们同时适配 rect 和 Vector2i(0, -1)\n" +"var rect2 = rect.expand(Vector2i(0, -1))\n" +"[/gdscript]\n" +"[csharp]\n" +"// 位置 (-3, 2),大小 (1, 1)\n" +"var rect = new Rect2I(new Vector2I(-3, 2), new Vector2I(1, 1));\n" +"// 位置 (-3, -1),大小 (3, 4),所以我们同时适配 rect 和 Vector2i(0, -1)\n" +"var rect2 = rect.Expand(new Vector2I(0, -1));\n" +"[/csharp]\n" +"[/codeblocks]" + msgid "Returns the area of the [Rect2i]. See also [method has_area]." msgstr "返回该 [Rect2i] 的面积。另请参阅 [method has_area]。" @@ -48922,6 +61524,58 @@ msgid "" msgstr "捕捉某个位置周围的环境,用于快速创建准确的反射。" msgid "" +"Captures its surroundings as a cubemap, and stores versions of it with " +"increasing levels of blur to simulate different material roughnesses.\n" +"The [ReflectionProbe] is used to create high-quality reflections at a low " +"performance cost (when [member update_mode] is [constant UPDATE_ONCE]). " +"[ReflectionProbe]s can be blended together and with the rest of the scene " +"smoothly. [ReflectionProbe]s can also be combined with [VoxelGI], SDFGI " +"([member Environment.sdfgi_enabled]) and screen-space reflections ([member " +"Environment.ssr_enabled]) to get more accurate reflections in specific " +"areas. [ReflectionProbe]s render all objects within their [member " +"cull_mask], so updating them can be quite expensive. It is best to update " +"them once with the important static objects and then leave them as-is.\n" +"[b]Note:[/b] Unlike [VoxelGI] and SDFGI, [ReflectionProbe]s only source " +"their environment from a [WorldEnvironment] node. If you specify an " +"[Environment] resource within a [Camera3D] node, it will be ignored by the " +"[ReflectionProbe]. This can lead to incorrect lighting within the " +"[ReflectionProbe].\n" +"[b]Note:[/b] Reflection probes are only supported in the Forward+ and Mobile " +"rendering methods, not Compatibility. When using the Mobile rendering " +"method, only 8 reflection probes can be displayed on each mesh resource. " +"Attempting to display more than 8 reflection probes on a single mesh " +"resource will result in reflection probes flickering in and out as the " +"camera moves.\n" +"[b]Note:[/b] When using the Mobile rendering method, reflection probes will " +"only correctly affect meshes whose visibility AABB intersects with the " +"reflection probe'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 reflection probe may not be " +"visible on the mesh." +msgstr "" +"将其周围环境捕捉为立方体贴图,并存储不同版本,其模糊级别递增以模拟不同的材质" +"粗糙度。\n" +"[ReflectionProbe] 用于以低性能成本(当 [member update_mode] 为 [constant " +"UPDATE_ONCE] 时),创建高质量反射。[ReflectionProbe] 可以与场景的其余部分,平" +"滑地混合在一起。[ReflectionProbe] 还可以与 [VoxelGI]、SDFGI([member " +"Environment.sdfgi_enabled])和屏幕空间反射([member Environment." +"ssr_enabled])结合使用,以在特定区域获得更准确的反射。[ReflectionProbe] 渲染" +"其 [member cull_mask] 内的所有对象,因此更新它们可能会非常昂贵。最好仅用重要" +"的静态对象更新一次,然后保持原样。\n" +"[b]注意:[/b]与 [VoxelGI] 和 SDFGI 不同,[ReflectionProbe] 仅从一个 " +"[WorldEnvironment] 节点获取环境。如果您在一个 [Camera3D] 节点中指定了一个 " +"[Environment] 资源,它将被该 [ReflectionProbe] 忽略。这可能会导致 " +"[ReflectionProbe] 内的照明不正确。\n" +"[b]注意:[/b]反射探针仅支持 Forward+ 和 Mobile 渲染方法,不支持 " +"Compatibility。使用移动渲染方法时,每个网格资源上最多只能显示 8 个反射探针。" +"尝试在单个网格资源上显示 8 个以上的反射探针,将导致反射探针随着相机移动而闪" +"烁。\n" +"[b]注意:[/b]当使用移动渲染方法时,反射探针只会正确地影响可见 AABB 与反射探针" +"的 AABB 相交的网格。如果使用着色器以使网格超出其 AABB 的方式变形该网格,则必" +"须在网格上增加 [member GeometryInstance3D.extra_cull_margin]。否则,反射探针" +"可能在网格上不可见。" + +msgid "" "If [code]true[/code], enables box projection. This makes reflections look " "more correct in rectangle-shaped rooms by offsetting the reflection center " "depending on the camera's location.\n" @@ -49015,6 +61669,68 @@ msgstr "返回被编译的原始搜索模式。" msgid "Returns whether this object has a valid search pattern assigned." msgstr "返回此对象是否分配了有效的搜索模式。" +msgid "" +"Searches the text for the compiled pattern. Returns a [RegExMatch] container " +"of the first matching result if found, otherwise [code]null[/code].\n" +"The region to search within can be specified with [param offset] and [param " +"end]. This is useful when searching for another match in the same [param " +"subject] by calling this method again after a previous success. Note that " +"setting these parameters differs from passing over a shortened string. For " +"example, the start anchor [code]^[/code] is not affected by [param offset], " +"and the character before [param offset] will be checked for the word " +"boundary [code]\\b[/code]." +msgstr "" +"在文本中搜索编译后的模式。如果找到,则将首个匹配结果放在 [RegExMatch] 容器中" +"返回,否则返回 [code]null[/code]。\n" +"可以使用 [param offset] 和 [param end] 指定要搜索的区域。这对在上一次成功后再" +"次调用该方法,以相同的 [param subject] 搜索另一个匹配项时很有用。请注意,设置" +"这些参数不同于传递缩短后的字符串。例如,起始锚点 [code]^[/code] 不受 [param " +"offset] 的影响,会为单词边界 [code]\\b[/code] 检查 [param offset] 之前的字" +"符。" + +msgid "" +"Searches the text for the compiled pattern. Returns an array of [RegExMatch] " +"containers for each non-overlapping result. If no results were found, an " +"empty array is returned instead.\n" +"The region to search within can be specified with [param offset] and [param " +"end]. This is useful when searching for another match in the same [param " +"subject] by calling this method again after a previous success. Note that " +"setting these parameters differs from passing over a shortened string. For " +"example, the start anchor [code]^[/code] is not affected by [param offset], " +"and the character before [param offset] will be checked for the word " +"boundary [code]\\b[/code]." +msgstr "" +"在文本中搜索编译后的模式。返回 [RegExMatch] 容器的数组,其中每个容器包含的是" +"互不重叠的匹配结果。如果没有找到结果,则返回一个空数组。\n" +"可以使用 [param offset] 和 [param end] 指定要搜索的区域。这对在上一次成功后再" +"次调用该方法,以相同的 [param subject] 搜索另一个匹配项时很有用。请注意,设置" +"这些参数不同于传递缩短后的字符串。例如,起始锚点 [code]^[/code] 不受 [param " +"offset] 的影响,会为单词边界 [code]\\b[/code] 检查 [param offset] 之前的字" +"符。" + +msgid "" +"Searches the text for the compiled pattern and replaces it with the " +"specified string. Escapes and backreferences such as [code]$1[/code] and " +"[code]$name[/code] are expanded and resolved. By default, only the first " +"instance is replaced, but it can be changed for all instances (global " +"replacement).\n" +"The region to search within can be specified with [param offset] and [param " +"end]. This is useful when searching for another match in the same [param " +"subject] by calling this method again after a previous success. Note that " +"setting these parameters differs from passing over a shortened string. For " +"example, the start anchor [code]^[/code] is not affected by [param offset], " +"and the character before [param offset] will be checked for the word " +"boundary [code]\\b[/code]." +msgstr "" +"在文本中搜索编译后的模式,并将其替换为指定的字符串。诸如 [code]$1[/code] 和 " +"[code]$name[/code] 等转义和反向引用会被扩展和解析。默认情况下,只有第一个实例" +"被替换,但可以修改为针对所有实例(全局替换)。\n" +"可以使用 [param offset] 和 [param end] 指定要搜索的区域。这对在上一次成功后再" +"次调用该方法,以相同的 [param subject] 搜索另一个匹配项时很有用。请注意,设置" +"这些参数不同于传递缩短后的字符串。例如,起始锚点 [code]^[/code] 不受 [param " +"offset] 的影响,会为单词边界 [code]\\b[/code] 检查 [param offset] 之前的字" +"符。" + msgid "Contains the results of a [RegEx] search." msgstr "包含 [RegEx] 搜索的结果。" @@ -49212,10 +61928,117 @@ msgstr "返回格式 ID 的函数会在值无效时返回此值。" msgid "Server for anything visible." msgstr "任何可见的东西的服务器。" +msgid "" +"The rendering server is the API backend for everything visible. The whole " +"scene system mounts on it to display.\n" +"The rendering server is completely opaque, the internals are entirely " +"implementation specific and cannot be accessed.\n" +"The rendering server can be used to bypass the scene/[Node] system " +"entirely.\n" +"Resources are created using the [code]*_create[/code] functions. These " +"functions return [RID]s which are not references to the objects themselves, " +"but opaque [i]pointers[/i] towards these objects.\n" +"All objects are drawn to a viewport. You can use the [Viewport] attached to " +"the [SceneTree] or you can create one yourself with [method " +"viewport_create]. When using a custom scenario or canvas, the scenario or " +"canvas needs to be attached to the viewport using [method " +"viewport_set_scenario] or [method viewport_attach_canvas].\n" +"In 3D, all visual objects must be associated with a scenario. The scenario " +"is a visual representation of the world. If accessing the rendering server " +"from a running game, the scenario can be accessed from the scene tree from " +"any [Node3D] node with [method Node3D.get_world_3d]. Otherwise, a scenario " +"can be created with [method scenario_create].\n" +"Similarly, in 2D, a canvas is needed to draw all canvas items.\n" +"In 3D, all visible objects are comprised of a resource and an instance. A " +"resource can be a mesh, a particle system, a light, or any other 3D object. " +"In order to be visible resources must be attached to an instance using " +"[method instance_set_base]. The instance must also be attached to the " +"scenario using [method instance_set_scenario] in order to be visible.\n" +"In 2D, all visible objects are some form of canvas item. In order to be " +"visible, a canvas item needs to be the child of a canvas attached to a " +"viewport, or it needs to be the child of another canvas item that is " +"eventually attached to the canvas.\n" +"[b]Headless mode:[/b] Starting the engine with the [code]--headless[/code] " +"[url=$DOCS_URL/tutorials/editor/command_line_tutorial.html]command line " +"argument[/url] disables all rendering and window management functions. Most " +"functions from [RenderingServer] will return dummy values in this case." +msgstr "" +"渲染服务是所有可见内容的 API 后端。整个场景系统挂载在它上面来显示。\n" +"渲染服务是完全不透明的,其内部完全是特定于实现的,无法访问。\n" +"渲染服务可用于完全绕过场景/[Node] 系统。\n" +"资源是使用 [code]*_create[/code] 函数创建的。这些函数返回的 [RID] 不是对对象" +"本身的引用,而是指向这些对象的不透明[i]指针[/i]。\n" +"所有对象都被绘制到视口。可以使用附加到 [SceneTree] 的 [Viewport],或者可以使" +"用 [method viewport_create] 自己创建一个。使用自定义场景或画布时,需要使用 " +"[method viewport_set_scenario] 或 [method viewport_attach_canvas] 将场景或画" +"布附加到视口。\n" +"在 3D 中,所有视觉对象都必须与一个场景相关联。场景是世界的一个视觉表示。如果" +"从一个正在运行的游戏访问渲染服务,则可以使用 [method Node3D.get_world_3d] 从" +"任何 [Node3D] 节点的场景树访问场景。此外,可以使用 [method scenario_create] " +"创建一个场景。\n" +"相类似地,在2D中,需要一个画布来绘制所有的画布项。\n" +"在 3D 中,所有可见对象都由资源和实例组成。资源可以是网格、粒子系统、灯光或任" +"何其他 3D 对象。为了使资源可见,必须使用 [method instance_set_base] 将其附加" +"到一个实例。该实例还必须使用 [method instance_set_scenario] 附加到场景中才能" +"可见。\n" +"在 2D 中,所有可见对象都是某种形式的画布项。为了使一个画布项可见,它需要是附" +"加到视口的画布的子项,或者它需要是最终附加到画布的另一个画布项的子项。\n" +"[b]无头模式:[/b]使用 [code]--headless[/code] [url=$DOCS_URL/tutorials/" +"editor/command_line_tutorial.html]命令行参数[/url]启动引擎,将禁用所有渲染和" +"窗口管理功能。在这种情况下,来自 [RenderingServer] 的大多数函数将返回虚拟值。" + msgid "Optimization using Servers" msgstr "使用服务器进行优化" msgid "" +"Bakes the material data of the Mesh passed in the [param base] parameter " +"with optional [param material_overrides] to a set of [Image]s of size [param " +"image_size]. Returns an array of [Image]s containing material properties as " +"specified in [enum BakeChannels]." +msgstr "" +"使用可选的 [param material_overrides],将 [param base] 参数中传递的 Mesh 的材" +"质数据,烘焙为一组大小为 [param image_size] 的 [Image]。返回包含 [enum " +"BakeChannels] 中指定的材质属性的 [Image] 数组。" + +msgid "" +"Sets the parameters to use with the auto-exposure effect. These parameters " +"take on the same meaning as their counterparts in [CameraAttributes] and " +"[CameraAttributesPractical]." +msgstr "" +"设置用于自动曝光效果的参数。这些参数与 [CameraAttributes] 和 " +"[CameraAttributesPractical] 中的对应参数具有相同的含义。" + +msgid "" +"Sets the parameters to use with the DOF blur effect. These parameters take " +"on the same meaning as their counterparts in [CameraAttributesPractical]." +msgstr "" +"设置用于 DOF 模糊效果的参数。这些参数与 [CameraAttributesPractical] 中的对应" +"参数具有相同的含义。" + +msgid "" +"Sets the shape of the DOF bokeh pattern. Different shapes may be used to " +"achieve artistic effect, or to meet performance targets. For more detail on " +"available options see [enum DOFBokehShape]." +msgstr "" +"设置 DOF 散景图案的形状。可以使用不同的形状来达到艺术效果,或达到性能目标。有" +"关可用选项的更多详细信息,请参阅 [enum DOFBokehShape]。" + +msgid "" +"Sets the quality level of the DOF blur effect to one of the options in [enum " +"DOFBlurQuality]. [param use_jitter] can be used to jitter samples taken " +"during the blur pass to hide artifacts at the cost of looking more fuzzy." +msgstr "" +"将 DOF 模糊效果的质量级别设置为 [enum DOFBlurQuality] 中的选项之一。[param " +"use_jitter] 可用于抖动模糊过程中采集的样本,以隐藏伪影,代价是看起来更模糊。" + +msgid "" +"Sets the camera_attributes created with [method camera_attributes_create] to " +"the given camera." +msgstr "" +"将使用 [method camera_attributes_create] 创建的 camera_attributes 设置给给定" +"的相机。" + +msgid "" "Sets camera to use orthogonal projection, also known as orthographic " "projection. Objects remain the same size on the screen no matter how far " "away they are." @@ -49231,9 +62054,85 @@ msgstr "将相机设置为使用透视投影。屏幕上的物体在远处时变 msgid "Sets [Transform3D] of camera." msgstr "设置相机的 [Transform3D]。" +msgid "" +"Draws a circle on the [CanvasItem] pointed to by the [param item] [RID]. See " +"also [method CanvasItem.draw_circle]." +msgstr "" +"在 [param item] [RID] 指向的 [CanvasItem] 上绘制一个圆圈。另见 [method " +"CanvasItem.draw_circle]。" + +msgid "" +"If [param ignore] is [code]true[/code], ignore clipping on items drawn with " +"this canvas item until this is called again with [param ignore] set to false." +msgstr "" +"如果 [param ignore] 为 [code]true[/code],则忽略使用该画布项绘制的项目的裁" +"剪,直到将 [param ignore] 设置为 false 时再次调用。" + msgid "See also [method CanvasItem.draw_lcd_texture_rect_region]." msgstr "另见 [method CanvasItem.draw_lcd_texture_rect_region]。" +msgid "" +"Draws a line on the [CanvasItem] pointed to by the [param item] [RID]. See " +"also [method CanvasItem.draw_line]." +msgstr "" +"在 [param item] [RID] 指向的 [CanvasItem] 上画一条线。另见 [method " +"CanvasItem.draw_line]。" + +msgid "" +"Draws a mesh created with [method mesh_create] with given [param transform], " +"[param modulate] color, and [param texture]. This is used internally by " +"[MeshInstance2D]." +msgstr "" +"使用给定的 [param transform]、[param modulate] 颜色、和 [param texture] 绘制" +"使用 [method mesh_create] 创建的网格。这由 [MeshInstance2D] 内部使用。" + +msgid "See also [method CanvasItem.draw_msdf_texture_rect_region]." +msgstr "另见 [method CanvasItem.draw_msdf_texture_rect_region]。" + +msgid "" +"Draws a 2D [MultiMesh] on the [CanvasItem] pointed to by the [param item] " +"[RID]. See also [method CanvasItem.draw_multimesh]." +msgstr "" +"在 [param item] [RID] 指向的 [CanvasItem] 上,绘制一个 2D [MultiMesh]。另见 " +"[method CanvasItem.draw_multimesh]。" + +msgid "" +"Draws a nine-patch rectangle on the [CanvasItem] pointed to by the [param " +"item] [RID]." +msgstr "在 [param item] [RID] 指向的 [CanvasItem] 上,绘制一个九宫格矩形。" + +msgid "" +"Draws particles on the [CanvasItem] pointed to by the [param item] [RID]." +msgstr "在 [param item] [RID] 指向的 [CanvasItem] 上绘制粒子。" + +msgid "" +"Draws a 2D polygon on the [CanvasItem] pointed to by the [param item] [RID]. " +"See also [method CanvasItem.draw_polygon]." +msgstr "" +"在 [param item] [RID] 指向的 [CanvasItem] 上绘制一个二维多边形。另见 [method " +"CanvasItem.draw_polygon]。" + +msgid "" +"Draws a 2D polyline on the [CanvasItem] pointed to by the [param item] " +"[RID]. See also [method CanvasItem.draw_polyline]." +msgstr "" +"在 [param item] [RID] 指向的 [CanvasItem] 上绘制一个 2D 折线。另见 [method " +"CanvasItem.draw_polyline]。" + +msgid "" +"Draws a 2D primitive on the [CanvasItem] pointed to by the [param item] " +"[RID]. See also [method CanvasItem.draw_primitive]." +msgstr "" +"在 [param item] [RID] 指向的 [CanvasItem] 上绘制一个 2D 图元。另见 [method " +"CanvasItem.draw_primitive]。" + +msgid "" +"Draws a rectangle on the [CanvasItem] pointed to by the [param item] [RID]. " +"See also [method CanvasItem.draw_rect]." +msgstr "" +"在 [param item] [RID] 指向的 [CanvasItem] 上绘制一个矩形。另见 [method " +"CanvasItem.draw_rect]。" + msgid "Clears the [CanvasItem] and removes all commands in it." msgstr "清除[CanvasItem]并删除其中的所有命令。" @@ -49410,6 +62309,19 @@ msgid "Returns the ID of the test texture. Creates one if none exists." msgstr "返回测试纹理的 ID。如果不存在,则会创建一个。" msgid "" +"Returns the version of the graphics video adapter [i]currently in use[/i] (e." +"g. \"1.2.189\" for Vulkan, \"3.3.0 NVIDIA 510.60.02\" for OpenGL). This " +"version may be different from the actual latest version supported by the " +"hardware, as Godot may not always request the latest version.\n" +"[b]Note:[/b] When running a headless or server binary, this function returns " +"an empty string." +msgstr "" +"返回[i]当前使用的[/i]图形视频适配器的版本(例如,Vulkan 为“1.2.189”,OpenGL " +"为“3.3.0 NVIDIA 510.60.02”)。该版本可能与硬件支持的实际最新版本不同,因为 " +"Godot 可能并不总是要求最新版本。\n" +"[b]注意:[/b]当运行无头或服务器可执行文件时,该函数返回一个空字符串。" + +msgid "" "Returns the name of the video adapter (e.g. \"GeForce GTX 1080/PCIe/" "SSE2\").\n" "[b]Note:[/b] When running a headless or server binary, this function returns " @@ -49593,6 +62505,22 @@ msgstr "" "设置在给定时间内可见的实例的数量。如果是 -1,所有被分配的实例都会被画出来。相" "当于 [member MultiMesh.visible_instance_count]。" +msgid "" +"Creates a new omni light and adds it to the RenderingServer. It can be " +"accessed with the RID that is returned. This RID can be used in most " +"[code]light_*[/code] RenderingServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingServer's [method free_rid] static method.\n" +"To place in a scene, attach this omni light to an instance using [method " +"instance_set_base] using the returned RID." +msgstr "" +"创建一个新的全向灯并将其添加到 RenderingServer。可以使用返回的 RID 访问它。" +"该 RID 可用于大多数 [code]light_*[/code] RenderingServer 函数。\n" +"一旦使用 RID 完成操作后,需要使用 RenderingServer 的静态方法 [method " +"free_rid] 来释放该 RID。\n" +"要放置在场景中,请使用 [method instance_set_base] 使用该返回的 RID 将该全向灯" +"附加到一个实例。" + msgid "Returns [code]true[/code] if particles are currently set to emitting." msgstr "如果当前粒子被设置发射,则返回 [code]true[/code]。" @@ -49675,6 +62603,18 @@ msgstr "" "提供一个默认环境。" msgid "" +"Sets a boot image. The color defines the background color. If [param scale] " +"is [code]true[/code], the image will be scaled to fit the screen size. If " +"[param use_filter] is [code]true[/code], the image will be scaled with " +"linear interpolation. If [param use_filter] is [code]false[/code], the image " +"will be scaled with nearest-neighbor interpolation." +msgstr "" +"设置一个启动图像。颜色定义背景颜色。如果 [param scale] 为 [code]true[/code]," +"则该图像将被缩放以适应屏幕大小。如果 [param use_filter] 为 [code]true[/" +"code],则该图像将使用线性插值的方式进行缩放。如果 [param use_filter] 为 " +"[code]false[/code],则该图像将使用最近邻插值的方式进行缩放。" + +msgid "" "If [code]true[/code], the engine will generate wireframes for use with the " "wireframe debug mode." msgstr "如果为 [code]true[/code],引擎将生成用于线框调试模式的线框。" @@ -49687,6 +62627,14 @@ msgstr "设置未选择特定透明色时使用的默认透明色。" msgid "Returns a shader's code." msgstr "返回着色器的代码。" +msgid "" +"Sets a shader's default texture. Overwrites the texture given by name.\n" +"[b]Note:[/b] If the sampler array is used use [param index] to access the " +"specified texture." +msgstr "" +"设置着色器的默认纹理。覆盖给定名称的纹理。\n" +"[b]注意:[/b]使用采样器数组时,使用 [param index] 访问指定的纹理。" + msgid "Returns the [Transform3D] set for a specific bone of this skeleton." msgstr "返回该骨架中指定骨骼的 [Transform3D]。" @@ -49708,6 +62656,45 @@ msgstr "设置视图的相机。" msgid "Sets a viewport's canvas." msgstr "设置视口的画布。" +msgid "" +"Copies the viewport to a region of the screen specified by [param rect]. If " +"[method viewport_set_render_direct_to_screen] is [code]true[/code], then the " +"viewport does not use a framebuffer and the contents of the viewport are " +"rendered directly to screen. However, note that the root viewport is drawn " +"last, therefore it will draw over the screen. Accordingly, you must set the " +"root viewport to an area that does not cover the area that you have attached " +"this viewport to.\n" +"For example, you can set the root viewport to not render at all with the " +"following code:\n" +"FIXME: The method seems to be non-existent.\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _ready():\n" +" get_viewport().set_attach_to_screen_rect(Rect2())\n" +" $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))\n" +"[/gdscript]\n" +"[/codeblocks]\n" +"Using this can result in significant optimization, especially on lower-end " +"devices. However, it comes at the cost of having to manage your viewports " +"manually. For further optimization, see [method " +"viewport_set_render_direct_to_screen]." +msgstr "" +"将该视口复制到 [param rect] 指定的屏幕区域。如果 [method " +"viewport_set_render_direct_to_screen] 为 [code]true[/code],则视口不使用帧缓" +"冲区,视口的内容将直接渲染到屏幕。但是,请注意根视口是最后绘制的,因此它会覆" +"盖屏幕。相应地,必须将根视口的区域设置为不覆盖附加该视口的区域。\n" +"例如,可以使用以下代码将根视口设置为完全不渲染:\n" +"FIXME:该方法似乎不存在。\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _ready():\n" +" get_viewport().set_attach_to_screen_rect(Rect2())\n" +" $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))\n" +"[/gdscript]\n" +"[/codeblocks]\n" +"使用它可以带来显著的优化,尤其是在低端设备上。但是,这是以必须手动管理视口为" +"代价的。进一步优化请参见 [method viewport_set_render_direct_to_screen]。" + msgid "Returns the viewport's last rendered frame." msgstr "返回视口的最后渲染帧。" @@ -49733,6 +62720,22 @@ msgstr "设置视口的调试绘图模式。可选项见 [enum ViewportDebugDraw msgid "If [code]true[/code], the viewport's canvas is not rendered." msgstr "如果为 [code]true[/code],则不渲染视口的画布。" +msgid "" +"Sets the viewport's environment mode which allows enabling or disabling " +"rendering of 3D environment over 2D canvas. When disabled, 2D will not be " +"affected by the environment. When enabled, 2D will be affected by the " +"environment if the environment background mode is [constant ENV_BG_CANVAS]. " +"The default behavior is to inherit the setting from the viewport's parent. " +"If the topmost parent is also set to [constant " +"VIEWPORT_ENVIRONMENT_INHERIT], then the behavior will be the same as if it " +"was set to [constant VIEWPORT_ENVIRONMENT_ENABLED]." +msgstr "" +"设置视口的环境模式,该模式允许启用或禁用 2D 画布上的 3D 环境渲染。禁用时,2D " +"将不受环境影响。启用时,如果环境背景模式为 [constant ENV_BG_CANVAS],则 2D 会" +"受到环境的影响。默认行为是从视口的父级继承设置。如果最顶层的父级也被设置为 " +"[constant VIEWPORT_ENVIRONMENT_INHERIT],则该行为将与设置为 [constant " +"VIEWPORT_ENVIRONMENT_ENABLED] 时相同。" + msgid "Sets the viewport's global transformation matrix." msgstr "设置视口的全局变换矩阵。" @@ -49742,6 +62745,39 @@ msgstr "设置视口的父视口到另一个视口。" msgid "Sets the shadow atlas quadrant's subdivision." msgstr "设置阴影图集象限的细分。" +msgid "" +"Sets the size of the shadow atlas's images (used for omni and spot lights). " +"The value will be rounded up to the nearest power of 2.\n" +"[b]Note:[/b] If this is set to [code]0[/code], no shadows will be visible at " +"all (including directional shadows)." +msgstr "" +"设置阴影图集图像的大小(用于全向灯和聚光灯)。该值将向上舍入到最接近的 2 次" +"幂。\n" +"[b]注意:[/b]如果被设置为 [code]0[/code],将根本看不到任何阴影(包括定向阴" +"影)。" + +msgid "" +"If [code]true[/code], render the contents of the viewport directly to " +"screen. This allows a low-level optimization where you can skip drawing a " +"viewport to the root viewport. While this optimization can result in a " +"significant increase in speed (especially on older devices), it comes at a " +"cost of usability. When this is enabled, you cannot read from the viewport " +"or from the screen_texture. You also lose the benefit of certain window " +"settings, such as the various stretch modes. Another consequence to be aware " +"of is that in 2D the rendering happens in window coordinates, so if you have " +"a viewport that is double the size of the window, and you set this, then " +"only the portion that fits within the window will be drawn, no automatic " +"scaling is possible, even if your game scene is significantly larger than " +"the window size." +msgstr "" +"如果为 [code]true[/code],则将视口的内容直接渲染到屏幕。这允许一个低级别的优" +"化,可以跳过将视口绘制到根视口。虽然这种优化可以显著提高速度(尤其是在旧设备" +"上),但它是以可用性为代价的。启用后,无法从视口或 screen_texture 读取。而且" +"还会失去某些窗口设置的好处,例如各种拉伸模式。另一个需要注意的后果是,在 2D " +"中,渲染是以窗口坐标进行的,所以如果有一个两倍于窗口大小的视口,并且设置了这" +"个属性,那么只会绘制适合窗口的部分, 无法自动缩放,即使游戏场景明显大于窗口大" +"小。" + msgid "Sets the viewport's width and height." msgstr "设置视口的宽度和高度。" @@ -49922,6 +62958,11 @@ msgstr "灯光对镜面反射的影响。" msgid "The light's range." msgstr "灯光的范围。" +msgid "" +"The size of the light when using spot light or omni light. The angular size " +"of the light when using directional light." +msgstr "使用聚光灯或全向灯时的灯光大小。使用定向光时是光的角度大小。" + msgid "The light's attenuation." msgstr "光线的衰减。" @@ -50028,6 +63069,14 @@ msgstr "禁用在 2D 画布上渲染 3D 环境。" msgid "Enable rendering of 3D environment over 2D canvas." msgstr "启用在 2D 画布上渲染 3D 环境。" +msgid "" +"Inherit enable/disable value from parent. If topmost parent is also set to " +"inherit, then this has the same behavior as [constant " +"VIEWPORT_ENVIRONMENT_ENABLED]." +msgstr "" +"从父级继承启用/禁用值。如果最顶层的父级也被设置为继承,那么这与 [constant " +"VIEWPORT_ENVIRONMENT_ENABLED] 具有相同的行为。" + msgid "Max value of [enum ViewportEnvironmentMode] enum." msgstr "[enum ViewportEnvironmentMode] 枚举的最大值。" @@ -50234,6 +63283,48 @@ msgid "" "Only render the shadows from the object. The object itself will not be drawn." msgstr "仅渲染对象的阴影。对象本身不会被绘制。" +msgid "" +"Index of [Image] in array of [Image]s returned by [method bake_render_uv2]. " +"Image uses [constant Image.FORMAT_RGBA8] and contains albedo color in the " +"[code].rgb[/code] channels and alpha in the [code].a[/code] channel." +msgstr "" +"[method bake_render_uv2] 返回的 [Image] 数组中 [Image] 的索引。图像使用 " +"[constant Image.FORMAT_RGBA8] 格式,并在 [code].rgb[/code] 通道中包含反照率颜" +"色,在 [code].a[/code] 通道中包含 Alpha。" + +msgid "" +"Index of [Image] in array of [Image]s returned by [method bake_render_uv2]. " +"Image uses [constant Image.FORMAT_RGBA8] and contains the per-pixel normal " +"of the object in the [code].rgb[/code] channels and nothing in the [code].a[/" +"code] channel. The per-pixel normal is encoded as [code]normal * 0.5 + 0.5[/" +"code]." +msgstr "" +"[method bake_render_uv2] 返回的 [Image] 数组中 [Image] 的索引。图像使用 " +"[constant Image.FORMAT_RGBA8] 格式,并在 [code].rgb[/code] 通道中包含该对象的" +"每像素法线,在 [code].a[/code] 通道中不包含任何内容。每像素法线被编码为 " +"[code]normal * 0.5 + 0.5[/code]。" + +msgid "" +"Index of [Image] in array of [Image]s returned by [method bake_render_uv2]. " +"Image uses [constant Image.FORMAT_RGBA8] and contains ambient occlusion " +"(from material and decals only) in the [code].r[/code] channel, roughness in " +"the [code].g[/code] channel, metallic in the [code].b[/code] channel and sub " +"surface scattering amount in the [code].a[/code] channel." +msgstr "" +"[method bake_render_uv2] 返回的 [Image] 数组中 [Image] 的索引。图像使用 " +"[constant Image.FORMAT_RGBA8] 格式,并在 [code].r[/code] 通道中包含环境光遮挡" +"(仅来自材质和贴花),在 [code].g[/code] 通道中包含粗糙度,在 [code].b[/" +"code] 通道中包含金属度,并且中 [code].a[/code] 通道中包含次表面散射量。" + +msgid "" +"Index of [Image] in array of [Image]s returned by [method bake_render_uv2]. " +"Image uses [constant Image.FORMAT_RGBAH] and contains emission color in the " +"[code].rgb[/code] channels and nothing in the [code].a[/code] channel." +msgstr "" +"[method bake_render_uv2] 返回的 [Image] 数组中 [Image] 的索引。图像使用 " +"[constant Image.FORMAT_RGBAH] 格式,并在 [code].rgb[/code] 通道中包含自发光颜" +"色,在 [code].a[/code] 通道中不包含任何内容。" + msgid "The nine patch gets stretched where needed." msgstr "九宫格在需要的地方被拉伸。" @@ -50421,6 +63512,19 @@ msgstr "" msgid "Loads a specific resource type from a file." msgstr "从文件中加载特定资源类型。" +msgid "" +"If implemented, gets the dependencies of a given resource. If [param " +"add_types] is [code]true[/code], paths should be appended [code]::TypeName[/" +"code], where [code]TypeName[/code] is the class name of the dependency.\n" +"[b]Note:[/b] Custom resource types defined by scripts aren't known by the " +"[ClassDB], so you might just return [code]\"Resource\"[/code] for them." +msgstr "" +"如果实现,则获取给定资源的依赖项。如果 [param add_types] 为 [code]true[/" +"code],路径应追加 [code]::TypeName[/code],其中 [code]TypeName[/code] 是依赖" +"项的类名。\n" +"[b]注意:[/b]脚本定义的自定义资源类型并不为 [ClassDB] 所知,因此可能只能为它" +"们返回 [code]\"Resource\"[/code]。" + msgid "Gets the list of extensions for files this loader is able to read." msgstr "获取该加载器能够读取的文件的扩展名列表。" @@ -50444,6 +63548,31 @@ msgstr "" "[b]注意:[/b][ClassDB] 不知道脚本定义的自定义资源类型,因此您可以只为它们处" "理 [code]\"Resource\"[/code]。" +msgid "" +"Loads a resource when the engine finds this loader to be compatible. If the " +"loaded resource is the result of an import, [param original_path] will " +"target the source file. Returns a [Resource] object on success, or an [enum " +"Error] constant in case of failure.\n" +"The [param cache_mode] property defines whether and how the cache should be " +"used or updated when loading the resource. See [enum CacheMode] for details." +msgstr "" +"当引擎发现该加载程序兼容时加载资源。如果加载的资源是导入的结果,[param " +"original_path] 将以源文件为目标。成功时返回一个 [Resource] 对象,失败时返回一" +"个 [enum Error] 常量。\n" +"[param cache_mode] 属性定义加载资源时是否以及如何使用或更新缓存。有关详细信" +"息,请参阅 [enum CacheMode]。" + +msgid "" +"If implemented, renames dependencies within the given resource and saves it. " +"[param renames] is a dictionary [code]{ String => String }[/code] mapping " +"old dependency paths to new paths.\n" +"Returns [constant OK] on success, or an [enum Error] constant in case of " +"failure." +msgstr "" +"如果被实现,将重命名给定资源中的依赖项并保存它。[param renames] 是一个字典 " +"[code]{ String => String }[/code],将旧依赖路径映射到新路径。\n" +"成功时返回 [constant OK],失败时返回 [enum Error] 常量。" + msgid "Saves a specific resource type to a file." msgstr "将特定资源类型保存到文件。" @@ -50471,6 +63600,13 @@ msgstr "" msgid "Returns whether the given resource object can be saved by this saver." msgstr "返回此保存程序能否保存给定的资源对象。" +msgid "" +"Sets a new UID for the resource at the given [param path]. Returns [constant " +"OK] on success, or an [enum Error] constant in case of failure." +msgstr "" +"为给定 [param path] 处的资源设置新的 UID。成功时返回 [constant OK],失败时返" +"回 [enum Error] 常量。" + msgid "Base class for the implementation of core resource importers." msgstr "用于实现核心资源导入器的基类。" @@ -50512,6 +63648,12 @@ msgstr "更改缺少子资源时的行为。默认行为是中止加载。" msgid "Returns the list of resources inside the preloader." msgstr "返回预加载器内的资源列表。" +msgid "" +"Returns [code]true[/code] if the preloader contains a resource associated to " +"[param name]." +msgstr "" +"如果预加载器包含一个与 [param name] 关联的资源,则返回 [code]true[/code]。" + msgid "Singleton for saving Godot-specific resource types." msgstr "用于保存 Godot 特定资源类型的单例。" @@ -50586,15 +63728,91 @@ msgstr "从给定的 [code]uid://[/code] 字符串中提取 UID 值。" msgid "A custom effect for use with [RichTextLabel]." msgstr "与 [RichTextLabel] 一起使用的自定义效果。" +msgid "" +"Override this method to modify properties in [param char_fx]. The method " +"must return [code]true[/code] if the character could be transformed " +"successfully. If the method returns [code]false[/code], it will skip " +"transformation to avoid displaying broken text." +msgstr "" +"覆盖该方法以修改 [param char_fx] 中的属性。如果字符可以被成功转换,则该方法必" +"须返回 [code]true[/code]。如果该方法返回 [code]false[/code],则它将跳过转换以" +"避免显示损坏的文本。" + msgid "Label that displays rich text." msgstr "显示富文本的标签。" +msgid "" +"Rich text can contain custom text, fonts, images and some basic formatting. " +"The label manages these as an internal tag stack. It also adapts itself to " +"given width/heights.\n" +"[b]Note:[/b] Assignments to [member text] clear the tag stack and " +"reconstruct it from the property's contents. Any edits made to [member text] " +"will erase previous edits made from other manual sources such as [method " +"append_text] and the [code]push_*[/code] / [method pop] methods.\n" +"[b]Note:[/b] RichTextLabel doesn't support entangled BBCode tags. For " +"example, instead of using [code][b]bold[i]bold italic[/b]italic[/i][/code], " +"use [code][b]bold[i]bold italic[/i][/b][i]italic[/i][/code].\n" +"[b]Note:[/b] [code]push_*/pop[/code] functions won't affect BBCode.\n" +"[b]Note:[/b] Unlike [Label], RichTextLabel doesn't have a [i]property[/i] to " +"horizontally align text to the center. Instead, enable [member " +"bbcode_enabled] and surround the text in a [code][center][/code] tag as " +"follows: [code][center]Example[/center][/code]. There is currently no built-" +"in way to vertically align text either, but this can be emulated by relying " +"on anchors/containers and the [member fit_content] property." +msgstr "" +"富文本可以包含自定义文本、字体、图像和一些基本格式。该标签将这些作为一个内部" +"标签栈进行管理。它还可以适应给定的宽度/高度。\n" +"[b]注意:[/b]对 [member text] 赋值会清除标签栈,并根据属性的内容重建它。对 " +"[member text] 所做的任何编辑都将删除以前从其他手动来源——例如 [method " +"append_text] 和 [code]push_*[/code] / [method pop] 方法——所做的编辑。\n" +"[b]注意:[/b]RichTextLabel 不支持纠缠的 BBCode 标签。例如,不要使用 [code][b]" +"加粗[i]加粗斜体[/b]斜体[/i][/code],而应使用 [code][b]加粗[i]加粗斜体[/i][/b]" +"[i]斜体[/i][/code]。\n" +"[b]注意:[/b][code]push_*/pop[/code] 函数不会影响 BBCode。\n" +"[b]注意:[/b]与 [Label] 不同,RichTextLabel 没有[i]属性[/i]使文本水平居中。不" +"过,可以启用 [member bbcode_enabled] 并将文本包围在 [code][center][/code] 标" +"签中,类似:[code][center]示例[/center][/code]。目前也没有垂直对齐文本的内置" +"方法,但这可以通过依赖锚点/容器和 [member fit_content] 属性来模拟。" + msgid "GUI Rich Text/BBcode Demo" msgstr "GUI 富文本/BBcode 演示" +msgid "" +"Adds an image's opening and closing tags to the tag stack, optionally " +"providing a [param width] and [param height] to resize the image, a [param " +"color] to tint the image and a [param region] to only use parts of the " +"image.\n" +"If [param width] or [param height] is set to 0, the image size will be " +"adjusted in order to keep the original aspect ratio.\n" +"If [param width] and [param height] are not set, but [param region] is, the " +"region's rect will be used." +msgstr "" +"将图像的开始和结束标签添加到标签栈中,可选择提供 [param width] 和 [param " +"height] 来调整图像大小,提供 [param color] 来给图像混色, [param region] 只使" +"用图像的一部分。\n" +"如果 [param width] 或 [param height] 被设置为 0,图像的大小将被调整以保持原始" +"长宽比。\n" +"如果未设置 [param width] 和 [param height],但设置了 [param region],则将使用" +"该区域的矩形。" + msgid "Adds raw non-BBCode-parsed text to the tag stack." msgstr "将非 BBCode 解析的原始文本添加到标签栈中。" +msgid "" +"Parses [param bbcode] and adds tags to the tag stack as needed.\n" +"[b]Note:[/b] Using this method, you can't close a tag that was opened in a " +"previous [method append_text] call. This is done to improve performance, " +"especially when updating large RichTextLabels since rebuilding the whole " +"BBCode every time would be slower. If you absolutely need to close a tag in " +"a future method call, append the [member text] instead of using [method " +"append_text]." +msgstr "" +"解析 [param bbcode] 并根据需要将标签添加到标签栈中。\n" +"[b]注意:[/b]使用该方法,无法关闭在之前的 [method append_text] 调用中打开的标" +"签。这样做是为了提高性能,尤其是在更新大型 RichTextLabel 时,因为每次都重建整" +"个 BBCode 会比较慢。如果您绝对需要在接下来的方法调用中关闭标签,请追加 " +"[member text] 而不是使用 [method append_text]。" + msgid "Clears the tag stack and sets [member text] to an empty string." msgstr "清空标签堆栈,并将 [member text] 设置为空字符串。" @@ -50744,6 +63962,13 @@ msgstr "" msgid "Adds a [code][color][/code] tag to the tag stack." msgstr "在标签栈中添加 [code][color][/code] 标签。" +msgid "" +"Adds a custom effect tag to the tag stack. The effect does not need to be in " +"[member custom_effects]. The environment is directly passed to the effect." +msgstr "" +"将一个自定义效果标签添加到标签栈。效果不需要在 [member custom_effects] 中。环" +"境被直接传入给效果。" + msgid "Adds a [code][fgcolor][/code] tag to the tag stack." msgstr "向标签栈中添加 [code][fgcolor][/code] 标签。" @@ -50766,6 +63991,13 @@ msgstr "" "[hint=something]{text}[/hint][/code]。" msgid "" +"Adds an [code][indent][/code] tag to the tag stack. Multiplies [param level] " +"by current [member tab_size] to determine new margin length." +msgstr "" +"添加一个 [code][indent][/code] 标签到标签栈。将 [param level] 乘以当前 " +"[member tab_size] 以确定新的边距长度。" + +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." @@ -50812,6 +64044,16 @@ msgstr "向标签栈中添加 [code][table=columns,inline_align][/code] 标签 msgid "Adds a [code][u][/code] tag to the tag stack." msgstr "向标签栈中添加 [code][u][/code] 标签。" +msgid "" +"Removes a paragraph of content from the label. Returns [code]true[/code] if " +"the paragraph exists.\n" +"The [param paragraph] argument is the index of the paragraph to remove, it " +"can take values in the interval [code][0, get_paragraph_count() - 1][/code]." +msgstr "" +"从标签中移除一段内容。如果该段落存在,则返回 [code]true[/code]。\n" +"[param paragraph] 参数是要移除的段落的索引,它可以在 [code][0, " +"get_paragraph_count() - 1][/code] 区间内取值。" + msgid "Scrolls the window's top line to match [param line]." msgstr "滚动窗口,让第一行与 [param line] 匹配。" @@ -50843,6 +64085,21 @@ msgstr "设置某个表格单元格的颜色。可以为交替行指定单独的 msgid "Sets minimum and maximum size overrides for a table cell." msgstr "设置某个表格单元格的最小和最大尺寸覆盖。" +msgid "" +"Edits the selected column's expansion options. If [param expand] is " +"[code]true[/code], the column expands in proportion to its expansion ratio " +"versus the other columns' ratios.\n" +"For example, 2 columns with ratios 3 and 4 plus 70 pixels in available width " +"would expand 30 and 40 pixels, respectively.\n" +"If [param expand] is [code]false[/code], the column will not contribute to " +"the total ratio." +msgstr "" +"编辑选定列的扩展选项。如果 [param expand] 为 [code]true[/code],则该列按其扩" +"展比率相对于其他列的比率进行扩展。\n" +"例如,比率为 3 和 4 的两列,加上 70 像素的可用宽度,将分别扩展 30 和 40 像" +"素。\n" +"如果 [param expand] 为 [code]false[/code],则该列将不会对总比率产生影响。" + msgid "If [code]true[/code], the label uses BBCode formatting." msgstr "如果为 [code]true[/code],则该标签使用 BBCode 格式。" @@ -50937,6 +64194,14 @@ msgstr "默认文本颜色。" msgid "The default tint of text outline." msgstr "文本轮廓的默认色调。" +msgid "" +"The color of selected text, used when [member selection_enabled] is " +"[code]true[/code]. If equal to [code]Color(0, 0, 0, 0)[/code], it will be " +"ignored." +msgstr "" +"选中文本的颜色,当 [member selection_enabled] 为 [code]true[/code] 时使用。如" +"果等于 [code]Color(0, 0, 0, 0)[/code],则它将被忽略。" + msgid "The color of the font's shadow." msgstr "字体阴影的颜色。" @@ -50967,6 +64232,12 @@ msgstr "表中元素的水平间距。" msgid "The vertical separation of elements in a table." msgstr "表中元素的垂直间距。" +msgid "The horizontal padding around a highlighting and background color box." +msgstr "水平边距,用于高亮及背景色框。" + +msgid "The vertical padding around a highlighting and background color box." +msgstr "垂直边距,用于高亮及背景色框。" + msgid "The font used for bold text." msgstr "用于粗体字的字体。" @@ -51019,6 +64290,19 @@ msgstr "[RichTextLabel] 的正常背景。" msgid "Handle for a [Resource]'s unique ID." msgstr "[Resource] 的唯一 ID 的句柄。" +msgid "" +"The RID [Variant] type is used to access a low-level resource by its unique " +"ID. RIDs are opaque, which means they do not grant access to the resource by " +"themselves. They are used by the low-level server classes, such as " +"[DisplayServer], [RenderingServer], [TextServer], etc.\n" +"A low-level resource may correspond to a high-level [Resource], such as " +"[Texture] or [Mesh]." +msgstr "" +"RID [Variant] 类型用于通过其唯一 ID 访问低级资源。RID 是不透明的,这意味着它" +"们不会自行授予对资源的访问权限。它们由低级服务类使用,例如 [DisplayServer]、" +"[RenderingServer]、[TextServer] 等。\n" +"低级资源可能对应于高级 [Resource],例如 [Texture] 或 [Mesh]。" + msgid "Constructs an empty [RID] with the invalid ID [code]0[/code]." msgstr "构造空的 [RID],内容为无效的 ID [code]0[/code]。" @@ -51070,6 +64354,39 @@ msgid "" "that have gravity and can be pushed by other objects." msgstr "能够被 2D 物理仿真移动的物理物体。可用于具有重力并且可以被推动的对象。" +msgid "" +"This node implements simulated 2D physics. You do not control a RigidBody2D " +"directly. Instead, you apply forces to it (gravity, impulses, etc.) and the " +"physics simulation calculates the resulting movement based on its mass, " +"friction, and other physical properties.\n" +"You can switch the body's behavior using [member lock_rotation], [member " +"freeze], and [member freeze_mode].\n" +"[b]Note:[/b] You should not change a RigidBody2D's [code]position[/code] or " +"[code]linear_velocity[/code] every frame or even very often. If you need to " +"directly affect the body's state, use [method _integrate_forces], which " +"allows you to directly access the physics state.\n" +"Please also keep in mind that physics bodies manage their own transform " +"which overwrites the ones you set. So any direct or indirect transformation " +"(including scaling of the node or its parent) will be visible in the editor " +"only, and immediately reset at runtime.\n" +"If you need to override the default physics behavior or add a transformation " +"at runtime, you can write a custom force integration. See [member " +"custom_integrator]." +msgstr "" +"该节点实现了模拟的 2D 物理。不应直接控制 RigidBody2D。而是,对其施加力(重" +"力、冲力等),然后物理模拟将根据其质量、摩擦力和其他物理属性来计算产生的运" +"动。\n" +"您可以使用 [member lock_rotation]、[member freeze] 和 [member freeze_mode] 切" +"换实体的行为。\n" +"[b]注意:[/b]不应该每帧甚至经常改变 RigidBody2D 的 [code]position[/code] 或 " +"[code]linear_velocity[/code]。如果需要直接影响实体的状态,请使用 [method " +"_integrate_forces],它允许直接访问物理状态。\n" +"还请记住,物理实体管理它们自己的变换,这会覆盖您设置的变换。因此,任何直接或" +"间接的变换(包括节点或其父节点的缩放),将仅在编辑器中可见,并在运行时立即重" +"置。\n" +"如果需要覆盖默认物理行为或在运行时添加变换,可以编写自定义的力积分函数。请参" +"阅 [member custom_integrator]。" + msgid "2D Physics Platformer Demo" msgstr "2D 物理平台跳跃演示" @@ -51090,6 +64407,34 @@ msgstr "" "custom_integrator] 允许你禁用默认行为并为一个物体编写自定义的合力。" msgid "" +"Applies a rotational force without affecting position. A force is time " +"dependent and meant to be applied every physics update.\n" +"[b]Note:[/b] [member inertia] is required for this to work. To have [member " +"inertia], an active [CollisionShape2D] must be a child of the node, or you " +"can manually set [member inertia]." +msgstr "" +"施加旋转力但不影响位置。力是与时间相关的,应该每次物理更新时都要进行施加。\n" +"[b]注意:[/b]有 [member inertia] 才能正常工作。要让 [member inertia] 存在,必" +"须有一个 [CollisionShape2D] 作为该节点的子节点,或者你也可以手动设置 [member " +"inertia]。" + +msgid "" +"Applies a rotational impulse to the body without affecting the position.\n" +"An impulse is time-independent! Applying an impulse every frame would result " +"in a framerate-dependent force. For this reason, it should only be used when " +"simulating one-time impacts (use the \"_force\" functions otherwise).\n" +"[b]Note:[/b] [member inertia] is required for this to work. To have [member " +"inertia], an active [CollisionShape2D] must be a child of the node, or you " +"can manually set [member inertia]." +msgstr "" +"在不影响位置的情况下,向实体施加一个旋转冲力。\n" +"冲力是时间无关的!每帧施加一个冲力将产生依赖于帧速率的力。出于这个原因,它应" +"该只在模拟一次性影响时使用(否则使用“_force”函数)。\n" +"[b]注意:[/b]需要 [member inertia] 才能发挥作用。要具有 [member inertia],活" +"动的 [CollisionShape2D] 必须是该节点的一个子节点,或者可以手动设置 [member " +"inertia]。" + +msgid "" "Sets the body's velocity on the given axis. The velocity in the given vector " "axis will be set as the given vector length. This is useful for jumping " "behavior." @@ -51098,6 +64443,17 @@ msgstr "" "行为很有用。" msgid "" +"If [code]true[/code], the RigidBody2D will emit signals when it collides " +"with another RigidBody2D.\n" +"[b]Note:[/b] By default the maximum contacts reported is set to 0, meaning " +"nothing will be recorded, see [member max_contacts_reported]." +msgstr "" +"如果为 [code]true[/code],则该 RigidBody2D 将在与另一个 RigidBody2D 碰撞时发" +"出信号。\n" +"[b]注意:[/b]默认情况下,报告的接触的最大值被设置为 0,表示不会记录任何内容," +"请参阅 [member max_contacts_reported]。" + +msgid "" "Continuous collision detection mode.\n" "Continuous collision detection tries to predict where a moving body will " "collide instead of moving it and correcting its movement after collision. " @@ -51127,6 +64483,69 @@ msgstr "" "[b]默认重力[/b]值和/或任何由 [Area2D] 应用的额外重力向量计算出来的。" msgid "" +"The body's moment of inertia. This is like mass, but for rotation: it " +"determines how much torque it takes to rotate the body. The moment of " +"inertia is usually computed automatically from the mass and the shapes, but " +"this property allows you to set a custom value.\n" +"If set to [code]0[/code], inertia is automatically computed (default " +"value).\n" +"[b]Note:[/b] This value does not change when inertia is automatically " +"computed. Use [PhysicsServer2D] to get the computed inertia.\n" +"[codeblocks]\n" +"[gdscript]\n" +"@onready var ball = $Ball\n" +"\n" +"func get_ball_inertia():\n" +" return 1.0 / PhysicsServer2D.body_get_direct_state(ball.get_rid())." +"inverse_inertia\n" +"[/gdscript]\n" +"[csharp]\n" +"private RigidBody2D _ball;\n" +"\n" +"public override void _Ready()\n" +"{\n" +" _ball = GetNode<RigidBody2D>(\"Ball\");\n" +"}\n" +"\n" +"private float GetBallInertia()\n" +"{\n" +" return 1.0f / PhysicsServer2D.BodyGetDirectState(_ball.GetRid())." +"InverseInertia;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"该物体的惯性力矩。与质量类似,但适用于旋转:用于确定需要施加多少扭矩才能让该" +"物体旋转。通常会自动根据质量和形状计算惯性力矩,但这个属性能够让你设置自定义" +"的值。\n" +"设置为 [code]0[/code] 时,会自动计算惯性(默认值)。\n" +"[b]注意:[/b]自动计算出惯性后,这个值不会改变。请使用 [PhysicsServer2D] 获取" +"计算出的惯性。\n" +"[codeblocks]\n" +"[gdscript]\n" +"@onready var ball = $Ball\n" +"\n" +"func get_ball_inertia():\n" +" return 1.0 / PhysicsServer2D.body_get_direct_state(ball.get_rid())." +"inverse_inertia\n" +"[/gdscript]\n" +"[csharp]\n" +"private RigidBody2D _ball;\n" +"\n" +"public override void _Ready()\n" +"{\n" +" _ball = GetNode<RigidBody2D>(\"Ball\");\n" +"}\n" +"\n" +"private float GetBallInertia()\n" +"{\n" +" return 1.0f / PhysicsServer2D.BodyGetDirectState(_ball.GetRid())." +"InverseInertia;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" "The body's linear velocity in pixels per second. Can be used sporadically, " "but [b]don't set this every frame[/b], because physics may run in another " "thread and runs at a different granularity. Use [method _integrate_forces] " @@ -51146,6 +64565,106 @@ msgstr "" "质。" msgid "" +"Emitted when a collision with another [PhysicsBody2D] or [TileMap] occurs. " +"Requires [member contact_monitor] to be set to [code]true[/code] and [member " +"max_contacts_reported] to be set high enough to detect all the collisions. " +"[TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.\n" +"[param body] the [Node], if it exists in the tree, of the other " +"[PhysicsBody2D] or [TileMap]." +msgstr "" +"当与另一个 [PhysicsBody2D] 或 [TileMap] 发生碰撞时发出。需要将 [member " +"contact_monitor] 设置为 [code]true[/code],并将 [member " +"max_contacts_reported] 设置得足够高以检测所有碰撞。如果 [TileSet] 具有碰撞 " +"[Shape2D],则 [TileMap] 将被检测。\n" +"[param body] 是其他 [PhysicsBody2D] 或 [TileMap] 的 [Node],如果该节点存在于" +"树中。" + +msgid "" +"Emitted when the collision with another [PhysicsBody2D] or [TileMap] ends. " +"Requires [member contact_monitor] to be set to [code]true[/code] and [member " +"max_contacts_reported] to be set high enough to detect all the collisions. " +"[TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.\n" +"[param body] the [Node], if it exists in the tree, of the other " +"[PhysicsBody2D] or [TileMap]." +msgstr "" +"当与另一个 [PhysicsBody2D] 或 [TileMap] 的碰撞结束时发出。需要将 [member " +"contact_monitor] 设置为 [code]true[/code],并将 [member " +"max_contacts_reported] 设置得足够高以检测所有碰撞。如果 [TileSet] 具有碰撞 " +"[Shape2D],则 [TileMap] 将被检测。\n" +"[param body] 是其他 [PhysicsBody2D] 或 [TileMap] 的 [Node],如果该节点存在于" +"树中。" + +msgid "" +"Emitted when one of this RigidBody2D's [Shape2D]s collides with another " +"[PhysicsBody2D] or [TileMap]'s [Shape2D]s. Requires [member contact_monitor] " +"to be set to [code]true[/code] and [member max_contacts_reported] to be set " +"high enough to detect all the collisions. [TileMap]s are detected if the " +"[TileSet] has Collision [Shape2D]s.\n" +"[param body_rid] the [RID] of the other [PhysicsBody2D] or [TileSet]'s " +"[CollisionObject2D] used by the [PhysicsServer2D].\n" +"[param body] the [Node], if it exists in the tree, of the other " +"[PhysicsBody2D] or [TileMap].\n" +"[param body_shape_index] the index of the [Shape2D] of the other " +"[PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the " +"[CollisionShape2D] node with [code]body.shape_owner_get_owner(body." +"shape_find_owner(body_shape_index))[/code].\n" +"[param local_shape_index] the index of the [Shape2D] of this RigidBody2D " +"used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with " +"[code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/" +"code]." +msgstr "" +"当该 RigidBody2D 的一个 [Shape2D] 与另一个 [PhysicsBody2D] 或 [TileMap] 的 " +"[Shape2D] 碰撞时发出。需要将 [member contact_monitor] 设置为 [code]true[/" +"code],并将 [member max_contacts_reported] 设置得足够高以检测所有碰撞。如果 " +"[TileSet] 具有 Collision [Shape2D],则 [TileMap] 会被检测到。\n" +"[param body_rid] 由 [PhysicsServer2D] 使用的其他 [PhysicsBody2D] 或 " +"[TileSet] 的 [CollisionObject2D] 的 [RID]。\n" +"[param body] 其他 [PhysicsBody2D] 或 [TileMap] 的 [Node],如果该节点存在于树" +"中。\n" +"[param body_shape_index] 由 [PhysicsServer2D] 使用的其他 [PhysicsBody2D] 或 " +"[TileMap] 的 [Shape2D] 的索引。该 [CollisionShape2D] 节点可以使用 [code]body." +"shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code] 获" +"取。\n" +"[param local_shape_index] 由 [PhysicsServer2D] 使用的该 RigidBody2D 的 " +"[Shape2D] 的索引。该 [CollisionShape2D] 节点可以使用 [code]self." +"shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code] 获取。" + +msgid "" +"Emitted when the collision between one of this RigidBody2D's [Shape2D]s and " +"another [PhysicsBody2D] or [TileMap]'s [Shape2D]s ends. Requires [member " +"contact_monitor] to be set to [code]true[/code] and [member " +"max_contacts_reported] to be set high enough to detect all the collisions. " +"[TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.\n" +"[param body_rid] the [RID] of the other [PhysicsBody2D] or [TileSet]'s " +"[CollisionObject2D] used by the [PhysicsServer2D].\n" +"[param body] the [Node], if it exists in the tree, of the other " +"[PhysicsBody2D] or [TileMap].\n" +"[param body_shape_index] the index of the [Shape2D] of the other " +"[PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the " +"[CollisionShape2D] node with [code]body.shape_owner_get_owner(body." +"shape_find_owner(body_shape_index))[/code].\n" +"[param local_shape_index] the index of the [Shape2D] of this RigidBody2D " +"used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with " +"[code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/" +"code]." +msgstr "" +"当该 RigidBody2D 的一个 [Shape2D] 与另一个 [PhysicsBody2D] 或 [TileMap] 的 " +"[Shape2D] 之间的碰撞结束时发出。需要将 [member contact_monitor] 设置为 " +"[code]true[/code],并将 [member max_contacts_reported] 设置得足够高以检测所有" +"碰撞。如果 [TileSet] 具有 Collision [Shape2D],则 [TileMap] 会被检测到。\n" +"[param body_rid] 由 [PhysicsServer2D] 使用的其他 [PhysicsBody2D] 或 " +"[TileSet] 的 [CollisionObject2D] 的 [RID]。\n" +"[param body] 其他 [PhysicsBody2D] 或 [TileMap] 的 [Node],如果该节点存在于树" +"中。\n" +"[param body_shape_index] 由 [PhysicsServer2D] 使用的其他 [PhysicsBody2D] 或 " +"[TileMap] 的 [Shape2D] 的索引。该 [CollisionShape2D] 节点可以使用 [code]body." +"shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code] 获" +"取。\n" +"[param local_shape_index] 由 [PhysicsServer2D] 使用的该 RigidBody2D 的 " +"[Shape2D] 的索引。该 [CollisionShape2D] 节点可以使用 [code]self." +"shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code] 获取。" + +msgid "" "Emitted when the physics engine changes the body's sleeping state.\n" "[b]Note:[/b] Changing the value [member sleeping] will not trigger this " "signal. It is only emitted if the sleeping state is changed by the physics " @@ -51178,10 +64697,82 @@ msgid "" "that have gravity and can be pushed by other objects." msgstr "能够被 3D 物理仿真移动的物理物体。可用于具有重力并且可以被推动的对象。" +msgid "" +"This is the node that implements full 3D physics. This means that you do not " +"control a RigidBody3D directly. Instead, you can apply forces to it " +"(gravity, impulses, etc.), and the physics simulation will calculate the " +"resulting movement, collision, bouncing, rotating, etc.\n" +"You can switch the body's behavior using [member lock_rotation], [member " +"freeze], and [member freeze_mode].\n" +"[b]Note:[/b] Don't change a RigidBody3D's position every frame or very " +"often. Sporadic changes work fine, but physics runs at a different " +"granularity (fixed Hz) than usual rendering (process callback) and maybe " +"even in a separate thread, so changing this from a process loop may result " +"in strange behavior. If you need to directly affect the body's state, use " +"[method _integrate_forces], which allows you to directly access the physics " +"state.\n" +"If you need to override the default physics behavior, you can write a custom " +"force integration function. See [member custom_integrator].\n" +"[b]Warning:[/b] With a non-uniform scale this node will probably not " +"function as expected. Please make sure to keep its scale uniform (i.e. the " +"same on all axes), and change the size(s) of its collision shape(s) instead." +msgstr "" +"这是实现完整 3D 物理的节点。这意味着不直接控制 RigidBody3D。而是,可以对其施" +"加力(重力、冲力等),物理模拟将计算由此产生的运动、碰撞、弹跳、旋转等。\n" +"可以使用 [member lock_rotation]、[member freeze]、和 [member freeze_mode] 切" +"换实体的行为。\n" +"[b]注意:[/b]不要每帧或经常更改 RigidBody3D 的位置。零星的更改正常工作,但物" +"理运行的粒度(固定 Hz)与通常的渲染(进程回调)不同,甚至可能在单独的线程中运" +"行,因此从进程循环更改它可能会导致奇怪的行为。如果需要直接影响实体的状态,请" +"使用 [method _integrate_forces],它允许直接访问物理状态。\n" +"如果需要覆盖默认的物理行为,可以编写自定义的力积分函数。请参阅 [member " +"custom_integrator]。\n" +"[b]警告:[/b]如果缩放不一致,该节点可能无法按预期运行。请确保保持其缩放统一" +"(即在所有轴上相同),并改为更改其碰撞形状的大小。" + +msgid "" +"Applies a rotational force without affecting position. A force is time " +"dependent and meant to be applied every physics update.\n" +"[b]Note:[/b] [member inertia] is required for this to work. To have [member " +"inertia], an active [CollisionShape3D] must be a child of the node, or you " +"can manually set [member inertia]." +msgstr "" +"施加旋转力但不影响位置。力是与时间相关的,应该每次物理更新时都要进行施加。\n" +"[b]注意:[/b]有 [member inertia] 才能正常工作。要让 [member inertia] 存在,必" +"须有一个 [CollisionShape3D] 作为该节点的子节点,或者你也可以手动设置 [member " +"inertia]。" + +msgid "" +"Applies a rotational impulse to the body without affecting the position.\n" +"An impulse is time-independent! Applying an impulse every frame would result " +"in a framerate-dependent force. For this reason, it should only be used when " +"simulating one-time impacts (use the \"_force\" functions otherwise).\n" +"[b]Note:[/b] [member inertia] is required for this to work. To have [member " +"inertia], an active [CollisionShape3D] must be a child of the node, or you " +"can manually set [member inertia]." +msgstr "" +"在不影响位置的情况下,向实体施加一个旋转冲力。\n" +"冲力是时间无关的!每帧施加一个冲力将产生一个依赖于帧速率的力。出于这个原因," +"它应该只在模拟一次性影响时使用(否则使用“_force”函数)。\n" +"[b]注意:[/b]需要 [member inertia] 才能发挥作用。要具有 [member inertia],活" +"动的 [CollisionShape3D] 必须是该节点的一个子节点,或者可以手动设置 [member " +"inertia]。" + msgid "The RigidBody3D's rotational velocity in [i]radians[/i] per second." msgstr "该 RigidBody3D 的旋转速度,单位为[i]弧度[/i]每秒。" msgid "" +"If [code]true[/code], the RigidBody3D will emit signals when it collides " +"with another RigidBody3D.\n" +"[b]Note:[/b] By default the maximum contacts reported is set to 0, meaning " +"nothing will be recorded, see [member max_contacts_reported]." +msgstr "" +"如果为 [code]true[/code],则该 RigidBody3D 将在与另一个 RigidBody3D 碰撞时发" +"出信号。\n" +"[b]注意:[/b]默认情况下,报告的接触的最大值被设置为 0,表示不会记录任何内容," +"请参阅 [member max_contacts_reported]。" + +msgid "" "If [code]true[/code], continuous collision detection is used.\n" "Continuous collision detection tries to predict where a moving body will " "collide, instead of moving it and correcting its movement if it collided. " @@ -51194,6 +64785,171 @@ msgstr "" "纠正它的运动。连续碰撞检测更精确,并且错过了较小的、快速移动的物体的撞击。不" "使用连续碰撞检测的计算速度更快,但可能会错过小的、快速移动的物体。" +msgid "" +"The body's moment of inertia. This is like mass, but for rotation: it " +"determines how much torque it takes to rotate the body on each axis. The " +"moment of inertia is usually computed automatically from the mass and the " +"shapes, but this property allows you to set a custom value.\n" +"If set to [code]Vector3.ZERO[/code], inertia is automatically computed " +"(default value).\n" +"[b]Note:[/b] This value does not change when inertia is automatically " +"computed. Use [PhysicsServer3D] to get the computed inertia.\n" +"[codeblocks]\n" +"[gdscript]\n" +"@onready var ball = $Ball\n" +"\n" +"func get_ball_inertia():\n" +" return PhysicsServer3D.body_get_direct_state(ball.get_rid())." +"inverse_inertia.inverse()\n" +"[/gdscript]\n" +"[csharp]\n" +"private RigidBody3D _ball;\n" +"\n" +"public override void _Ready()\n" +"{\n" +" _ball = GetNode<RigidBody3D>(\"Ball\");\n" +"}\n" +"\n" +"private Vector3 GetBallInertia()\n" +"{\n" +" return PhysicsServer3D.BodyGetDirectState(_ball.GetRid()).InverseInertia." +"Inverse();\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"该物体的惯性力矩。与质量类似,但适用于旋转:用于确定各个轴上需要施加多少扭矩" +"才能让该物体旋转。通常会自动根据质量和形状计算惯性力矩,但这个属性能够让你设" +"置自定义的值。\n" +"设置为 [code]Vector3.ZERO[/code] 时,会自动计算惯性(默认值)。\n" +"[b]注意:[/b]自动计算出惯性后,这个值不会改变。请使用 [PhysicsServer3D] 获取" +"计算出的惯性。\n" +"[codeblocks]\n" +"[gdscript]\n" +"@onready var ball = $Ball\n" +"\n" +"func get_ball_inertia():\n" +" return PhysicsServer3D.body_get_direct_state(ball.get_rid())." +"inverse_inertia.inverse()\n" +"[/gdscript]\n" +"[csharp]\n" +"private RigidBody3D _ball;\n" +"\n" +"public override void _Ready()\n" +"{\n" +" _ball = GetNode<RigidBody3D>(\"Ball\");\n" +"}\n" +"\n" +"private Vector3 GetBallInertia()\n" +"{\n" +" return PhysicsServer3D.BodyGetDirectState(_ball.GetRid()).InverseInertia." +"Inverse();\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" +"Emitted when a collision with another [PhysicsBody3D] or [GridMap] occurs. " +"Requires [member contact_monitor] to be set to [code]true[/code] and [member " +"max_contacts_reported] to be set high enough to detect all the collisions. " +"[GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s.\n" +"[param body] the [Node], if it exists in the tree, of the other " +"[PhysicsBody3D] or [GridMap]." +msgstr "" +"当与另一个 [PhysicsBody3D] 或 [GridMap] 发生碰撞时发出。需要将 [member " +"contact_monitor] 设置为 [code]true[/code],并将 [member " +"max_contacts_reported] 设置得足够高以检测所有碰撞。如果 [MeshLibrary] 具有碰" +"撞 [Shape3D],则 [GridMap] 会被检测。\n" +"[param body] 是其他 [PhysicsBody3D] 或 [GridMap] 的 [Node],如果该节点存在于" +"树中。" + +msgid "" +"Emitted when the collision with another [PhysicsBody3D] or [GridMap] ends. " +"Requires [member contact_monitor] to be set to [code]true[/code] and [member " +"max_contacts_reported] to be set high enough to detect all the collisions. " +"[GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s.\n" +"[param body] the [Node], if it exists in the tree, of the other " +"[PhysicsBody3D] or [GridMap]." +msgstr "" +"当与另一个 [PhysicsBody3D] 或 [GridMap] 的碰撞结束时发出。需要将 [member " +"contact_monitor] 设置为 [code]true[/code],并将 [member " +"max_contacts_reported] 设置得足够高以检测所有碰撞。如果 [MeshLibrary] 具有碰" +"撞 [Shape3D],则 [GridMap] 会被检测。\n" +"[param body] 是其他 [PhysicsBody3D] 或 [GridMap] 的 [Node],如果该节点存在于" +"树中。" + +msgid "" +"Emitted when one of this RigidBody3D's [Shape3D]s collides with another " +"[PhysicsBody3D] or [GridMap]'s [Shape3D]s. Requires [member contact_monitor] " +"to be set to [code]true[/code] and [member max_contacts_reported] to be set " +"high enough to detect all the collisions. [GridMap]s are detected if the " +"[MeshLibrary] has Collision [Shape3D]s.\n" +"[param body_rid] the [RID] of the other [PhysicsBody3D] or [MeshLibrary]'s " +"[CollisionObject3D] used by the [PhysicsServer3D].\n" +"[param body] the [Node], if it exists in the tree, of the other " +"[PhysicsBody3D] or [GridMap].\n" +"[param body_shape_index] the index of the [Shape3D] of the other " +"[PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the " +"[CollisionShape3D] node with [code]body.shape_owner_get_owner(body." +"shape_find_owner(body_shape_index))[/code].\n" +"[param local_shape_index] the index of the [Shape3D] of this RigidBody3D " +"used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with " +"[code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/" +"code]." +msgstr "" +"当该 RigidBody3D 的一个 [Shape3D] 与另一个 [PhysicsBody3D] 或 [GridMap] 的 " +"[Shape3D] 碰撞时发出。需要将 [member contact_monitor] 设置为 [code]true[/" +"code],并将 [member max_contacts_reported] 设置得足够高以检测所有碰撞。如果 " +"[MeshLibrary] 具有 Collision [Shape3D],则 [GridMap] 会被检测到。\n" +"[param body_rid] 由 [PhysicsServer3D] 使用的其他 [PhysicsBody3D] 或 " +"[MeshLibrary] 的 [CollisionObject3D] 的 [RID]。\n" +"[param body] 其他 [PhysicsBody3D] 或 [GridMap] 的 [Node],如果该节点存在于树" +"中。\n" +"[param body_shape_index] 由 [PhysicsServer3D] 使用的其他 [PhysicsBody3D] 或 " +"[GridMap] 的 [Shape3D] 的索引。该 [CollisionShape3D] 节点可以使用 [code]body." +"shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code] 获" +"取。\n" +"[param local_shape_index] 由 [PhysicsServer3D] 使用的该 RigidBody3D 的 " +"[Shape3D] 的索引。该 [CollisionShape3D] 节点可以使用 [code]self." +"shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code] 获取。" + +msgid "" +"Emitted when the collision between one of this RigidBody3D's [Shape3D]s and " +"another [PhysicsBody3D] or [GridMap]'s [Shape3D]s ends. Requires [member " +"contact_monitor] to be set to [code]true[/code] and [member " +"max_contacts_reported] to be set high enough to detect all the collisions. " +"[GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s.\n" +"[param body_rid] the [RID] of the other [PhysicsBody3D] or [MeshLibrary]'s " +"[CollisionObject3D] used by the [PhysicsServer3D]. [GridMap]s are detected " +"if the Meshes have [Shape3D]s.\n" +"[param body] the [Node], if it exists in the tree, of the other " +"[PhysicsBody3D] or [GridMap].\n" +"[param body_shape_index] the index of the [Shape3D] of the other " +"[PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the " +"[CollisionShape3D] node with [code]body.shape_owner_get_owner(body." +"shape_find_owner(body_shape_index))[/code].\n" +"[param local_shape_index] the index of the [Shape3D] of this RigidBody3D " +"used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with " +"[code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/" +"code]." +msgstr "" +"当该 RigidBody3D 的一个 [Shape3D] 与另一个 [PhysicsBody3D] 或 [GridMap] 的 " +"[Shape3D] 之间的碰撞结束时发出。需要将 [member contact_monitor] 设置为 " +"[code]true[/code],并将 [member max_contacts_reported] 设置得足够高以检测所有" +"碰撞。如果 [MeshLibrary] 具有碰撞 [Shape3D],则 [GridMap] 将被检测。\n" +"[param body_rid] 由 [PhysicsServer3D] 使用的其他 [PhysicsBody3D] 或 " +"[MeshLibrary] 的 [CollisionObject3D] 的 [RID]。如果网格具有 [Shape3D],则 " +"[GridMap] 将被检测。\n" +"[param body] 其他 [PhysicsBody3D] 或 [GridMap] 的 [Node],如果该节点存在于树" +"中。\n" +"[param body_shape_index] 由 [PhysicsServer3D] 使用的其他 [PhysicsBody3D] 或" +"[GridMap] 的[Shape3D] 的索引。该 [CollisionShape3D] 节点可以使用 [code]body." +"shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code] 获" +"取。\n" +"[param local_shape_index] 由 [PhysicsServer3D] 使用的该 RigidBody3D 的 " +"[Shape3D] 的索引。该 [CollisionShape3D] 节点可以使用 [code]self." +"shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code] 获取。" + msgid "Editor-only helper for setting up root motion in [AnimationTree]." msgstr "在 [AnimationTree] 中设置根运动的仅编辑器可用的辅助工具。" @@ -51256,6 +65012,24 @@ msgstr "" "Android 阻止。" msgid "" +"Enable or disable the server feature that notifies clients of other peers' " +"connection/disconnection, and relays messages between them. When this option " +"is [code]false[/code], clients won't be automatically notified of other " +"peers and won't be able to send them packets through the server.\n" +"[b]Note:[/b] Changing this option while other peers are connected may lead " +"to unexpected behaviors.\n" +"[b]Note:[/b] Support for this feature may depend on the current " +"[MultiplayerPeer] configuration. See [method MultiplayerPeer." +"is_server_relay_supported]." +msgstr "" +"启用或禁用服务器功能,该功能通知客户端其他对等体的连接/断开,并在它们之间转发" +"消息。当此选项为 [code]false[/code] 时,客户端将不会自动收到其他对等体的通" +"知,也无法通过服务器向它们发送数据包。\n" +"[b]注意:[/b]在其他对等体连接时更改此选项可能会导致意外行为。\n" +"[b]注意:[/b]对该功能的支持可能取决于当前的 [MultiplayerPeer] 配置。请参阅 " +"[method MultiplayerPeer.is_server_relay_supported]。" + +msgid "" "Configuration for properties to synchronize with a [MultiplayerSynchronizer]." msgstr "配置,能够让 [MultiplayerSynchronizer] 对属性进行同步。" @@ -51332,10 +65106,38 @@ msgstr "" "[code]idx[/code] 参数用于在其他 [code]get_node_*[/code] 方法中查询节点数据," "范围为 [code][0, get_node_count() - 1][/code]。" +msgid "" +"Returns a [PackedScene] for the node at [param idx] (i.e. the whole branch " +"starting at this node, with its child nodes and resources), or [code]null[/" +"code] if the node is not an instance." +msgstr "" +"为 [param idx] 处的节点返回一个 [PackedScene](即从该节点开始的整个分支,包括" +"其子节点和资源),如果该节点不是一个实例,则返回 [code]null[/code]。" + msgid "Returns the name of the node at [param idx]." msgstr "返回索引为 [param idx] 的节点的名称。" msgid "" +"Returns the path to the node at [param idx].\n" +"If [param for_parent] is [code]true[/code], returns the path of the [param " +"idx] node's parent instead." +msgstr "" +"返回 [param idx] 处的节点的路径。\n" +"如果 [param for_parent] 为 [code]true[/code],则返回 [param idx] 节点的父节点" +"的路径。" + +msgid "" +"Returns the number of exported or overridden properties for the node at " +"[param idx].\n" +"The [code]prop_idx[/code] argument used to query node property data in other " +"[code]get_node_property_*[/code] methods in the interval [code][0, " +"get_node_property_count() - 1][/code]." +msgstr "" +"返回在 [param idx] 处的节点的导出的或覆盖的属性数量。\n" +"[code]prop_idx[/code] 参数介于区间 [code][0, get_node_property_count() - 1][/" +"code],用于在其他 [code]get_node_property_*[/code] 方法中查询节点属性数据。" + +msgid "" "Returns the name of the property at [param prop_idx] for the node at [param " "idx]." msgstr "" @@ -51349,6 +65151,13 @@ msgstr "返回索引为 [param idx] 的节点中,索引为 [param prop_idx] msgid "Returns the type of the node at [param idx]." msgstr "返回索引为 [param idx] 的节点的类型。" +msgid "" +"Returns [code]true[/code] if the node at [param idx] is an " +"[InstancePlaceholder]." +msgstr "" +"如果 [param idx] 处的节点是一个 [InstancePlaceholder],则返回 [code]true[/" +"code]。" + msgid "Manages the game loop via a hierarchy of nodes." msgstr "通过节点层次结构管理游戏循环。" @@ -51378,8 +65187,121 @@ msgstr "SceneTree" msgid "Multiple resolutions" msgstr "多分辨率" -msgid "Creates and returns a new [Tween]." -msgstr "创建并返回一个新的 [Tween]。" +msgid "" +"Calls [param method] on each member of the given group. You can pass " +"arguments to [param method] by specifying them at the end of the method " +"call. If a node doesn't have the given method or the argument list does not " +"match (either in count or in types), it will be skipped.\n" +"[b]Note:[/b] [method call_group] will call methods immediately on all " +"members at once, which can cause stuttering if an expensive method is called " +"on lots of members. To wait for one frame after [method call_group] was " +"called, use [method call_group_flags] with the [constant " +"GROUP_CALL_DEFERRED] flag." +msgstr "" +"对给定分组的每个成员调用 [param method]。可以通过在方法调用结束时指定参数,来" +"将参数传递给 [param method]。如果该节点没有给定的方法或参数列表不匹配(无论是" +"计数还是类型),它将被跳过。\n" +"[b]注意:[/b][method call_group] 将立即对所有成员调用一次方法,如果对大量成员" +"调用昂贵的方法,这可能会导致卡顿。要在调用 [method call_group] 后等待一帧,请" +"将 [method call_group_flags] 和 [constant GROUP_CALL_DEFERRED] 标志一起使用。" + +msgid "" +"Changes the running scene to the one at the given [param path], after " +"loading it into a [PackedScene] and creating a new instance.\n" +"Returns [constant OK] on success, [constant ERR_CANT_OPEN] if the [param " +"path] cannot be loaded into a [PackedScene], or [constant ERR_CANT_CREATE] " +"if that scene cannot be instantiated.\n" +"[b]Note:[/b] The scene change is deferred, which means that the new scene " +"node is added on the next idle frame. This ensures that both scenes are " +"never loaded at the same time, which can exhaust system resources if the " +"scenes are too large or if running in a memory constrained environment. As " +"such, you won't be able to access the loaded scene immediately after the " +"[method change_scene_to_file] call." +msgstr "" +"将位于给定路径 [param path] 的场景加载进一个 [PackedScene] 并新建其实例,然后" +"将正在运行的场景修改为这个场景。\n" +"成功时返回 [constant OK],如果 [param path] 不能被加载到一个 [PackedScene] " +"中,则返回 [constant ERR_CANT_OPEN];如果该场景无法被实例化,则返回 " +"[constant ERR_CANT_CREATE]。\n" +"[b]注意:[/b]场景改变是延迟的,即新的场景节点是在下一个空闲帧中添加的。这确保" +"了两个场景永远不会同时加载,如果场景太大或在内存受限的环境中运行,这会耗尽系" +"统资源。因此,无法在 [method change_scene_to_file] 调用后,立即访问该加载的场" +"景。" + +msgid "" +"Changes the running scene to a new instance of the given [PackedScene] " +"(which must be valid).\n" +"Returns [constant OK] on success, [constant ERR_CANT_CREATE] if the scene " +"cannot be instantiated, or [constant ERR_INVALID_PARAMETER] if the scene is " +"invalid.\n" +"[b]Note:[/b] The scene change is deferred, which means that the new scene " +"node is added on the next idle frame. You won't be able to access it " +"immediately after the [method change_scene_to_packed] call." +msgstr "" +"将正在运行的场景改变为给定 [PackedScene] (必须有效)的一个新实例。\n" +"成功时返回 [constant OK],场景无法实例化时返回 [constant ERR_CANT_CREATE],场" +"景无效时返回 [constant ERROR_INVALID_PARAMETER]。\n" +"[b]注意:[/b]场景改变是延迟的,即新的场景节点是在下一个空闲帧中添加的。无法" +"在 [method change_scene_to_packed] 调用后立即访问它。" + +msgid "" +"Returns a [SceneTreeTimer] which will [signal SceneTreeTimer.timeout] after " +"the given time in seconds elapsed in this [SceneTree].\n" +"If [code]process_always[/code] is set to [code]false[/code], pausing the " +"[SceneTree] will also pause the timer.\n" +"If [code]process_in_physics[/code] is set to [code]true[/code], will update " +"the [SceneTreeTimer] during the physics frame instead of the process frame " +"(fixed framerate processing).\n" +"If [code]ignore_time_scale[/code] is set to [code]true[/code], will ignore " +"[member Engine.time_scale] and update the [SceneTreeTimer] with the actual " +"frame delta.\n" +"Commonly used to create a one-shot delay timer as in the following example:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func some_function():\n" +" print(\"start\")\n" +" await get_tree().create_timer(1.0).timeout\n" +" print(\"end\")\n" +"[/gdscript]\n" +"[csharp]\n" +"public async Task SomeFunction()\n" +"{\n" +" GD.Print(\"start\");\n" +" await ToSignal(GetTree().CreateTimer(1.0f), SceneTreeTimer.SignalName." +"Timeout);\n" +" GD.Print(\"end\");\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"The timer will be automatically freed after its time elapses." +msgstr "" +"返回一个 [SceneTreeTimer],它将在该 [SceneTree] 中经过给定时间(以秒为单位)" +"后发出 [signal SceneTreeTimer.timeout] 信号。\n" +"如果 [code]process_always[/code] 被设置为 [code]false[/code],则暂停 " +"[SceneTree] 也会暂停计时器。\n" +"如果 [code]process_in_physics[/code] 被设置为 [code]true[/code],则将在物理帧" +"而不是进程帧期间更新 [SceneTreeTimer](固定帧率处理)。\n" +"如果 [code]ignore_time_scale[/code] 被设置为 [code]true[/code],则将忽略 " +"[member Engine.time_scale] 并使用实际帧增量来更新 [SceneTreeTimer]。\n" +"通常用于创建一次性的延迟定时器,如下例所示:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func some_function():\n" +" print(\"start\")\n" +" await get_tree().create_timer(1.0).timeout\n" +" print(\"end\")\n" +"[/gdscript]\n" +"[csharp]\n" +"public async Task SomeFunction()\n" +"{\n" +" GD.Print(\"start\");\n" +" await ToSignal(GetTree().CreateTimer(1.0f), SceneTreeTimer.SignalName." +"Timeout);\n" +" GD.Print(\"end\");\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"计时器将在其时间结束后被自动释放。" msgid "" "Returns the current frame number, i.e. the total frame count since the " @@ -51401,6 +65323,25 @@ msgid "" msgstr "将给定的对象排队准备删除,即在当前帧之后调用 [method Object.free] 。" msgid "" +"Quits the application at the end of the current iteration. Argument [param " +"exit_code] can optionally be given (defaulting to 0) to customize the exit " +"status code.\n" +"By convention, an exit code of [code]0[/code] indicates success whereas a " +"non-zero exit code indicates an error.\n" +"For portability reasons, the exit code should be set between 0 and 125 " +"(inclusive).\n" +"[b]Note:[/b] On iOS this method doesn't work. Instead, as recommended by the " +"iOS Human Interface Guidelines, the user is expected to close apps via the " +"Home button." +msgstr "" +"在当前迭代结束时退出应用程序。可以选择给出参数 [param exit_code](默认为 " +"0),以自定义退出状态代码。\n" +"按照惯例,退出代码 [code]0[/code] 表示成功,而非零的退出代码表示错误。\n" +"出于可移植性的原因,退出代码应设置在 0 到 125(含)之间。\n" +"[b]注意:[/b]这个方法在 iOS 上不起作用。根据《iOS 人机界面指南》中的建议,用" +"户应该通过 Home 键来关闭应用程序。" + +msgid "" "Reloads the currently active scene.\n" "Returns [constant OK] on success, [constant ERR_UNCONFIGURED] if no [member " "current_scene] was defined yet, [constant ERR_CANT_OPEN] if [member " @@ -51521,6 +65462,20 @@ msgstr "当计时器到 0 时发出。" msgid "A class stored as a resource." msgstr "作为资源存储的类。" +msgid "" +"A class stored as a resource. A script extends the functionality of all " +"objects that instantiate it.\n" +"This is the base class for all scripts and should not be used directly. " +"Trying to create a new script with this class will result in an error.\n" +"The [code]new[/code] method of a script subclass creates a new instance. " +"[method Object.set_script] extends an existing object, if that object's " +"class matches one of the script's base classes." +msgstr "" +"作为资源存储的类。脚本可以扩展所有以它为实例的对象的功能。\n" +"这是所有脚本的基类,不应直接使用。尝试使用此类创建新脚本将导致错误。\n" +"脚本子类的 [code]new[/code] 方法会创建新的实例。如果一个现有的对象的类与脚本" +"的基类之一相匹配,[method Object.set_script] 会扩展该对象。" + msgid "Scripting documentation index" msgstr "脚本文档索引" @@ -51557,6 +65512,11 @@ msgid "Returns [code]true[/code] if the script contains non-empty source code." msgstr "如果脚本包含非空源代码,则返回 [code]true[/code]。" msgid "" +"Returns [code]true[/code] if [param base_object] is an instance of this " +"script." +msgstr "如果 [param base_object] 是该脚本的实例,则返回 [code]true[/code]。" + +msgid "" "Returns [code]true[/code] if the script is a tool script. A tool script can " "run in the editor." msgstr "" @@ -51679,6 +65639,53 @@ msgid "A helper node for displaying scrollable elements such as lists." msgstr "用于显示可滚动元素(例如列表)的辅助节点。" msgid "" +"A ScrollContainer node meant to contain a [Control] child.\n" +"ScrollContainers will automatically create a scrollbar child ([HScrollBar], " +"[VScrollBar], or both) when needed and will only draw the Control within the " +"ScrollContainer area. Scrollbars will automatically be drawn at the right " +"(for vertical) or bottom (for horizontal) and will enable dragging to move " +"the viewable Control (and its children) within the ScrollContainer. " +"Scrollbars will also automatically resize the grabber based on the [member " +"Control.custom_minimum_size] of the Control relative to the " +"ScrollContainer.\n" +"Works great with a [Panel] control. You can set [constant Control." +"SIZE_EXPAND] on the children's size flags, so they will upscale to the " +"ScrollContainer's size if it's larger (scroll is invisible for the chosen " +"dimension)." +msgstr "" +"一个 ScrollContainer 节点,用于包含一个 [Control] 子节点。\n" +"ScrollContainer 将在需要时自动创建滚动条子项([HScrollBar]、[VScrollBar] 或两" +"者),并且只会在 ScrollContainer 区域内绘制该控件。滚动条将自动绘制在右侧(对" +"于垂直)或底部(对于水平),并且允许拖动以在 ScrollContainer 中移动可视控件" +"(及其子控件)。滚动条还将根据控件相对于 ScrollContainer 的 [member Control." +"custom_minimum_size],自动调整抓取器的大小。\n" +"与 [Panel] 控件配合使用效果很好。可以在子项的大小标志上设置 [constant " +"Control.SIZE_EXPAND],因此如果 ScrollContainer 较大(滚动对于所选维度不可" +"见),它们将放大到 ScrollContainer 的大小。" + +msgid "" +"Ensures the given [param control] is visible (must be a direct or indirect " +"child of the ScrollContainer). Used by [member follow_focus].\n" +"[b]Note:[/b] This will not work on a node that was just added during the " +"same frame. If you want to scroll to a newly added child, you must wait " +"until the next frame using [signal SceneTree.process_frame]:\n" +"[codeblock]\n" +"add_child(child_node)\n" +"await get_tree().process_frame\n" +"ensure_control_visible(child_node)\n" +"[/codeblock]" +msgstr "" +"确保给定的 [param control] 控件可见(必须是 ScrollContainer 的直接或间接子节" +"点)。会被 [member follow_focus] 使用。\n" +"[b]注意:[/b]这不适用于在同一帧内刚刚添加的节点。如果想滚动到一个新添加的子节" +"点,就必须使用 [signal SceneTree.process_frame] 等待至下一帧:\n" +"[codeblock]\n" +"add_child(child_node)\n" +"await get_tree().process_frame\n" +"ensure_control_visible(child_node)\n" +"[/codeblock]" + +msgid "" "If [code]true[/code], the ScrollContainer will automatically scroll to " "focused children (including indirect children) to make sure they are fully " "visible." @@ -51735,6 +65742,14 @@ msgstr "" "可用于同步多个 [Thread] 的同步信号量。创建时初始化为零。小心避免死锁。对于二" "进制版本,请参阅 [Mutex]。" +msgid "" +"Like [method wait], but won't block, so if the value is zero, fails " +"immediately and returns [code]false[/code]. If non-zero, it returns " +"[code]true[/code] to report success." +msgstr "" +"与 [method wait] 类似,但不会阻塞,所以如果值为零,则会立即失败并返回 " +"[code]false[/code]。如果非零,则返回 [code]true[/code] 以报告成功。" + msgid "The ray's length." msgstr "射线的长度。" @@ -51766,6 +65781,17 @@ msgid "Shaders documentation index" msgstr "着色器文档索引" msgid "" +"Returns the texture that is set as default for the specified parameter.\n" +"[b]Note:[/b] [param name] must match the name of the uniform in the code " +"exactly.\n" +"[b]Note:[/b] If the sampler array is used use [param index] to access the " +"specified texture." +msgstr "" +"返回被设置为指定参数的默认值的纹理。\n" +"[b]注意:[/b][param name] 必须与代码中的 uniform 名称完全匹配。\n" +"[b]注意:[/b]如果使用采样器数组,则使用 [param index] 访问指定的纹理。" + +msgid "" "Returns the shader mode for the shader, either [constant MODE_CANVAS_ITEM], " "[constant MODE_SPATIAL] or [constant MODE_PARTICLES]." msgstr "" @@ -51773,6 +65799,19 @@ msgstr "" "或 [constant MODE_PARTICLES]。" msgid "" +"Sets the default texture to be used with a texture uniform. The default is " +"used if a texture is not set in the [ShaderMaterial].\n" +"[b]Note:[/b] [param name] must match the name of the uniform in the code " +"exactly.\n" +"[b]Note:[/b] If the sampler array is used use [param index] to access the " +"specified texture." +msgstr "" +"设置要与纹理 uniform 一起使用的默认纹理。如果未在 [ShaderMaterial] 中设置纹" +"理,则使用该默认值。\n" +"[b]注意:[/b][param name] 必须与代码中的 uniform 名称完全匹配。\n" +"[b]注意:[/b]如果使用采样器数组,则使用 [param index] 访问指定的纹理。" + +msgid "" "Returns the shader's code as the user has written it, not the full generated " "code used internally." msgstr "返回用户编写的着色器代码,而不是内部使用的完整生成代码。" @@ -51804,6 +65843,68 @@ msgstr "所有 2D 形状的基类。" msgid "Base class for all 2D shapes. All 2D shape types inherit from this." msgstr "所有 2D 形状的基类。所有的 2D 形状类型都继承于此。" +msgid "" +"Returns [code]true[/code] if this shape is colliding with another.\n" +"This method needs the transformation matrix for this shape ([param " +"local_xform]), the shape to check collisions with ([param with_shape]), and " +"the transformation matrix of that shape ([param shape_xform])." +msgstr "" +"如果该形状与另一个形状发生碰撞,返回 [code]true[/code]。\n" +"本方法需要该形状的变换矩阵([param local_xform])、要检查与该形状碰撞的形状" +"([param with_shape])、以及那个形状的变换矩阵([param shape_xform])。" + +msgid "" +"Returns a list of contact point pairs where this shape touches another.\n" +"If there are no collisions, the returned list is empty. Otherwise, the " +"returned list contains contact points arranged in pairs, with entries " +"alternating between points on the boundary of this shape and points on the " +"boundary of [param with_shape].\n" +"A collision pair A, B can be used to calculate the collision normal with " +"[code](B - A).normalized()[/code], and the collision depth with [code](B - " +"A).length()[/code]. This information is typically used to separate shapes, " +"particularly in collision solvers.\n" +"This method needs the transformation matrix for this shape ([param " +"local_xform]), the shape to check collisions with ([param with_shape]), and " +"the transformation matrix of that shape ([param shape_xform])." +msgstr "" +"返回该形状与另一形状接触的接触点对的列表。\n" +"如果不存在碰撞,则返回的列表为空。否则,返回的列表中包含的是成对排列的接触" +"点,在该形状边界上的点和 [param with_shape] 边界上的点之间交替排列。\n" +"有了碰撞对 A 和 B,就可以通过 [code](B - A).normalized()[/code] 计算碰撞法" +"线,通过 [code](B - A).length()[/code] 计算碰撞深度。这些信息通常用于分离形" +"状,在碰撞求解器中比较常见。\n" +"这个方法需要用到该形状的变换矩阵([param local_xform])、要检查与该形状是否碰" +"撞的形状([param with_shape])、以及那个形状的变换矩阵([param " +"shape_xform])。" + +msgid "" +"Returns a list of contact point pairs where this shape would touch another, " +"if a given movement was applied.\n" +"If there would be no collisions, the returned list is empty. Otherwise, the " +"returned list contains contact points arranged in pairs, with entries " +"alternating between points on the boundary of this shape and points on the " +"boundary of [param with_shape].\n" +"A collision pair A, B can be used to calculate the collision normal with " +"[code](B - A).normalized()[/code], and the collision depth with [code](B - " +"A).length()[/code]. This information is typically used to separate shapes, " +"particularly in collision solvers.\n" +"This method needs the transformation matrix for this shape ([param " +"local_xform]), the movement to test on this shape ([param local_motion]), " +"the shape to check collisions with ([param with_shape]), the transformation " +"matrix of that shape ([param shape_xform]), and the movement to test onto " +"the other object ([param shape_motion])." +msgstr "" +"返回如果应用了给定的移动后,该形状将接触另一形状的接触点对列表。\n" +"如果不存在碰撞,则返回的列表为空。否则,返回的列表中包含的是成对排列的接触" +"点,在该形状边界上的点和 [param with_shape] 边界上的点之间会交替出现。\n" +"有了碰撞对 A 和 B,就可以通过 [code](B - A).normalized()[/code] 计算碰撞法" +"线,通过 [code](B - A).length()[/code] 计算碰撞深度。这些信息通常用于分离形" +"状,在碰撞求解器中比较常见。\n" +"本方法需要用到该形状的变换矩阵([param local_xform])、要在该形状上测试的运动" +"([param local_motion])、要检查与该形状是否碰撞的形状([param " +"with_shape])、那个形状的变换矩阵([param shape_xform])、以及要在其他形状上" +"测试的运动([param shape_motion])。" + msgid "Returns a [Rect2] representing the shapes boundary." msgstr "返回代表形状边界的 [Rect2]。" @@ -52052,6 +66153,27 @@ msgstr "返回 Skeleton2D 实例的 [RID]。" msgid "Skeleton for characters and animated objects." msgstr "角色和动画对象的骨架。" +msgid "" +"Skeleton3D provides a hierarchical interface for managing bones, including " +"pose, rest and animation (see [Animation]). It can also use ragdoll " +"physics.\n" +"The overall transform of a bone with respect to the skeleton is determined " +"by the following hierarchical order: rest pose, custom pose and pose.\n" +"Note that \"global pose\" below refers to the overall transform of the bone " +"with respect to skeleton, so it not the actual global/world transform of the " +"bone.\n" +"To setup different types of inverse kinematics, consider using " +"[SkeletonIK3D], or add a custom IK implementation in [method Node._process] " +"as a child node." +msgstr "" +"Skeleton3D 提供了一个层次化的界面来管理骨骼,包括姿势、放松和动画(参见 " +"[Animation])。它还可以使用布娃娃物理。\n" +"骨骼相对于骨架的整体变换由以下层次顺序确定:放松姿势、自定义姿势、和姿势。\n" +"请注意,下面的“全局姿势”是指骨骼相对于骨架的整体变换,因此它不是骨骼的实际全" +"局/世界变换。\n" +"要设置不同类型的反向运动学,请考虑使用 [SkeletonIK3D],或在 [method Node." +"_process] 中添加一个自定义 IK 实现作为子节点。" + msgid "Clear all the bones in this skeleton." msgstr "清除这个骨架上的所有骨骼。" @@ -52072,12 +66194,59 @@ msgstr "" "的,这不是该骨骼的实际“全局”变换。" msgid "" +"Returns the bone index which is the parent of the bone at [param bone_idx]. " +"If -1, then bone has no parent.\n" +"[b]Note:[/b] The parent bone returned will always be less than [param " +"bone_idx]." +msgstr "" +"返回 [param bone_idx] 处的骨骼的父级骨骼索引。如果为 -1,则该骨骼没有父级。\n" +"[b]注意:[/b]返回的父骨骼索引总是小于 [param bone_idx]。" + +msgid "" "Returns the pose transform of the specified bone. Pose is applied on top of " "the custom pose, which is applied on top the rest pose." msgstr "" "返回指定骨骼的姿势变换。姿势应用于自定义姿势之上,自定义姿势应用于放松姿势之" "上。" +msgid "Returns all bones in the skeleton to their rest poses." +msgstr "将骨架中的所有骨骼都恢复到放松姿势。" + +msgid "" +"Adds a collision exception to the physical bone.\n" +"Works just like the [RigidBody3D] node." +msgstr "" +"向物理骨骼添加一个碰撞例外。\n" +"就像 [RigidBody3D] 节点一样工作。" + +msgid "" +"Removes a collision exception to the physical bone.\n" +"Works just like the [RigidBody3D] node." +msgstr "" +"移除物理骨骼的一个碰撞例外。\n" +"就像 [RigidBody3D] 节点一样工作。" + +msgid "" +"Tells the [PhysicalBone3D] nodes in the Skeleton to start simulating and " +"reacting to the physics world.\n" +"Optionally, a list of bone names can be passed-in, allowing only the passed-" +"in bones to be simulated." +msgstr "" +"让 Skeleton 中的 [PhysicalBone3D] 节点开始仿真模拟,对物理世界做出反应。\n" +"可以传入骨骼名称列表,只对传入的骨骼进行仿真模拟。" + +msgid "Tells the [PhysicalBone3D] nodes in the Skeleton to stop simulating." +msgstr "让 Skeleton 中的 [PhysicalBone3D] 节点停止仿真模拟。" + +msgid "Binds the given Skin to the Skeleton." +msgstr "将给定的 Skin 绑定到 Skeleton。" + +msgid "Sets the bone pose to rest for [param bone_idx]." +msgstr "将 [param bone_idx] 骨骼设置为放松姿势。" + +msgid "Sets all bone poses to rests." +msgstr "将所有骨骼都设置为放松姿势。" + msgid "" "Sets the global pose transform, [param pose], for the bone at [param " "bone_idx].\n" @@ -52097,6 +66266,18 @@ msgstr "" "affine_inverse] 乘以所期望的世界变换。" msgid "" +"Sets the bone index [param parent_idx] as the parent of the bone at [param " +"bone_idx]. If -1, then bone has no parent.\n" +"[b]Note:[/b] [param parent_idx] must be less than [param bone_idx]." +msgstr "" +"将骨骼索引 [param parent_idx] 设置为 [param bone_idx] 处骨骼的父级。如果为 " +"-1,则该骨骼没有父级。\n" +"[b]注意:[/b][param parent_idx] 必须小于 [param bone_idx]。" + +msgid "Sets the rest transform for bone [param bone_idx]." +msgstr "设置骨骼 [param bone_idx] 的放松变换。" + +msgid "" "SkeletonIK3D is used to place the end bone of a [Skeleton3D] bone chain at a " "certain point in 3D by rotating all bones in the chain accordingly." msgstr "" @@ -52225,6 +66406,15 @@ msgid "A resource that operates on [Bone2D] nodes in a [Skeleton2D]." msgstr "对 [Skeleton2D] 中的 [Bone2D] 节点进行操作的资源。" msgid "" +"Returns the [Bone2D] node assigned to the CCDIK joint at [param joint_idx]." +msgstr "返回分配给位于 [param joint_idx] 的 CCDIK 关节的 [Bone2D] 节点。" + +msgid "" +"Returns the index of the [Bone2D] node assigned to the CCDIK joint at [param " +"joint_idx]." +msgstr "返回分配给位于 [param joint_idx] 的 CCDIK 关节的 [Bone2D] 节点的索引。" + +msgid "" "Returns the maximum angle constraint for the joint at [param joint_idx]." msgstr "返回索引为 [param joint_idx] 的关节的最大角约束。" @@ -52232,6 +66422,10 @@ msgid "" "Returns the minimum angle constraint for the joint at [param joint_idx]." msgstr "返回索引为 [param joint_idx] 的关节的最小角约束。" +msgid "" +"Sets the [Bone2D] node assigned to the CCDIK joint at [param joint_idx]." +msgstr "设置分配给位于 [param joint_idx] 的 CCDIK 关节的 [Bone2D] 节点。" + msgid "Sets the maximum angle constraint for the joint at [param joint_idx]." msgstr "设置索引为 [param joint_idx] 的关节的最大角约束。" @@ -52241,6 +66435,20 @@ msgstr "设置索引为 [param joint_idx] 的关节的最小角约束。" msgid "The number of CCDIK joints in the CCDIK modification." msgstr "CCDIK 修改中 CCDIK 关节的数量。" +msgid "" +"Returns the [Bone2D] node assigned to the FABRIK joint at [param joint_idx]." +msgstr "返回分配给位于 [param joint_idx] 的 FABRIK 关节的 [Bone2D] 节点。" + +msgid "" +"Returns the index of the [Bone2D] node assigned to the FABRIK joint at " +"[param joint_idx]." +msgstr "" +"返回分配给位于 [param joint_idx] 的 FABRIK 关节的 [Bone2D] 节点的索引。" + +msgid "" +"Sets the [Bone2D] node assigned to the FABRIK joint at [param joint_idx]." +msgstr "设置分配给位于 [param joint_idx] 的 FABRIK 关节的 [Bone2D] 节点。" + msgid "The number of FABRIK joints in the FABRIK modification." msgstr "FABRIK 修改中 FABRIK 关节的数量。" @@ -52256,6 +66464,15 @@ msgstr "设置该约束允许的最大角度。" msgid "Sets the constraint's minimum allowed angle." msgstr "设置该约束允许的最小角度。" +msgid "A resource that holds a stack of [SkeletonModification2D]s." +msgstr "存放 [SkeletonModification2D] 栈的资源。" + +msgid "Adds the passed-in [SkeletonModification2D] to the stack." +msgstr "将传入的 [SkeletonModification2D] 入栈。" + +msgid "Enables all [SkeletonModification2D]s in the stack." +msgstr "启用栈中的所有 [SkeletonModification2D]。" + msgid "Returns the group of the bone at [param bone_idx]." msgstr "返回索引为 [param bone_idx] 的骨骼的分组。" @@ -52276,6 +66493,9 @@ msgstr "不计算方向。" msgid "A humanoid [SkeletonProfile] preset." msgstr "人形 [SkeletonProfile] 预设。" +msgid "Background that uses a [Material] to draw a sky." +msgstr "使用 [Material] 绘制天空的背景。" + msgid "Radiance texture size is 32×32 pixels." msgstr "辐照度纹理尺寸为 32×32 像素。" @@ -52392,6 +66612,42 @@ msgstr "返回表面数组中顶点的局部平移。" msgid "Returns [code]true[/code] if vertex is set to pinned." msgstr "如果顶点设置为固定,则返回 [code]true[/code]。" +msgid "" +"Sets the pinned state of a surface vertex. When set to [code]true[/code], " +"the optional [param attachment_path] can define a [Node3D] the pinned vertex " +"will be attached to." +msgstr "" +"设置表面顶点的固定状态。当设置为 [code]true[/code] 时,可选的 [param " +"attachment_path] 可以定义一个 [Node3D],该固定顶点将被附加到该节点。" + +msgid "" +"The physics layers this SoftBody3D [b]is in[/b]. Collision objects can exist " +"in one or more of 32 different layers. See also [member collision_mask].\n" +"[b]Note:[/b] Object A can detect a contact with object B only if object B is " +"in any of the layers that object A scans. See [url=$DOCS_URL/tutorials/" +"physics/physics_introduction.html#collision-layers-and-masks]Collision " +"layers and masks[/url] in the documentation for more information." +msgstr "" +"该 SoftBody3D [b]所在[/b]的物理层。碰撞对象可以存在于 32 个不同层中的一个或多" +"个层中。另见 [member collision_mask]。\n" +"[b]注意:[/b]只有当对象 B 位于对象 A 扫描的任意层中时,对象 A 才能检测到与对" +"象 B 的接触。有关更多信息,请参阅文档中的[url=$DOCS_URL/tutorials/physics/" +"physics_introduction.html#collision-layers-and-masks]《碰撞层与掩码》[/url]。" + +msgid "" +"The physics layers this SoftBody3D [b]scans[/b]. Collision objects can scan " +"one or more of 32 different layers. See also [member collision_layer].\n" +"[b]Note:[/b] Object A can detect a contact with object B only if object B is " +"in any of the layers that object A scans. See [url=$DOCS_URL/tutorials/" +"physics/physics_introduction.html#collision-layers-and-masks]Collision " +"layers and masks[/url] in the documentation for more information." +msgstr "" +"该 SoftBody3D [b]扫描[/b]的物理层。碰撞对象可以扫描 32 个不同层中的一个或多个" +"层。另见 [member collision_layer]。\n" +"[b]注意:[/b]只有当对象 B 位于对象 A 扫描的任何层中时,对象 A 才能检测到与对" +"象 B 的接触。有关更多信息,请参阅文档中的[url=$DOCS_URL/tutorials/physics/" +"physics_introduction.html#collision-layers-and-masks]《碰撞层与掩码》[/url]。" + msgid "If [code]true[/code], the [SoftBody3D] will respond to [RayCast3D]s." msgstr "如果为 [code]true[/code],则该 [SoftBody3D] 会响应 [RayCast3D]。" @@ -52527,12 +66783,96 @@ msgstr "拆分拖动器永远不可见。" msgid "The split dragger is never visible and its space collapsed." msgstr "拆分拖动器永远不可见,其空间也被折叠。" +msgid "" +"The icon used for the grabber drawn in the middle area when [member " +"vertical] is [code]false[/code]." +msgstr "[member vertical] 为 [code]false[/code] 时绘制在中间区域的抓取器图标。" + +msgid "" +"The icon used for the grabber drawn in the middle area when [member " +"vertical] is [code]true[/code]." +msgstr "[member vertical] 为 [code]true[/code] 时绘制在中间区域的抓取器图标。" + msgid "A spotlight, such as a reflector spotlight or a lantern." msgstr "聚光灯,如反射器聚光灯或灯笼。" +msgid "" +"A Spotlight is a type of [Light3D] node that emits lights in a specific " +"direction, in the shape of a cone. The light is attenuated through the " +"distance. This attenuation can be configured by changing the energy, radius " +"and attenuation parameters of [Light3D].\n" +"[b]Note:[/b] When using the Mobile rendering method, only 8 spot lights can " +"be displayed on each mesh resource. Attempting to display more than 8 spot " +"lights on a single mesh resource will result in spot lights flickering in " +"and out as the camera moves. When using the Compatibility rendering method, " +"only 8 spot lights can be displayed on each mesh resource by default, but " +"this can be increased by adjusting [member ProjectSettings.rendering/limits/" +"opengl/max_lights_per_object].\n" +"[b]Note:[/b] When using the Mobile or Compatibility rendering methods, spot " +"lights will only correctly affect meshes whose visibility AABB intersects " +"with the light'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 light may not be visible on " +"the mesh." +msgstr "" +"聚光灯是一种 [Light3D] 节点,向指定的方向发出圆锥形的灯光。光线会随距离增大而" +"衰减。衰减可以通过修改 [Light3D] 的能量、半径、衰减参数进行控制。\n" +"[b]注意:[/b]使用 Mobile 渲染方法时,单个网格资源只能用到 8 盏聚光灯。尝试对" +"单个网格资源使用超过 8 盏聚光灯会导致聚光灯在相机移动时产生闪烁。使用 " +"Compatibility 渲染方法时,单个网格资源默认只能用到 8 盏聚光灯,但可以通过调" +"整 [member ProjectSettings.rendering/limits/opengl/max_lights_per_object] 增" +"加。\n" +"[b]注意:[/b]使用 Mobile 或 Compatibility 渲染方法时,聚光灯只能影响可见 " +"AABB 与灯光 AABB 相交的网格。如果使用了着色器将网格进行了变形,超出了 AABB 的" +"范围,则必须将该网格的 [member GeometryInstance3D.extra_cull_margin] 增大。否" +"则灯光在该网格上可能不可见。" + +msgid "" +"The spotlight's angle in degrees.\n" +"[b]Note:[/b] [member spot_angle] is not affected by [member Node3D.scale] " +"(the light's scale or its parent's scale)." +msgstr "" +"聚光灯的角度,单位为度。\n" +"[b]注意:[/b][member spot_angle] 不受 [member Node3D.scale] 的影响(无论是该" +"灯光的缩放还是其父节点的缩放)。" + +msgid "" +"The spotlight's [i]angular[/i] attenuation curve. See also [member " +"spot_attenuation]." +msgstr "聚光灯的[i]角度[/i]衰减曲线。另见 [member spot_attenuation]。" + +msgid "" +"The spotlight's light energy (drop-off) attenuation curve. A number of " +"presets are available in the [b]Inspector[/b] by right-clicking the curve. " +"Zero and negative values are allowed but can produce unusual effects. See " +"also [member spot_angle_attenuation].\n" +"[b]Note:[/b] Very high [member spot_attenuation] values (typically above 10) " +"can impact performance negatively if the light is made to use a larger " +"[member spot_range] to compensate. This is because culling opportunities " +"will become less common and shading costs will be increased (as the light " +"will cover more pixels on screen while resulting in the same amount of " +"brightness). To improve performance, use the lowest [member " +"spot_attenuation] value possible for the visuals you're trying to achieve." +msgstr "" +"聚光灯的光照能量(下降)衰减曲线。在[b]检查器[/b]中右键单击曲线会提供一些预" +"设。允许零和负数,但可能产生异常效果。另见 [member " +"spot_angle_attenuation]。\n" +"[b]注意:[/b]如果 [member spot_attenuation] 值很高(一般大于 10),将灯光的 " +"[member spot_range] 调大去进行补偿会对性能产生负面影响。这是因为剔除的机会会" +"变少,从而增加在着色上的消耗(因为在亮度相同的前提下,灯光会覆盖屏幕上的更多" +"像素)。为了提升性能,请使用尽可能低的 [member spot_attenuation] 值来达成想要" +"的显示效果。" + msgid "A helper node, mostly used in 3rd person cameras." msgstr "辅助节点,主要用于第三人称相机。" +msgid "" +"Adds the [PhysicsBody3D] object with the given [RID] to the list of " +"[PhysicsBody3D] objects excluded from the collision check." +msgstr "" +"将具有给定 [RID] 的 [PhysicsBody3D] 对象,添加到从碰撞检查中排除的 " +"[PhysicsBody3D] 对象列表中。" + msgid "Returns the spring arm's current length." msgstr "返回弹簧臂的当前长度。" @@ -52692,6 +67032,12 @@ msgid "The direction in which the front of the texture faces." msgstr "纹理正面朝向的方向。" msgid "" +"The billboard mode to use for the sprite. See [enum BaseMaterial3D." +"BillboardMode] for possible values." +msgstr "" +"该精灵使用的公告板模式。可能的值见 [enum BaseMaterial3D.BillboardMode]。" + +msgid "" "If [code]true[/code], texture can be seen from the back as well, if " "[code]false[/code], it is invisible when looking at it from behind." msgstr "" @@ -52780,7 +67126,7 @@ msgstr "返回 [param anim] 动画中的帧数。" msgid "" "Returns the texture of the frame [param idx] in the [param anim] animation." -msgstr "移除 [param anim] 动画中索引为 [param idx] 的帧的纹理。" +msgstr "返回 [param anim] 动画中帧索引为 [param idx] 的纹理。" msgid "Returns [code]true[/code] if the [param anim] animation exists." msgstr "如果 [param anim] 动画存在,则返回 [code]true[/code]。" @@ -53149,6 +67495,20 @@ msgstr "处理 GZIP 和 deflate 压缩/解压缩的流对等体。" msgid "Clears this stream, resetting the internal state." msgstr "将流清空,重设内部状态。" +msgid "" +"Start the stream in compression mode with the given [param buffer_size], if " +"[param use_deflate] is [code]true[/code] uses deflate instead of GZIP." +msgstr "" +"开始压缩模式的流,缓冲区大小为 [param buffer_size],如果 [param use_deflate] " +"为 [code]true[/code] 则使用 deflate 而不是 GZIP。" + +msgid "" +"Start the stream in decompression mode with the given [param buffer_size], " +"if [param use_deflate] is [code]true[/code] uses deflate instead of GZIP." +msgstr "" +"开始解压模式的流,缓冲区大小为 [param buffer_size],如果 [param use_deflate] " +"为 [code]true[/code] 则使用 deflate 而不是 GZIP。" + msgid "TCP stream peer." msgstr "TCP 流对等体。" @@ -53200,6 +67560,22 @@ msgid "Poll the socket, updating its state. See [method get_status]." msgstr "轮询套接字,更新其状态。见 [method get_status]。" msgid "" +"If [param enabled] is [code]true[/code], packets will be sent immediately. " +"If [param enabled] is [code]false[/code] (the default), packet transfers " +"will be delayed and combined using [url=https://en.wikipedia.org/wiki/" +"Nagle%27s_algorithm]Nagle's algorithm[/url].\n" +"[b]Note:[/b] It's recommended to leave this disabled for applications that " +"send large packets or need to transfer a lot of data, as enabling this can " +"decrease the total available bandwidth." +msgstr "" +"如果 [param enabled] 为 [code]true[/code],数据包会立即发送。如果 [param " +"enabled] 为 [code]false[/code](默认值),数据包传输将被延迟,并使用" +"[url=https://zh.wikipedia.org/wiki/%E7%B4%8D%E6%A0%BC%E7%AE%97%E6%B3%95]纳格" +"算法[/url]合并。\n" +"[b]注意:[/b]对于发送大数据包或需要传输大量数据的应用程序,建议将本属性保持禁" +"用,因为启用本属性会减少总体可用带宽。" + +msgid "" "The initial status of the [StreamPeerTCP]. This is also the status after " "disconnecting." msgstr "[StreamPeerTCP]的初始状态。这也是断开连接后的状态。" @@ -54742,70 +69118,6 @@ msgid "Returns the character code at position [param at]." msgstr "返回位于 [param at] 处的字符的代码。" msgid "" -"Decodes the string from its URL-encoded format. This method is meant to " -"properly decode the parameters in a URL when receiving an HTTP request.\n" -"[codeblocks]\n" -"[gdscript]\n" -"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" -"print(url.uri_decode()) # Prints \"$DOCS_URL/?highlight=Godot Engine:docs\"\n" -"[/gdscript]\n" -"[csharp]\n" -"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" -"GD.Print(url.URIDecode()) // Prints \"$DOCS_URL/?highlight=Godot Engine:" -"docs\"\n" -"[/csharp]\n" -"[/codeblocks]" -msgstr "" -"将该字符串从 URL 编码格式中解码。该方法的目的是在收到 HTTP 请求时正确解码 " -"URL 中的参数。\n" -"[codeblocks]\n" -"[gdscript]\n" -"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" -"print(url.uri_decode()) # 输出 \"$DOCS_URL/?highlight=Godot Engine:docs\"\n" -"[/gdscript]\n" -"[csharp]\n" -"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" -"GD.Print(url.URIDecode()) // 输出 \"$DOCS_URL/?highlight=Godot Engine:" -"docs\"\n" -"[/csharp]\n" -"[/codeblocks]" - -msgid "" -"Encodes the string to URL-friendly format. This method is meant to properly " -"encode the parameters in a URL when sending an HTTP request.\n" -"[codeblocks]\n" -"[gdscript]\n" -"var prefix = \"$DOCS_URL/?highlight=\"\n" -"var url = prefix + \"Godot Engine:docs\".uri_encode()\n" -"\n" -"print(url) # Prints \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" -"[/gdscript]\n" -"[csharp]\n" -"var prefix = \"$DOCS_URL/?highlight=\";\n" -"var url = prefix + \"Godot Engine:docs\".URIEncode();\n" -"\n" -"GD.Print(url); // Prints \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" -"[/csharp]\n" -"[/codeblocks]" -msgstr "" -"将该字符串按照对 URL 友好的格式进行编码。该方法的目的是在发送 HTTP 请求时,正" -"确编码 URL 中的参数。\n" -"[codeblocks]\n" -"[gdscript]\n" -"var prefix = \"$DOCS_URL/?highlight=\"\n" -"var url = prefix + \"Godot Engine:docs\".uri_encode()\n" -"\n" -"print(url) # 输出 \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" -"[/gdscript]\n" -"[csharp]\n" -"var prefix = \"$DOCS_URL/?highlight=\";\n" -"var url = prefix + \"Godot Engine:docs\".URIEncode();\n" -"\n" -"GD.Print(url); // 输出 \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" -"[/csharp]\n" -"[/codeblocks]" - -msgid "" "Returns a copy of the string with all characters that are not allowed in " "[method is_valid_filename] replaced with underscores." msgstr "" @@ -55013,6 +69325,70 @@ msgstr "" "[code]StringName(\"example\")[/code] 与 [code]&\"example\"[/code] 等价。" msgid "" +"Decodes the string from its URL-encoded format. This method is meant to " +"properly decode the parameters in a URL when receiving an HTTP request.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" +"print(url.uri_decode()) # Prints \"$DOCS_URL/?highlight=Godot Engine:docs\"\n" +"[/gdscript]\n" +"[csharp]\n" +"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" +"GD.Print(url.URIDecode()) // Prints \"$DOCS_URL/?highlight=Godot Engine:" +"docs\"\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"将该字符串从 URL 编码格式中解码。该方法的目的是在收到 HTTP 请求时正确解码 " +"URL 中的参数。\n" +"[codeblocks]\n" +"[gdscript]\n" +"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" +"print(url.uri_decode()) # 输出 \"$DOCS_URL/?highlight=Godot Engine:docs\"\n" +"[/gdscript]\n" +"[csharp]\n" +"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" +"GD.Print(url.URIDecode()) // 输出 \"$DOCS_URL/?highlight=Godot Engine:" +"docs\"\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" +"Encodes the string to URL-friendly format. This method is meant to properly " +"encode the parameters in a URL when sending an HTTP request.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var prefix = \"$DOCS_URL/?highlight=\"\n" +"var url = prefix + \"Godot Engine:docs\".uri_encode()\n" +"\n" +"print(url) # Prints \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" +"[/gdscript]\n" +"[csharp]\n" +"var prefix = \"$DOCS_URL/?highlight=\";\n" +"var url = prefix + \"Godot Engine:docs\".URIEncode();\n" +"\n" +"GD.Print(url); // Prints \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"将该字符串按照对 URL 友好的格式进行编码。该方法的目的是在发送 HTTP 请求时,正" +"确编码 URL 中的参数。\n" +"[codeblocks]\n" +"[gdscript]\n" +"var prefix = \"$DOCS_URL/?highlight=\"\n" +"var url = prefix + \"Godot Engine:docs\".uri_encode()\n" +"\n" +"print(url) # 输出 \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" +"[/gdscript]\n" +"[csharp]\n" +"var prefix = \"$DOCS_URL/?highlight=\";\n" +"var url = prefix + \"Godot Engine:docs\".URIEncode();\n" +"\n" +"GD.Print(url); // 输出 \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" "Returns [code]true[/code] if this [StringName] is not equivalent to the " "given [String]." msgstr "" @@ -55203,6 +69579,48 @@ msgid "" "Customizable [StyleBox] with a given set of parameters (no texture required)." msgstr "可通过一系列参数自定义的 [StyleBox](无需纹理) 。" +msgid "" +"This [StyleBox] can be used to achieve all kinds of looks without the need " +"of a texture. The following properties are customizable:\n" +"- Color\n" +"- Border width (individual width for each border)\n" +"- Rounded corners (individual radius for each corner)\n" +"- Shadow (with blur and offset)\n" +"Setting corner radius to high values is allowed. As soon as corners overlap, " +"the stylebox will switch to a relative system.\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"height = 30\n" +"corner_radius_top_left = 50\n" +"corner_radius_bottom_left = 100\n" +"[/codeblock]\n" +"The relative system now would take the 1:2 ratio of the two left corners to " +"calculate the actual corner width. Both corners added will [b]never[/b] be " +"more than the height. Result:\n" +"[codeblock]\n" +"corner_radius_top_left: 10\n" +"corner_radius_bottom_left: 20\n" +"[/codeblock]" +msgstr "" +"这个 [StyleBox] 可以用来实现各种外观,无需纹理。以下属性是可定制的:\n" +"- 颜色\n" +"- 边框宽度(每个边框的单独宽度)\n" +"- 圆角(每个角的单独半径)\n" +"- 阴影(带有模糊和偏移)\n" +"允许将圆角半径设置为较高的值。两角重叠时,样式盒将切换到相对系统。\n" +"[b]示例:[/b]\n" +"[codeblock]\n" +"height = 30\n" +"corner_radius_top_left = 50\n" +"corner_radius_bottom_left = 100\n" +"[/codeblock]\n" +"相对系统现在将采用两个左角的 1:2 比率来计算实际角宽度。添加的两个角[b]永远[/" +"b]不会超过高度。结果:\n" +"[codeblock]\n" +"corner_radius_top_left: 10\n" +"corner_radius_bottom_left: 20\n" +"[/codeblock]" + msgid "Returns the specified [enum Side]'s border width." msgstr "返回指定边 [enum Side] 的边框宽度。" @@ -55518,6 +69936,16 @@ msgstr "绘制时扩展此样式盒的上边距,使其绘制得比请求的大 msgid "Modulates the color of the texture when this style box is drawn." msgstr "绘制此样式盒时用于调制纹理的颜色。" +msgid "" +"Species a sub-region of the texture to use.\n" +"This is equivalent to first wrapping the texture in an [AtlasTexture] with " +"the same region.\n" +"If empty ([code]Rect2(0, 0, 0, 0)[/code]), the whole texture will be used." +msgstr "" +"指定要使用的纹理的子区域。\n" +"这相当于首先将纹理包裹在具有相同区域的 [AtlasTexture] 中。\n" +"如果为空([code]Rect2(0, 0, 0, 0)[/code]),则将使用整个纹理。" + msgid "The texture to use when drawing this style box." msgstr "绘制此样式盒时所使用的纹理。" @@ -55624,6 +70052,25 @@ msgstr "" msgid "The update mode when the sub-viewport is used as a render target." msgstr "该子视口用作渲染目标时的更新模式。" +msgid "" +"The width and height of the sub-viewport. Must be set to a value greater " +"than or equal to 2 pixels on both dimensions. Otherwise, nothing will be " +"displayed.\n" +"[b]Note:[/b] If the parent node is a [SubViewportContainer] and its [member " +"SubViewportContainer.stretch] is [code]true[/code], the viewport size cannot " +"be changed manually." +msgstr "" +"子视口的宽度和高度。必须在两个维度上设置为大于或等于 2 像素的值。否则,不会显" +"示任何内容。\n" +"[b]注意:[/b]如果父节点是一个 [SubViewportContainer],并且它的 [member " +"SubViewportContainer.stretch] 为 [code]true[/code],则无法手动更改该视口大" +"小。" + +msgid "" +"The 2D size override of the sub-viewport. If either the width or height is " +"[code]0[/code], the override is disabled." +msgstr "子视口的 2D 尺寸覆盖。如果宽度或高度为 [code]0[/code],则禁用覆盖。" + msgid "If [code]true[/code], the 2D size override affects stretch as well." msgstr "如果为 [code]true[/code],则 2D 尺寸覆盖也会影响拉伸。" @@ -55725,6 +70172,18 @@ msgid "Clear all information passed into the surface tool so far." msgstr "清除到目前为止传入表面工具(surface tool)的所有信息。" msgid "" +"Returns a constructed [ArrayMesh] from current information passed in. If an " +"existing [ArrayMesh] is passed in as an argument, will add an extra surface " +"to the existing [ArrayMesh].\n" +"[b]FIXME:[/b] Document possible values for [param flags], it changed in 4.0. " +"Likely some combinations of [enum Mesh.ArrayFormat]." +msgstr "" +"根据传入的当前信息返回构造的 [ArrayMesh]。如果将一个已有的 [ArrayMesh] 作为参" +"数传入,则会向该已有的 [ArrayMesh] 添加一个额外的表面。\n" +"[b]修订说明:[/b][param flags] 的记录可能值,它在 4.0 中发生了变化。可能是 " +"[enum Mesh.ArrayFormat] 的一些组合。" + +msgid "" "Commits the data to the same format used by [method ArrayMesh." "add_surface_from_arrays]. This way you can further process the mesh data " "using the [ArrayMesh] API." @@ -55746,6 +70205,34 @@ msgid "Removes the index array by expanding the vertex array." msgstr "通过扩展顶点数组移除索引数组。" msgid "" +"Generates normals from vertices so you do not have to do it manually. If " +"[param flip] is [code]true[/code], the resulting normals will be inverted. " +"[method generate_normals] should be called [i]after[/i] generating geometry " +"and [i]before[/i] committing the mesh using [method commit] or [method " +"commit_to_arrays]. For correct display of normal-mapped surfaces, you will " +"also have to generate tangents using [method generate_tangents].\n" +"[b]Note:[/b] [method generate_normals] only works if the primitive type to " +"be set to [constant Mesh.PRIMITIVE_TRIANGLES].\n" +"[b]Note:[/b] [method generate_normals] takes smooth groups into account. To " +"generate smooth normals, set the smooth group to a value greater than or " +"equal to [code]0[/code] using [method set_smooth_group] or leave the smooth " +"group at the default of [code]0[/code]. To generate flat normals, set the " +"smooth group to [code]-1[/code] using [method set_smooth_group] prior to " +"adding vertices." +msgstr "" +"从顶点生成法线,因此不必手动执行。如果 [param flip] 为 [code]true[/code],则" +"生成的法线将被反转。[method generate_normals] 的调用,应在生成几何体[i]之后[/" +"i],且在使用 [method commit] 或 [method commit_to_arrays] 提交网格[i]之前[/" +"i]。为了正确显示法线贴图表面,还必须使用 [method generate_tangents] 生成切" +"线。\n" +"[b]注意:[/b][method generate_normals] 仅在图元类型被设置为 [constant Mesh." +"PRIMITIVE_TRIANGLES] 时有效。\n" +"[b]注意:[/b][method generate_normals] 考虑了平滑组。要生成平滑法线,请使用 " +"[method set_smooth_group] 将平滑组设置为大于或等于 [code]0[/code] 的值,或者" +"将平滑组保留为默认值 [code]0[/code]。要生成平面法线,请在添加顶点之前,使用 " +"[method set_smooth_group] 将平滑组设置为 [code]-1[/code]。" + +msgid "" "Generates a tangent vector for each vertex. Requires that each vertex have " "UVs and normals set already (see [method generate_normals])." msgstr "" @@ -55757,6 +70244,11 @@ msgid "" "performance by avoiding vertex reuse." msgstr "通过创建索引数组来缩小顶点数组。这可以避免顶点重复而提高性能。" +msgid "" +"Specifies an array of bones to use for the [i]next[/i] vertex. [param bones] " +"must contain 4 integers." +msgstr "指定用于[i]下一个[/i]顶点的骨骼数组。[param bones] 必须包含 4 个整数。" + msgid "Sets [Material] to be used by the [Mesh] you are constructing." msgstr "设置要由您正在构建的 [Mesh] 使用的 [Material]。" @@ -55769,6 +70261,16 @@ msgstr "" "一个顶点提交,则可能根本无法使用此信息。" msgid "" +"Specifies the smooth group to use for the [i]next[/i] vertex. If this is " +"never called, all vertices will have the default smooth group of [code]0[/" +"code] and will be smoothed with adjacent vertices of the same group. To " +"produce a mesh with flat normals, set the smooth group to [code]-1[/code]." +msgstr "" +"指定用于[i]下一个[/i]顶点的平滑组。如果从未调用过,则所有顶点都将具有默认的 " +"[code]0[/code] 平滑组,并将与同一组的相邻顶点一起平滑。要生成具有平坦法线的网" +"格,请将平滑组设置为 [code]-1[/code]。" + +msgid "" "Specifies a tangent to use for the [i]next[/i] vertex. If every vertex needs " "to have this information set and you fail to submit it for the first vertex, " "this information may not be used at all." @@ -55793,6 +70295,15 @@ msgstr "" "而你没有为第一个顶点提交这个信息,此信息可能根本就不会被使用。" msgid "" +"Specifies weight values to use for the [i]next[/i] vertex. [param weights] " +"must contain 4 values. If every vertex needs to have this information set " +"and you fail to submit it for the first vertex, this information may not be " +"used at all." +msgstr "" +"指定用于[i]下一个[/i]顶点的权重值。[param weights] 必须包含 4 个值。如果每个" +"顶点都需要设置该信息,且为第一个顶点提交失败,则可能根本不会使用该信息。" + +msgid "" "Stores data passed to [method set_custom] as half precision floats, and uses " "only red and green color channels. See [constant Mesh.ARRAY_CUSTOM_RG_HALF]." msgstr "" @@ -55947,6 +70458,28 @@ msgstr "" msgid "Returns the previously active tab index." msgstr "返回上一个活动选项卡的索引。" +msgid "" +"Returns the [Texture2D] for the right button of the tab at index [param " +"tab_idx] or [code]null[/code] if the button has no [Texture2D]." +msgstr "" +"返回索引 [param tab_idx] 处选项卡右侧按钮的 [Texture2D],如果该按钮没有 " +"[Texture2D],则返回 [code]null[/code]。" + +msgid "" +"Returns the [Texture2D] for the tab at index [param tab_idx] or [code]null[/" +"code] if the tab has no [Texture2D]." +msgstr "" +"返回索引 [param tab_idx] 处选项卡的 [Texture2D],如果该选项卡没有 " +"[Texture2D],则返回 [code]null[/code]。" + +msgid "" +"Returns the index of the tab at local coordinates [param point]. Returns " +"[code]-1[/code] if the point is outside the control boundaries or if there's " +"no tab at the queried position." +msgstr "" +"返回位于局部坐标 [param point] 处的选项卡的索引。如果该点在控件边界之外或查询" +"位置没有选项卡,则返回 [code]-1[/code]。" + msgid "Returns tab title language code." msgstr "返回选项卡标题的语言代码。" @@ -55976,6 +70509,20 @@ msgstr "将选项卡从 [param from] 移动到 [param to]。" msgid "Removes the tab at index [param tab_idx]." msgstr "删除索引 [param tab_idx] 处的选项卡。" +msgid "" +"If [param disabled] is [code]true[/code], disables the tab at index [param " +"tab_idx], making it non-interactable." +msgstr "" +"如果 [param disabled] 为 [code]true[/code],则禁用索引 [param tab_idx] 处的选" +"项卡,使其不可交互。" + +msgid "" +"If [param hidden] is [code]true[/code], hides the tab at index [param " +"tab_idx], making it disappear from the tab area." +msgstr "" +"如果 [param hidden] 为 [code]true[/code],则隐藏索引 [param tab_idx] 处的选项" +"卡,使其从选项卡区域消失。" + msgid "Sets an [param icon] for the tab at index [param tab_idx]." msgstr "设置索引 [param tab_idx] 处的选项卡的图标。" @@ -56014,6 +70561,11 @@ msgid "" msgstr "如果为 [code]true[/code],启用鼠标右键选择选项卡。" msgid "" +"Sets the position at which tabs will be placed. See [enum AlignmentMode] for " +"details." +msgstr "设置放置选项卡的位置。详情见 [enum AlignmentMode]。" + +msgid "" "Sets when the close button will appear on the tabs. See [enum " "CloseButtonDisplayPolicy] for details." msgstr "" @@ -56320,6 +70872,27 @@ msgid "Multiline text editing control." msgstr "多行文本编辑控件。" msgid "" +"TextEdit is meant for editing large, multiline text. It also has facilities " +"for editing code, such as syntax highlighting support and multiple levels of " +"undo/redo.\n" +"[b]Note:[/b] Most viewport, caret and edit methods contain a " +"[code]caret_index[/code] argument for [member caret_multiple] support. The " +"argument should be one of the following: [code]-1[/code] for all carets, " +"[code]0[/code] for the main caret, or greater than [code]0[/code] for " +"secondary carets.\n" +"[b]Note:[/b] When holding down [kbd]Alt[/kbd], the vertical scroll wheel " +"will scroll 5 times as fast as it would normally do. This also works in the " +"Godot script editor." +msgstr "" +"TextEdit 是用来编辑大型多行文本的。它还具有用于编辑代码的功能,例如语法高亮支" +"持和多级撤消/重做。\n" +"[b]注意:[/b]大多数视口、光标和编辑方法都包含 [code]caret_index[/code] 参数以" +"支持 [member caret_multiple]。该参数应为以下之一:[code]-1[/code] 用于所有光" +"标,[code]0[/code] 用于主光标,或大于 [code]0[/code] 用于辅助光标。\n" +"[b]注意:[/b]当按住 [kbd]Alt[/kbd] 时,垂直滚轮的滚动速度将是正常速度的 5 " +"倍。这也适用于 Godot 脚本编辑器。" + +msgid "" "Override this method to define what happens when the user presses the " "backspace key." msgstr "覆盖此方法可以定义用户按下退格键时应该发生什么。" @@ -56353,6 +70926,13 @@ msgstr "" "覆盖此方法可以定义用户使用鼠标中键执行粘贴操作时应该发生什么。\n" "[b]注意:[/b]此方法仅在 Linux 上实现。" +msgid "" +"Adds a new caret at the given location. Returns the index of the new caret, " +"or [code]-1[/code] if the location is invalid." +msgstr "" +"在给定的位置添加新的光标。返回新光标的索引,如果位置无效则返回 [code]-1[/" +"code]。" + msgid "Adjust the viewport so the caret is visible." msgstr "调整视口,让光标可见。" @@ -56362,6 +70942,13 @@ msgstr "执行对 [TextEdit] 的完全重置,包括撤消历史。" msgid "Clears the undo history." msgstr "清除撤销历史。" +msgid "" +"Copies the current text selection. Can be overridden with [method _copy]." +msgstr "复制当前选区。可以使用 [method _copy] 覆盖。" + +msgid "Cut's the current selection. Can be overridden with [method _cut]." +msgstr "剪切当前选区。可以使用 [method _cut] 覆盖。" + msgid "Deletes the selected text." msgstr "删除选定的文本。" @@ -56380,9 +70967,15 @@ msgstr "返回光标的像素绘制位置。" msgid "Returns the line the editing caret is on." msgstr "返回编辑光标所在的行。" +msgid "Returns the first column containing a non-whitespace character." +msgstr "返回第一个非空白字符列。" + msgid "Returns the first visible line." msgstr "返回第一个可见行。" +msgid "Returns the number of gutters registered." +msgstr "返回注册的边栏数量。" + msgid "Returns the name of the gutter at the given index." msgstr "返回给定索引处边栏的名称。" @@ -56395,9 +70988,24 @@ msgstr "返回给定索引处边栏的宽度。" msgid "Returns the [HScrollBar] used by [TextEdit]." msgstr "设置该 [TextEdit] 所使用的 [HScrollBar]。" +msgid "" +"Returns the number of spaces and [code]tab * tab_size[/code] before the " +"first char." +msgstr "返回第一个字符前的空格和 [code]tab * tab_size[/code] 数。" + msgid "Returns the text of a specific line." msgstr "返回特定行的文本。" +msgid "" +"Returns the line and column at the given position. In the returned vector, " +"[code]x[/code] is the column, [code]y[/code] is the line. If [param " +"allow_out_of_bounds] is [code]false[/code] and the position is not over the " +"text, both vector values will be set to [code]-1[/code]." +msgstr "" +"返回给定位置的行和列。在返回的向量中,[code]x[/code] 是列,[code]y[/code] 是" +"行。如果 [param allow_out_of_bounds] 为 [code]false[/code],且该位置不在文本" +"上方,则两个向量值都将被设置为 [code]-1[/code]。" + msgid "Returns the number of lines in the text." msgstr "返回文本中的行数。" @@ -56422,6 +71030,98 @@ msgstr "返回给定行换行的次数。" msgid "Returns an array of [String]s representing each wrapped index." msgstr "返回代表各个换行索引的 [String] 数组。" +msgid "" +"Returns the [PopupMenu] of this [TextEdit]. By default, this menu is " +"displayed when right-clicking on the [TextEdit].\n" +"You can add custom menu items or remove standard ones. Make sure your IDs " +"don't conflict with the standard ones (see [enum MenuItems]). For example:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _ready():\n" +" var menu = get_menu()\n" +" # Remove all items after \"Redo\".\n" +" menu.item_count = menu.get_item_index(MENU_REDO) + 1\n" +" # Add custom items.\n" +" menu.add_separator()\n" +" menu.add_item(\"Insert Date\", MENU_MAX + 1)\n" +" # Connect callback.\n" +" menu.id_pressed.connect(_on_item_pressed)\n" +"\n" +"func _on_item_pressed(id):\n" +" if id == MENU_MAX + 1:\n" +" insert_text_at_caret(Time.get_date_string_from_system())\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Ready()\n" +"{\n" +" var menu = GetMenu();\n" +" // Remove all items after \"Redo\".\n" +" menu.ItemCount = menu.GetItemIndex(TextEdit.MenuItems.Redo) + 1;\n" +" // Add custom items.\n" +" menu.AddSeparator();\n" +" menu.AddItem(\"Insert Date\", TextEdit.MenuItems.Max + 1);\n" +" // Add event handler.\n" +" menu.IdPressed += OnItemPressed;\n" +"}\n" +"\n" +"public void OnItemPressed(int id)\n" +"{\n" +" if (id == TextEdit.MenuItems.Max + 1)\n" +" {\n" +" InsertTextAtCaret(Time.GetDateStringFromSystem());\n" +" }\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member Window.visible] property." +msgstr "" +"返回该 [TextEdit] 的 [PopupMenu]。默认情况下,会在右键单击 [TextEdit] 时显示" +"改菜单。\n" +"你可以添加自定义菜单项,也可以移除标准菜单项。请确保你使用的 ID 与标准菜单项" +"的 ID 不冲突(见 [enum MenuItems])。例如:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _ready():\n" +" var menu = get_menu()\n" +" # 移除“撤销”后的所有菜单项。\n" +" menu.item_count = menu.get_item_index(MENU_REDO) + 1\n" +" # 添加自定义菜单项。\n" +" menu.add_separator()\n" +" menu.add_item(\"插入日期\", MENU_MAX + 1)\n" +" # 连接回调。\n" +" menu.id_pressed.connect(_on_item_pressed)\n" +"\n" +"func _on_item_pressed(id):\n" +" if id == MENU_MAX + 1:\n" +" insert_text_at_caret(Time.get_date_string_from_system())\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Ready()\n" +"{\n" +" var menu = GetMenu();\n" +" // 移除“撤销”后的所有菜单项。\n" +" menu.ItemCount = menu.GetItemIndex(TextEdit.MenuItems.Redo) + 1;\n" +" // 添加自定义菜单项。\n" +" menu.AddSeparator();\n" +" menu.AddItem(\"插入日期\", TextEdit.MenuItems.Max + 1);\n" +" // 添加事件处理器。\n" +" menu.IdPressed += OnItemPressed;\n" +"}\n" +"\n" +"public void OnItemPressed(int id)\n" +"{\n" +" if (id == TextEdit.MenuItems.Max + 1)\n" +" {\n" +" InsertTextAtCaret(Time.GetDateStringFromSystem());\n" +" }\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]警告:[/b]这是必要的内部节点,将其移除或释放会导致崩溃。如果你想要将其隐" +"藏,或者将其子节点隐藏,请使用对应的 [member Window.visible] 属性。" + msgid "Returns the equivalent minimap line at [param position]." msgstr "返回小地图 [param position] 处等价的行。" @@ -56429,6 +71129,19 @@ msgid "Returns the number of lines that may be drawn on the minimap." msgstr "返回小地图上能够绘制的行数。" msgid "" +"Returns the local position for the given [param line] and [param column]. If " +"[code]x[/code] or [code]y[/code] of the returned vector equal [code]-1[/" +"code], the position is outside of the viewable area of the control.\n" +"[b]Note:[/b] The Y position corresponds to the bottom side of the line. Use " +"[method get_rect_at_line_column] to get the top side position." +msgstr "" +"返回给定 [param line] 和 [param column] 的局部位置。如果返回的向量的 " +"[code]x[/code] 或 [code]y[/code] 等于 [code]-1[/code],则该位置在该控件的可视" +"区域之外。\n" +"[b]注意:[/b]Y 位置对应于行的底部。请使用 [method get_rect_at_line_column] 来" +"获取顶部位置。" + +msgid "" "Returns the local position and size for the grapheme at the given [param " "line] and [param column]. If [code]x[/code] or [code]y[/code] position of " "the returned rect equal [code]-1[/code], the position is outside of the " @@ -56449,9 +71162,18 @@ msgstr "从 [method tag_saved_version] 返回最后一个标记的保存版本 msgid "Returns the text inside the selection." msgstr "返回选择内的文本。" +msgid "Returns the original start column of the selection." +msgstr "返回选区的原始起始列。" + msgid "Returns the selection begin line." msgstr "返回选择开始行。" +msgid "Returns the original start line of the selection." +msgstr "返回选区的原始起始行。" + +msgid "Returns the current selection mode." +msgstr "返回当前的选区模式。" + msgid "Returns the selection end line." msgstr "返回选择结束行。" @@ -56473,12 +71195,24 @@ msgstr "返回可见行数,包括自动换行。" msgid "Returns the word at [param position]." msgstr "返回位于 [param position] 的单词。" +msgid "Returns if the user has IME text." +msgstr "返回用户是否有 IME 文本。" + msgid "Returns [code]true[/code] if a \"redo\" action is available." msgstr "有“重做”动作可用时返回 [code]true[/code]。" msgid "Returns [code]true[/code] if an \"undo\" action is available." msgstr "有“撤销”动作可用时返回 [code]true[/code]。" +msgid "Inserts a new line with [param text] at [param line]." +msgstr "在第 [param line] 行插入文本为 [param text] 的新行。" + +msgid "Insert the specified text at the caret position." +msgstr "在光标位置插入指定的文本。" + +msgid "Returns [code]true[/code] if the caret is visible on the screen." +msgstr "如果光标在屏幕上可见,则返回 [code]true[/code]。" + msgid "Returns whether the gutter is clickable." msgstr "返回该边栏是否可点击。" @@ -56494,12 +71228,22 @@ msgstr "返回该边栏的给定行是否可点击。" msgid "Returns if the given line is wrapped." msgstr "返回给定的行是否换行。" +msgid "" +"Returns whether the mouse is over selection. If [param edges] is [code]true[/" +"code], the edges are considered part of the selection." +msgstr "" +"返回鼠标是否位于选区之上。如果 [param edges] 为 [code]true[/code],则边界会被" +"认为是选区的一部分。" + msgid "Pastes the primary clipboard." msgstr "粘贴主剪贴板。" msgid "Perform redo operation." msgstr "执行重做操作。" +msgid "Removes the gutter from this [TextEdit]." +msgstr "从 [TextEdit] 中移除该边栏。" + msgid "Removes all additional carets." msgstr "移除所有额外的光标。" @@ -56520,6 +71264,36 @@ msgstr "" msgid "Selects the word under the caret." msgstr "选中光标下的单词。" +msgid "" +"Moves the caret to the specified [param column] index.\n" +"If [param adjust_viewport] is [code]true[/code], the viewport will center at " +"the caret position after the move occurs.\n" +"[b]Note:[/b] If supporting multiple carets this will not check for any " +"overlap. See [method merge_overlapping_carets]." +msgstr "" +"将光标移动到指定的 [param column] 索引。\n" +"如果 [param adjust_viewport] 为 [code]true[/code],则视口将在移动发生后以光标" +"位置为中心。\n" +"[b]注意:[/b]如果支持多个光标,则不会检查任何重叠。请参阅 [method " +"merge_overlapping_carets]。" + +msgid "" +"Moves the caret to the specified [param line] index.\n" +"If [param adjust_viewport] is [code]true[/code], the viewport will center at " +"the caret position after the move occurs.\n" +"If [param can_be_hidden] is [code]true[/code], the specified [code]line[/" +"code] can be hidden.\n" +"[b]Note:[/b] If supporting multiple carets this will not check for any " +"overlap. See [method merge_overlapping_carets]." +msgstr "" +"将光标移动到指定的 [param line] 索引。\n" +"如果 [param adjust_viewport] 为 [code]true[/code],则视口将在移动发生后以光标" +"位置为中心。\n" +"如果 [param can_be_hidden] 为 [code]true[/code],则可以隐藏指定的 " +"[code]line[/code]。\n" +"[b]注意:[/b]如果支持多个光标,则不会检查任何重叠。请参阅 [method " +"merge_overlapping_carets]。" + msgid "Sets whether the gutter should be drawn." msgstr "设置该边栏是否应被绘制。" @@ -56538,6 +71312,12 @@ msgstr "设置该边栏的宽度。" msgid "Sets the text for a specific line." msgstr "设置特定行的文本。" +msgid "" +"Sets the current background color of the line. Set to [code]Color(0, 0, 0, 0)" +"[/code] for no color." +msgstr "" +"设置该行的当前背景色。设置为 [code]Color(0, 0, 0, 0)[/code] 则没有颜色。" + msgid "Sets the icon for [param gutter] on [param line] to [param icon]." msgstr "将边栏 [param gutter] 在第 [param line] 行的图标设置为 [param icon]。" @@ -56552,6 +71332,9 @@ msgstr "" msgid "Sets the text for [param gutter] on [param line] to [param text]." msgstr "将边栏 [param gutter] 在第 [param line] 行的文本设置为 [param text]。" +msgid "Sets the search text. See [method set_search_flags]." +msgstr "设置搜索文本。见 [method set_search_flags]。" + msgid "Sets the current selection mode." msgstr "设置当前的选区模式。" @@ -56568,6 +71351,9 @@ msgstr "" msgid "Swaps the two lines." msgstr "交换两行。" +msgid "Tag the current version as saved." +msgstr "将当前版本标记为已保存。" + msgid "Perform undo operation." msgstr "执行撤销操作。" @@ -56763,6 +71549,22 @@ msgid "" "Sets the [StyleBox] of this [TextEdit] when [member editable] is disabled." msgstr "设置这个 [TextEdit] 在禁用 [member editable] 时的 [StyleBox]。" +msgid "Holds a line of text." +msgstr "存放一行文本。" + +msgid "Abstraction over [TextServer] for handling single line of text." +msgstr "基于 [TextServer] 的抽象,用于处理单行文本。" + +msgid "" +"Adds inline object to the text buffer, [param key] must be unique. In the " +"text, object is represented as [param length] object replacement characters." +msgstr "" +"向文本缓冲中添加内联对象,[param key] 必须唯一。在文本中,对象使用 [param " +"length] 个对象替换字符表示。" + +msgid "Returns array of inline objects." +msgstr "返回内联对象的数组。" + msgid "Returns TextServer buffer RID." msgstr "返回 TextServer 缓冲区 RID。" @@ -56848,6 +71650,21 @@ msgstr "对 [TextServer] 的抽象,用于处理文本段落。" msgid "Clears text paragraph (removes text and inline objects)." msgstr "清空文本段落(移除文本和内联对象)。" +msgid "Removes dropcap." +msgstr "移除首字下沉。" + +msgid "Returns number of lines used by dropcap." +msgstr "返回首字下沉使用的行数。" + +msgid "Returns drop cap text buffer RID." +msgstr "返回首字下沉文本缓冲 RID。" + +msgid "Returns drop cap bounding box size." +msgstr "返回首字下沉边界框大小。" + +msgid "Returns number of lines in the paragraph." +msgstr "返回段落中的行数。" + msgid "Returns TextServer line buffer RID." msgstr "返回 TextServer 行缓冲 RID。" @@ -56859,6 +71676,10 @@ msgid "" "of text." msgstr "返回文本行的宽度(水平排版)或高度(垂直排版)。" +msgid "" +"Returns the size of the bounding box of the paragraph, without line breaks." +msgstr "返回段落边界框的大小,不带换行符。" + msgid "Paragraph horizontal alignment." msgstr "段落的水平对齐。" @@ -56973,6 +71794,9 @@ msgstr "返回该字形的大小。" msgid "Returns the font hinting mode. Used by dynamic fonts only." msgstr "返回字体微调模式。仅用于动态字体。" +msgid "Returns source font size used to generate MSDF textures." +msgstr "返回用于生成 MSDF 纹理的源字体大小。" + msgid "Returns font OpenType feature set override." msgstr "返回字体 OpenType 特性集覆盖。" @@ -56982,12 +71806,37 @@ msgstr "返回字体样式标志,见 [enum FontStyle]。" msgid "Returns font subpixel glyph positioning mode." msgstr "返回字体的次像素字形定位模式。" +msgid "Returns a string containing all the characters available in the font." +msgstr "返回包含字体中所有可用字符的字符串。" + +msgid "Returns font cache texture image data." +msgstr "返回字体缓存纹理图像数据。" + +msgid "Returns 2D transform applied to the font outlines." +msgstr "返回应用于字体轮廓的 2D 变换。" + +msgid "" +"Returns [code]true[/code] if system fonts can be automatically used as " +"fallbacks." +msgstr "如果可以自动使用系统字体作为回退字体,则返回 [code]true[/code]。" + +msgid "" +"Returns [code]true[/code], if font supports given script (ISO 15924 code)." +msgstr "如果字体支持给定的文字(ISO 15924 代码),则返回 [code]true[/code]。" + msgid "Sets font anti-aliasing mode." msgstr "使用字体抗锯齿模式。" msgid "Sets font source data, e.g contents of the dynamic font source file." msgstr "设置字体源数据,例如动态字体的源文件内容。" +msgid "" +"Sets font embolden strength. If [param strength] is not equal to zero, " +"emboldens the font outlines. Negative values reduce the outline thickness." +msgstr "" +"设置字体的加粗强度。如果 [param strength] 不等于零,则会加粗字体轮廓。负值会" +"减小轮廓的粗细度。" + msgid "Sets size of the glyph." msgstr "设置字形的大小。" @@ -57015,6 +71864,12 @@ msgstr "设置字体的次像素字形定位模式。" msgid "Sets font cache texture image data." msgstr "设置字体的缓存纹理图像数据。" +msgid "Returns the dictionary of the supported OpenType features." +msgstr "返回支持的 OpenType 特性的字典。" + +msgid "Returns the dictionary of the supported OpenType variation coordinates." +msgstr "返回支持的 OpenType 变体坐标的字典。" + msgid "" "Converts a number from the Western Arabic (0..9) to the numeral systems used " "in [param language].\n" @@ -57052,6 +71907,9 @@ msgstr "" "将数字 [param number] 从 [param language] 的记数系统转换为阿拉伯数字" "(0..9)。" +msgid "Clears text buffer (removes text and inline objects)." +msgstr "清空文本缓冲(移除文本和内联对象)。" + msgid "Returns direction of the text." msgstr "返回文本的方向。" @@ -57079,9 +71937,35 @@ msgstr "" "返回字素的索引,该字素位于基线上指定像素偏移的位置,如果没有找到,则返回 " "[code]-1[/code]。" +msgid "Trims text if it exceeds the given width." +msgstr "如果文本超出给定宽度,则修剪文本。" + msgid "Aligns shaped text to the given tab-stops." msgstr "将塑形文本与给定的制表位对齐。" +msgid "Font glyphs are rasterized as 1-bit bitmaps." +msgstr "字体字形栅格化为 1 位的位图。" + +msgid "Font glyphs are rasterized as 8-bit grayscale anti-aliased bitmaps." +msgstr "字体字形栅格化为 8 位的灰度抗锯齿位图。" + +msgid "" +"Font glyphs are rasterized for LCD screens.\n" +"LCD subpixel layout is determined by the value of [code]gui/theme/" +"lcd_subpixel_layout[/code] project settings.\n" +"LCD subpixel anti-aliasing mode is suitable only for rendering horizontal, " +"unscaled text in 2D." +msgstr "" +"字体字形针对 LCD 屏幕栅格化。\n" +"LCD 次像素布局由项目设置 [code]gui/theme/lcd_subpixel_layout[/code] 的值决" +"定。\n" +"LCD 次像素抗锯齿模式仅适用于在 2D 中渲染横向、无缩放的文本。" + +msgid "" +"Unknown or unsupported subpixel layout, LCD subpixel antialiasing is " +"disabled." +msgstr "未知或不支持的次像素布局,禁用 LCD 次像素抗锯齿。" + msgid "Horizontal RGB subpixel layout." msgstr "水平 RGB 次像素布局。" @@ -57161,6 +72045,29 @@ msgstr "" msgid "Remove edge spaces from the broken line segments." msgstr "移除每一行头尾的空格。" +msgid "" +"Displays [member Label.visible_ratio] or [member RichTextLabel." +"visible_ratio] glyphs, starting from the left or from the right, depending " +"on [member Control.layout_direction] value." +msgstr "" +"显示字形数量由 [member Label.visible_ratio] 或 [member RichTextLabel." +"visible_ratio] 决定,从左至右计数还是从右至左计数由 [member Control." +"layout_direction] 的值决定。" + +msgid "" +"Displays [member Label.visible_ratio] or [member RichTextLabel." +"visible_ratio] glyphs, starting from the left." +msgstr "" +"显示字形数量由 [member Label.visible_ratio] 或 [member RichTextLabel." +"visible_ratio] 决定,从左侧开始计数。" + +msgid "" +"Displays [member Label.visible_ratio] or [member RichTextLabel." +"visible_ratio] glyphs, starting from the right." +msgstr "" +"显示字形数量由 [member Label.visible_ratio] 或 [member RichTextLabel." +"visible_ratio] 决定,从右侧开始计数。" + msgid "No text trimming is performed." msgstr "不执行文本修剪。" @@ -57242,6 +72149,50 @@ msgstr "禁用字体提示(更平滑但不那么清晰)。" msgid "Use the light font hinting mode." msgstr "使用浅色字体提示模式。" +msgid "" +"Glyph horizontal position is rounded to the whole pixel size, each glyph is " +"rasterized once." +msgstr "将字形的水平位置舍入至整数像素大小,每个字形光栅化一次。" + +msgid "" +"Glyph horizontal position is rounded based on font size.\n" +"- To one quarter of the pixel size if font size is smaller or equal to " +"[constant SUBPIXEL_POSITIONING_ONE_QUARTER_MAX_SIZE].\n" +"- To one half of the pixel size if font size is smaller or equal to " +"[constant SUBPIXEL_POSITIONING_ONE_HALF_MAX_SIZE].\n" +"- To the whole pixel size for larger fonts." +msgstr "" +"将字形的水平位置根据字体大小进行舍入。\n" +"- 如果字体大小小于等于 [constant SUBPIXEL_POSITIONING_ONE_QUARTER_MAX_SIZE]," +"则舍入至四分之一像素大小。\n" +"- 如果字体大小小于等于 [constant SUBPIXEL_POSITIONING_ONE_HALF_MAX_SIZE],则" +"舍入至二分之一像素大小。\n" +"- 如果是更大的字体,则舍入至整数像素大小。" + +msgid "" +"Glyph horizontal position is rounded to one half of the pixel size, each " +"glyph is rasterized up to two times." +msgstr "将字形的水平位置舍入至像素大小的一半,每个字形最多光栅化两次。" + +msgid "" +"Glyph horizontal position is rounded to one quarter of the pixel size, each " +"glyph is rasterized up to four times." +msgstr "将字形的水平位置舍入至像素大小的四分之一,每个字形最多光栅化四次。" + +msgid "" +"Maximum font size which will use one half of the pixel subpixel positioning " +"in [constant SUBPIXEL_POSITIONING_AUTO] mode." +msgstr "" +"在 [constant SUBPIXEL_POSITIONING_AUTO] 模式下,次像素定位时使用二分之一像素" +"大小的最大字体大小。" + +msgid "" +"Maximum font size which will use one quarter of the pixel subpixel " +"positioning in [constant SUBPIXEL_POSITIONING_AUTO] mode." +msgstr "" +"在 [constant SUBPIXEL_POSITIONING_AUTO] 模式下,次像素定位时使用四分之一像素" +"大小的最大字体大小。" + msgid "TextServer supports simple text layouts." msgstr "TextServer 支持简单排版。" @@ -57464,6 +72415,25 @@ msgid "" "Called when the presence of an alpha channel in the [Texture2D] is queried." msgstr "查询该 [Texture2D] 是否存在 alpha 通道时调用。" +msgid "" +"Creates a placeholder version of this resource ([PlaceholderTexture2D])." +msgstr "创建该资源的占位符版本([PlaceholderTexture2D])。" + +msgid "" +"Draws the texture using a [CanvasItem] with the [RenderingServer] API at the " +"specified [param position]." +msgstr "" +"使用 [RenderingServer] API 在 [CanvasItem] 上的指定位置 [param position] 绘制" +"该纹理。" + +msgid "Draws the texture using a [CanvasItem] with the [RenderingServer] API." +msgstr "使用 [RenderingServer] API 在 [CanvasItem] 上绘制该纹理。" + +msgid "" +"Draws a part of the texture using a [CanvasItem] with the [RenderingServer] " +"API." +msgstr "使用 [RenderingServer] API 在 [CanvasItem] 上绘制纹理的一部分。" + msgid "Returns the texture height in pixels." msgstr "返回该纹理的高度,单位为像素。" @@ -57473,6 +72443,13 @@ msgstr "返回该纹理的大小,单位为像素。" msgid "Returns the texture width in pixels." msgstr "返回该纹理的宽度,单位为像素。" +msgid "Returns [code]true[/code] if this [Texture2D] has an alpha channel." +msgstr "如果该 [Texture2D] 具有 Alpha 通道,则返回 [code]true[/code]。" + +msgid "" +"Creates a placeholder version of this resource ([PlaceholderTexture2DArray])." +msgstr "创建该资源的占位符版本([PlaceholderTexture2DArray])。" + msgid "Base class for 3-dimensionnal textures." msgstr "3D 纹理的基类。" @@ -57495,6 +72472,10 @@ msgid "Called when the presence of mipmaps in the [Texture3D] is queried." msgstr "查询该 [Texture3D] 的 Mipmap 是否存在时被调用。" msgid "" +"Creates a placeholder version of this resource ([PlaceholderTexture3D])." +msgstr "创建该资源的占位符版本([PlaceholderTexture3D])。" + +msgid "" "Returns the current format being used by this texture. See [enum Image." "Format] for details." msgstr "返回纹理当前使用的格式。详情见 [enum Image.Format]。" @@ -57591,6 +72572,25 @@ msgid "" "other side clips to the node's limits." msgstr "缩放纹理,使较短的一边适应边界矩形。另一边则裁剪到节点的界限内。" +msgid "" +"Base class for [ImageTextureLayered]. Cannot be used directly, but contains " +"all the functions necessary for accessing the derived resource types. See " +"also [Texture3D].\n" +"Data is set on a per-layer basis. For [Texture2DArray]s, the layer specifies " +"the array layer.\n" +"All images need to have the same width, height and number of mipmap levels.\n" +"A [TextureLayered] can be loaded with [method ResourceLoader.load].\n" +"Internally, Godot maps these files to their respective counterparts in the " +"target rendering driver (Vulkan, OpenGL3)." +msgstr "" +"[ImageTextureLayered] 的基类。不能直接使用,但包含访问派生资源类型所需的所有" +"功能。另见 [Texture3D]。\n" +"数据是按层设置的。对于 [Texture2DArray],层指定数组层。\n" +"所有图像都需要具有相同的宽度、高度和 mipmap 级别数。\n" +"[TextureLayered] 可以用 [method ResourceLoader.load] 加载。\n" +"在内部,Godot 将这些文件映射到目标渲染驱动程序(Vulkan、OpenGL3)中的对应文" +"件。" + msgid "Called when the [TextureLayered]'s format is queried." msgstr "查询该 [TextureLayered] 的格式时被调用。" @@ -57612,9 +72612,19 @@ msgstr "查询该 [TextureLayered] 的宽度时被调用。" msgid "Called when the presence of mipmaps in the [TextureLayered] is queried." msgstr "查询该 [TextureLayered] 的 Mipmap 是否存在时被调用。" +msgid "" +"Returns the height of the texture in pixels. Height is typically represented " +"by the Y axis." +msgstr "返回该纹理的高度,单位为像素。高度通常由 Y 轴表示。" + msgid "Returns the number of referenced [Image]s." msgstr "返回引用的 [Image] 数。" +msgid "" +"Returns the width of the texture in pixels. Width is typically represented " +"by the X axis." +msgstr "返回该纹理的宽度,单位为像素。宽度通常由 X 轴表示。" + msgid "Texture is a generic [Texture2DArray]." msgstr "纹理为通用的 [Texture2DArray]。" @@ -57690,6 +72700,13 @@ msgid "The height of the 9-patch's top row." msgstr "九宫格顶行的高度。" msgid "" +"[Texture2D] that draws over the progress bar. Use it to add highlights or an " +"upper-frame that hides part of [member texture_progress]." +msgstr "" +"在进度条至上绘制的 [Texture2D]。可用于添加高光,也可用于添加遮挡部分 [member " +"texture_progress] 的上层边框。" + +msgid "" "The offset of [member texture_progress]. Useful for [member texture_over] " "and [member texture_under] with fancy borders, to avoid transparent margins " "in your progress texture." @@ -57770,6 +72787,29 @@ msgid "Control for drawing textures." msgstr "控件绘制纹理。" msgid "" +"Used to draw icons and sprites in a user interface. The texture's placement " +"can be controlled with the [member stretch_mode] property. It can scale, " +"tile, or stay centered inside its bounding rectangle." +msgstr "" +"用于在用户界面中绘制图标和精灵。纹理的放置由 [member stretch_mode] 属性控制。" +"可以在边界框中进行缩放、平铺、居中。" + +msgid "" +"Defines how minimum size is determined based on the texture's size. See " +"[enum ExpandMode] for options.\n" +"[b]Note:[/b] Using [constant EXPAND_FIT_WIDTH], [constant " +"EXPAND_FIT_WIDTH_PROPORTIONAL], [constant EXPAND_FIT_HEIGHT] or [constant " +"EXPAND_FIT_HEIGHT_PROPORTIONAL] may result in unstable behavior in some " +"containers. This functionality is being re-evaluated and will change in the " +"future." +msgstr "" +"定义如何根据该纹理的大小确定最小大小。有关选项,请参阅 [enum ExpandMode]。\n" +"[b]注意:[/b]使用 [constant EXPAND_FIT_WIDTH]、[constant " +"EXPAND_FIT_WIDTH_PROPORTIONAL]、[constant EXPAND_FIT_HEIGHT]、或 [constant " +"EXPAND_FIT_HEIGHT_PROPORTIONAL],可能会导致某些容器的行为不稳定。该功能正在重" +"新评估,将来可能会发生变化。" + +msgid "" "Controls the texture's behavior when resizing the node's bounding rectangle. " "See [enum StretchMode]." msgstr "控件纹理在调整节点边界矩形时的行为。见 [enum StretchMode]。" @@ -57778,10 +72818,45 @@ msgid "The node's [Texture2D] resource." msgstr "该节点的 [Texture2D] 资源。" msgid "" +"The minimum size will be equal to texture size, i.e. [TextureRect] can't be " +"smaller than the texture." +msgstr "最小尺寸将等于纹理尺寸,即 [TextureRect] 不能小于纹理。" + +msgid "" +"The size of the texture won't be considered for minimum size calculation, so " +"the [TextureRect] can be shrunk down past the texture size." +msgstr "" +"纹理尺寸不会用于计算最小尺寸,所以 [TextureRect] 可以缩减得比纹理尺寸小。" + +msgid "" +"The height of the texture will be ignored. Minimum width will be equal to " +"the current height. Useful for horizontal layouts, e.g. inside " +"[HBoxContainer]." +msgstr "" +"会忽略纹理的高度。最小宽度与当前高度一致。可用于横向布局,例如在 " +"[HBoxContainer] 中。" + +msgid "Same as [constant EXPAND_FIT_WIDTH], but keeps texture's aspect ratio." +msgstr "与 [constant EXPAND_FIT_WIDTH] 相同,但保持纹理的长宽比。" + +msgid "" +"The width of the texture will be ignored. Minimum height will be equal to " +"the current width. Useful for vertical layouts, e.g. inside [VBoxContainer]." +msgstr "" +"会忽略纹理的宽度。最小高度与当前宽度一致。可用于纵向布局,例如在 " +"[VBoxContainer] 中。" + +msgid "Same as [constant EXPAND_FIT_HEIGHT], but keeps texture's aspect ratio." +msgstr "与 [constant EXPAND_FIT_HEIGHT] 相同,但保持纹理的长宽比。" + +msgid "" "Scale the texture to fit the node's bounding rectangle, center it and " "maintain its aspect ratio." msgstr "缩放纹理以适应节点的边界矩形,使其居中并保持其长宽比。" +msgid "Theme resource for styling/skinning [Control]s and [Window]s." +msgstr "用于样式化/皮肤化 [Control] 和 [Windows] 的主题资源。" + msgid "GUI skinning" msgstr "GUI 皮肤" @@ -57798,6 +72873,263 @@ msgstr "" "[b]注意:[/b]空类型不会随该主题保存。这个方法的存在是为了对资源执行内存中的更" "改。请使用 [code]set_*[/code] 方法添加主题项目。" +msgid "Removes all the theme properties defined on the theme resource." +msgstr "移除在该主题资源上定义的所有主题属性。" + +msgid "" +"Removes the [Color] property defined by [param name] and [param theme_type], " +"if it exists.\n" +"Fails if it doesn't exist. Use [method has_color] to check for existence." +msgstr "" +"如果存在由 [param name] 和 [param theme_type] 定义的 [Color] 属性,则将其移" +"除。\n" +"如果不存在则失败。请使用 [method has_color] 检查是否存在。" + +msgid "" +"Removes the constant property defined by [param name] and [param " +"theme_type], if it exists.\n" +"Fails if it doesn't exist. Use [method has_constant] to check for existence." +msgstr "" +"如果存在由 [param name] 和 [param theme_type] 定义的常量属性,则将其移除。\n" +"如果不存在则失败。请使用 [method has_constant] 检查是否存在。" + +msgid "" +"Removes the [Font] property defined by [param name] and [param theme_type], " +"if it exists.\n" +"Fails if it doesn't exist. Use [method has_font] to check for existence." +msgstr "" +"如果存在由 [param name] 和 [param theme_type] 定义的 [Font] 属性,则将其移" +"除。\n" +"如果不存在则失败。请使用 [method has_font] 检查是否存在。" + +msgid "" +"Removes the font size property defined by [param name] and [param " +"theme_type], if it exists.\n" +"Fails if it doesn't exist. Use [method has_font_size] to check for existence." +msgstr "" +"如果存在由 [param name] 和 [param theme_type] 定义的字体大小属性,则将其移" +"除。\n" +"如果不存在则失败。请使用 [method has_font_size] 检查是否存在。" + +msgid "" +"Removes the icon property defined by [param name] and [param theme_type], if " +"it exists.\n" +"Fails if it doesn't exist. Use [method has_icon] to check for existence." +msgstr "" +"如果存在由 [param name] 和 [param theme_type] 定义的图标属性,则将其移除。\n" +"如果不存在则失败。请使用 [method has_icon] 检查是否存在。" + +msgid "" +"Removes the [StyleBox] property defined by [param name] and [param " +"theme_type], if it exists.\n" +"Fails if it doesn't exist. Use [method has_stylebox] to check for existence." +msgstr "" +"如果存在由 [param name] 和 [param theme_type] 定义的 [StyleBox] 属性,则将其" +"移除。\n" +"如果不存在则失败。请使用 [method has_stylebox] 检查是否存在。" + +msgid "" +"Removes the theme property of [param data_type] defined by [param name] and " +"[param theme_type], if it exists.\n" +"Fails if it doesn't exist. Use [method has_theme_item] to check for " +"existence.\n" +"[b]Note:[/b] This method is analogous to calling the corresponding data type " +"specific method, but can be used for more generalized logic." +msgstr "" +"如果存在由 [param name] 和 [param theme_type] 定义的 [param data_type] 属性," +"则将其移除。\n" +"如果不存在则失败。请使用 [method has_theme_item] 检查是否存在。\n" +"[b]注意:[/b]这个方法类似于调用相应的数据类型特定方法,但可以用于更通用逻辑。" + +msgid "" +"Returns the [Color] property defined by [param name] and [param theme_type], " +"if it exists.\n" +"Returns the default color value if the property doesn't exist. Use [method " +"has_color] to check for existence." +msgstr "" +"如果存在由 [param name] 和 [param theme_type] 定义的 [Color] 属性,则将其返" +"回。\n" +"如果不存在则返回默认颜色。请使用 [method has_color] 检查是否存在。" + +msgid "" +"Returns a list of names for [Color] properties defined with [param " +"theme_type]. Use [method get_color_type_list] to get a list of possible " +"theme type names." +msgstr "" +"返回为 [param theme_type] 类型定义的 [Color] 属性的名称列表。请使用 [method " +"get_color_type_list] 获取可能的主题类型名称。" + +msgid "" +"Returns a list of all unique theme type names for [Color] properties. Use " +"[method get_type_list] to get a list of all unique theme types." +msgstr "" +"返回 [Color] 属性的所有唯一主题类型名称的列表。请使用 [method get_type_list] " +"获取所有主题类型。" + +msgid "" +"Returns the constant property defined by [param name] and [param " +"theme_type], if it exists.\n" +"Returns [code]0[/code] if the property doesn't exist. Use [method " +"has_constant] to check for existence." +msgstr "" +"如果存在由 [param name] 和 [param theme_type] 定义的常量属性,则将其返回。\n" +"如果不存在则返回 [code]0[/code]。请使用 [method has_constant] 检查是否存在。" + +msgid "" +"Returns a list of names for constant properties defined with [param " +"theme_type]. Use [method get_constant_type_list] to get a list of possible " +"theme type names." +msgstr "" +"返回为 [param theme_type] 类型定义的常量属性的名称列表。请使用 [method " +"get_constant_type_list] 获取可能的主题类型名称。" + +msgid "" +"Returns a list of all unique theme type names for constant properties. Use " +"[method get_type_list] to get a list of all unique theme types." +msgstr "" +"返回常量属性的所有唯一主题类型名称的列表。请使用 [method get_type_list] 获取" +"所有主题类型。" + +msgid "" +"Returns the [Font] property defined by [param name] and [param theme_type], " +"if it exists.\n" +"Returns the default theme font if the property doesn't exist and the default " +"theme font is set up (see [member default_font]). Use [method has_font] to " +"check for existence of the property and [method has_default_font] to check " +"for existence of the default theme font.\n" +"Returns the engine fallback font value, if neither exist (see [member " +"ThemeDB.fallback_font])." +msgstr "" +"如果存在由 [param name] 和 [param theme_type] 定义的 [Font] 属性,则将其返" +"回。\n" +"如果不存在且存在默认主题字体,则返回默认主题字体(见 [member " +"default_font])。请使用 [method has_font] 检查是否存在,使用 [method " +"has_default_font] 检查默认主题字体是否存在。\n" +"如果两者都不存在,则返回引擎的回退字体值(见 [member ThemeDB." +"fallback_font])。" + +msgid "" +"Returns a list of names for [Font] properties defined with [param " +"theme_type]. Use [method get_font_type_list] to get a list of possible theme " +"type names." +msgstr "" +"返回为 [param theme_type] 类型定义的 [Font] 属性的名称列表。请使用 [method " +"get_font_type_list] 获取可能的主题类型名称。" + +msgid "" +"Returns the font size property defined by [param name] and [param " +"theme_type], if it exists.\n" +"Returns the default theme font size if the property doesn't exist and the " +"default theme font size is set up (see [member default_font_size]). Use " +"[method has_font_size] to check for existence of the property and [method " +"has_default_font_size] to check for existence of the default theme font.\n" +"Returns the engine fallback font size value, if neither exist (see [member " +"ThemeDB.fallback_font_size])." +msgstr "" +"如果存在由 [param name] 和 [param theme_type] 定义的字体大小属性,则将其返" +"回。\n" +"如果不存在且存在默认主题字体大小,则返回默认主题字体大小(见 [member " +"default_font_size])。请使用 [method has_font_size] 检查是否存在,使用 " +"[method has_default_font_size] 检查默认主题字体大小是否存在。\n" +"如果两者都不存在,则返回引擎的回退字体大小值(见 [member ThemeDB." +"fallback_font_size])。" + +msgid "" +"Returns a list of names for font size properties defined with [param " +"theme_type]. Use [method get_font_size_type_list] to get a list of possible " +"theme type names." +msgstr "" +"返回为 [param theme_type] 类型定义的字体大小属性的名称列表。请使用 [method " +"get_font_size_type_list] 获取可能的主题类型名称。" + +msgid "" +"Returns a list of all unique theme type names for font size properties. Use " +"[method get_type_list] to get a list of all unique theme types." +msgstr "" +"返回字体大小属性的所有唯一主题类型名称的列表。请使用 [method get_type_list] " +"获取所有主题类型。" + +msgid "" +"Returns a list of all unique theme type names for [Font] properties. Use " +"[method get_type_list] to get a list of all unique theme types." +msgstr "" +"返回 [Font] 属性的所有唯一主题类型名称的列表。请使用 [method get_type_list] " +"获取所有主题类型。" + +msgid "" +"Returns the icon property defined by [param name] and [param theme_type], if " +"it exists.\n" +"Returns the engine fallback icon value if the property doesn't exist (see " +"[member ThemeDB.fallback_icon]). Use [method has_icon] to check for " +"existence." +msgstr "" +"如果存在由 [param name] 和 [param theme_type] 定义的图标属性,则将其返回。\n" +"如果不存在则返回引擎的回退图标值(见 [member ThemeDB.fallback_icon])。请使" +"用 [method has_icon] 检查是否存在。" + +msgid "" +"Returns a list of names for icon properties defined with [param theme_type]. " +"Use [method get_icon_type_list] to get a list of possible theme type names." +msgstr "" +"返回为 [param theme_type] 类型定义的图标属性的名称列表。请使用 [method " +"get_icon_type_list] 获取可能的主题类型名称。" + +msgid "" +"Returns a list of all unique theme type names for icon properties. Use " +"[method get_type_list] to get a list of all unique theme types." +msgstr "" +"返回图标属性的所有唯一主题类型名称的列表。请使用 [method get_type_list] 获取" +"所有主题类型。" + +msgid "" +"Returns the [StyleBox] property defined by [param name] and [param " +"theme_type], if it exists.\n" +"Returns the engine fallback stylebox value if the property doesn't exist " +"(see [member ThemeDB.fallback_stylebox]). Use [method has_stylebox] to check " +"for existence." +msgstr "" +"如果存在由 [param name] 和 [param theme_type] 定义的 [StyleBox] 属性,则将其" +"返回。\n" +"如果不存在则返回引擎的回退样式盒值(见 [member ThemeDB.fallback_stylebox])。" +"请使用 [method has_stylebox] 检查是否存在。" + +msgid "" +"Returns a list of names for [StyleBox] properties defined with [param " +"theme_type]. Use [method get_stylebox_type_list] to get a list of possible " +"theme type names." +msgstr "" +"返回为 [param theme_type] 类型定义的 [StyleBox] 属性的名称列表。请使用 " +"[method get_stylebox_type_list] 获取可能的主题类型名称。" + +msgid "" +"Returns a list of all unique theme type names for [StyleBox] properties. Use " +"[method get_type_list] to get a list of all unique theme types." +msgstr "" +"返回 [StyleBox] 属性的所有唯一主题类型名称的列表。请使用 [method " +"get_type_list] 获取所有主题类型。" + +msgid "" +"Returns a list of names for properties of [param data_type] defined with " +"[param theme_type]. Use [method get_theme_item_type_list] to get a list of " +"possible theme type names.\n" +"[b]Note:[/b] This method is analogous to calling the corresponding data type " +"specific method, but can be used for more generalized logic." +msgstr "" +"返回为 [param theme_type] 类型定义的 [param data_type] 属性的名称列表。请使" +"用 [method get_theme_item_type_list] 获取可能的主题类型名称。\n" +"[b]注意:[/b]这个方法类似于调用相应的数据类型特定方法,但可以用于更通用逻辑。" + +msgid "" +"Returns a list of all unique theme type names for [param data_type] " +"properties. Use [method get_type_list] to get a list of all unique theme " +"types.\n" +"[b]Note:[/b] This method is analogous to calling the corresponding data type " +"specific method, but can be used for more generalized logic." +msgstr "" +"返回 [param data_type] 属性的所有唯一主题类型名称的列表。请使用 [method " +"get_type_list] 获取所有主题类型。\n" +"[b]注意:[/b]这个方法类似于调用相应的数据类型特定方法,但可以用于更通用逻辑。" + msgid "" "Returns [code]true[/code] if the [Color] property defined by [param name] " "and [param theme_type] exists.\n" @@ -57819,6 +73151,29 @@ msgstr "" "不存在时返回 [code]false[/code]。定义请使用 [method set_constant]。" msgid "" +"Returns [code]true[/code] if [member default_base_scale] has a valid value.\n" +"Returns [code]false[/code] if it doesn't. The value must be greater than " +"[code]0.0[/code] to be considered valid." +msgstr "" +"如果 [member default_base_scale] 的值有效,则返回 [code]true[/code]。\n" +"如果无效则返回 [code]false[/code]。有效值必须大于 [code]0.0[/code]。" + +msgid "" +"Returns [code]true[/code] if [member default_font] has a valid value.\n" +"Returns [code]false[/code] if it doesn't." +msgstr "" +"如果 [member default_font] 的值有效,则返回 [code]true[/code]。\n" +"如果无效则返回 [code]false[/code]。" + +msgid "" +"Returns [code]true[/code] if [member default_font_size] has a valid value.\n" +"Returns [code]false[/code] if it doesn't. The value must be greater than " +"[code]0[/code] to be considered valid." +msgstr "" +"如果 [member default_font_size] 的值有效,则返回 [code]true[/code]。\n" +"如果无效则返回 [code]false[/code]。有效值必须大于 [code]0[/code]。" + +msgid "" "Returns [code]true[/code] if the [Font] property defined by [param name] and " "[param theme_type] exists, or if the default theme font is set up (see " "[method has_default_font]).\n" @@ -57874,6 +73229,24 @@ msgstr "" "[b]注意:[/b]这个方法类似于调用相应的数据类型特定方法,但可以用于更通用逻辑。" msgid "" +"Returns [code]true[/code] if [param theme_type] is marked as a variation of " +"[param base_type]." +msgstr "" +"如果主题类型 [param theme_type] 被标记为基础类型 [param base_type] 的变种,则" +"返回 [code]true[/code]。" + +msgid "" +"Adds missing and overrides existing definitions with values from the [param " +"other] theme resource.\n" +"[b]Note:[/b] This modifies the current theme. If you want to merge two " +"themes together without modifying either one, create a new empty theme and " +"merge the other two into it one after another." +msgstr "" +"添加缺失的定义,并使用 [param other] 主题资源中的值覆盖已有的定义。\n" +"[b]注意:[/b]这修改了当前的主题。如果想将两个主题合并在一起且不修改任何一个," +"请创建一个新的空主题,并将其他两个依次合并到其中。" + +msgid "" "Removes the theme type, gracefully discarding defined theme items. If the " "type is a variation, this information is also erased. If the type is a base " "for type variations, those variations lose their base." @@ -58027,6 +73400,26 @@ msgstr "" "[b]注意:[/b]这个方法类似于调用相应的数据类型特定方法,但可以用于更通用逻辑。" msgid "" +"Marks [param theme_type] as a variation of [param base_type].\n" +"This adds [param theme_type] as a suggested option for [member Control." +"theme_type_variation] on a [Control] that is of the [param base_type] " +"class.\n" +"Variations can also be nested, i.e. [param base_type] can be another " +"variation. If a chain of variations ends with a [param base_type] matching " +"the class of the [Control], the whole chain is going to be suggested as " +"options.\n" +"[b]Note:[/b] Suggestions only show up if this theme resource is set as the " +"project default theme. See [member ProjectSettings.gui/theme/custom]." +msgstr "" +"将主题类型 [param theme_type] 标记为基础类型 [param base_type] 的变种。\n" +"这会将 [param theme_type] 添加为属于 [param base_type] 类的 [Control] 的 " +"[member Control.theme_type_variation] 的建议选项。\n" +"变种也可以嵌套,即 [param base_type] 可以是另一个变种。如果变种链以匹配 " +"[Control] 类的 [param base_type] 结束,则整个链将被建议为选项。\n" +"[b]注意:[/b]仅当该主题资源被设置为项目的默认主题时才会显示建议。参见 " +"[member ProjectSettings.gui/theme/custom]。" + +msgid "" "The default base scale factor of this theme resource. Used by some controls " "to scale their visual properties based on the global scale factor. If this " "value is set to [code]0.0[/code], the global scale factor is used (see " @@ -58092,6 +73485,34 @@ msgstr "" "引擎单例,用于访问静态 [Theme] 信息,如默认主题和项目主题,以及回退值等。" msgid "" +"This engine singleton provides access to static information about [Theme] " +"resources used by the engine and by your projects. You can fetch the default " +"engine theme, as well as your project configured theme.\n" +"[ThemeDB] also contains fallback values for theme properties." +msgstr "" +"这个引擎单例可用于访问 [Theme] 资源的静态信息,包括引擎使用的主题资源和项目使" +"用的主题资源。可以获取引擎默认的主题,也可以获取你在项目中配置的主题。\n" +"[ThemeDB] 也包含了主题属性的回退值。" + +msgid "" +"Returns a reference to the default engine [Theme]. This theme resource is " +"responsible for the out-of-the-box look of [Control] nodes and cannot be " +"overridden." +msgstr "" +"返回默认引擎 [Theme] 的引用。该主题资源负责 [Control] 节点的原始外观,无法进" +"行覆盖。" + +msgid "" +"Returns a reference to the custom project [Theme]. This theme resources " +"allows to override the default engine theme for every control node in the " +"project.\n" +"To set the project theme, see [member ProjectSettings.gui/theme/custom]." +msgstr "" +"返回自定义项目 [Theme] 的引用。该主题资源能够影响项目中的所有控件节点,覆盖默" +"认引擎主题。\n" +"项目主题的设置请参阅 [member ProjectSettings.gui/theme/custom]。" + +msgid "" "The fallback base scale factor of every [Control] node and [Theme] resource. " "Used when no other value is available to the control.\n" "See also [member Theme.default_base_scale]." @@ -58131,6 +73552,11 @@ msgstr "" "所有 [Control] 节点和 [Theme] 资源的回退样式盒。用于控件没有其他值可用的情" "况。" +msgid "" +"Emitted when one of the fallback values had been changed. Use it to refresh " +"the look of controls that may rely on the fallback theme items." +msgstr "任意回退值发生改变时发出。可用于刷新依赖于回退主题项的控件的外观。" + msgid "A unit of execution in a process." msgstr "执行过程中的执行单元。" @@ -58150,13 +73576,6 @@ msgid "Thread-safe APIs" msgstr "线程安全的 API" msgid "" -"Returns the current [Thread]'s ID, uniquely identifying it among all " -"threads. If the [Thread] is not running this returns an empty string." -msgstr "" -"返回当前 [Thread] 的 ID,在所有线程中唯一标识它。如果 [Thread] 未运行,则返回" -"空字符串。" - -msgid "" "Returns [code]true[/code] if this [Thread] has been started. Once started, " "this will return [code]true[/code] until it is joined using [method " "wait_to_finish]. For checking if a [Thread] is still executing its task, use " @@ -58166,6 +73585,20 @@ msgstr "" "[code]true[/code] ,直到它使用 [method wait_to_finish] 加入。要检查 [Thread] " "是否仍在执行其任务,请使用 [method is_alive]。" +msgid "" +"Starts a new [Thread] that calls [param callable].\n" +"If the method takes some arguments, you can pass them using [method Callable." +"bind].\n" +"The [param priority] of the [Thread] can be changed by passing a value from " +"the [enum Priority] enum.\n" +"Returns [constant OK] on success, or [constant ERR_CANT_CREATE] on failure." +msgstr "" +"启动一个调用 [param callable] 的新 [Thread]。\n" +"如果该方法需要一些参数,可以使用 [method Callable.bind] 传递它们。\n" +"[Thread] 的 [param priority] 可以通过传递 [enum Priority] 枚举中的值来更" +"改。\n" +"成功时返回 [constant OK],失败时返回 [constant ERR_CANT_CREATE]。" + msgid "A thread running with lower priority than normally." msgstr "线程以比正常情况下更低的优先级运行。" @@ -58186,9 +73619,98 @@ msgstr "" "[TileData] 对象代表 [TileSet] 中的单个图块,通常使用图块集编辑器进行编辑,但" "也可以在运行时使用 [method TileMap._tile_data_runtime_update] 进行修改。" +msgid "" +"Returns the constant angular velocity applied to objects colliding with this " +"tile." +msgstr "返回恒定角速度,将应用于与此图块碰撞的对象。" + +msgid "" +"Returns the constant linear velocity applied to objects colliding with this " +"tile." +msgstr "返回恒定线速度,将应用于与此图块碰撞的对象。" + +msgid "" +"Returns the custom data value for custom data layer named [param layer_name]." +msgstr "" +"返回自定义数据层的自定义数据值,自定义数据层用名称 [param layer_name] 指定。" + +msgid "" +"Returns the custom data value for custom data layer with index [param " +"layer_id]." +msgstr "" +"返回自定义数据层的自定义数据值,自定义数据层用索引 [param layer_id] 指定。" + +msgid "" +"Sets the constant angular velocity. This does not rotate the tile. This " +"angular velocity is applied to objects colliding with this tile." +msgstr "设置恒定角速度。不会旋转图块。会对与该图块发生碰撞的对象应用该角速度。" + +msgid "" +"Sets the constant linear velocity. This does not move the tile. This linear " +"velocity is applied to objects colliding with this tile. This is useful to " +"create conveyor belts." +msgstr "" +"设置恒定线速度。不会旋转图块。会对与该图块发生碰撞的对象应用该线速度。可用于" +"创建传送带。" + +msgid "" +"Sets the tile's custom data value for the TileSet custom data layer with " +"name [param layer_name]." +msgstr "" +"设置该图块的自定义数据值,TileSet 自定义数据层由名称 [param layer_name] 指" +"定。" + +msgid "" +"Sets the tile's custom data value for the TileSet custom data layer with " +"index [param layer_id]." +msgstr "" +"设置该图块的自定义数据值,TileSet 自定义数据层由索引 [param layer_id] 指定。" + +msgid "" +"If [code]true[/code], the tile will have its texture flipped horizontally." +msgstr "如果为 [code]true[/code],则该图块的纹理会被水平翻转。" + +msgid "" +"If [code]true[/code], the tile will have its texture flipped vertically." +msgstr "如果为 [code]true[/code],则该图块的纹理会被垂直翻转。" + +msgid "" +"The [Material] to use for this [TileData]. This can be a " +"[CanvasItemMaterial] to use the default shader, or a [ShaderMaterial] to use " +"a custom shader." +msgstr "" +"用于此 [TileData] 的 [Material]。使用默认着色器可以设为 " +"[CanvasItemMaterial],使用自定义着色器可以设为 [ShaderMaterial]。" + msgid "Color modulation of the tile." msgstr "该图块的颜色调制。" +msgid "" +"Relative probability of this tile being selected when drawing a pattern of " +"random tiles." +msgstr "绘制随机图块图案时选择该图块的相对概率。" + +msgid "ID of the terrain from the terrain set that the tile uses." +msgstr "该图块所使用的地形集中地形的 ID。" + +msgid "ID of the terrain set that the tile uses." +msgstr "该图块所使用的地形集的 ID。" + +msgid "Offsets the position of where the tile is drawn." +msgstr "该图块绘制时的位置偏移量。" + +msgid "" +"If [code]true[/code], the tile will display transposed, i.e. with horizontal " +"and vertical texture UVs swapped." +msgstr "" +"如果为 [code]true[/code],则该图块会转置显示,即调换水平和垂直纹理 UV。" + +msgid "Vertical point of the tile used for determining y-sorted order." +msgstr "该图块用于确定 Y 排序顺序的垂直点。" + +msgid "Ordering index of this tile, relative to [TileMap]." +msgstr "该图块的排序索引,相对于 [TileMap]。" + msgid "Emitted when any of the properties are changed." msgstr "任何属性发生变化时发出。" @@ -58280,6 +73802,14 @@ msgstr "" "[b]警告:[/b]更新 TileMap 的计算量很大,可能会影响性能。请尽量限制更新的次数" "和受影响的图块(例如,将经常更新的图块放在专门的层中)。" +msgid "" +"Returns the coordinates of the tile for given physics body RID. Such RID can " +"be retrieved from [method KinematicCollision2D.get_collider_rid], when " +"colliding with a tile." +msgstr "" +"返回给定物理物体 RID 对应图块的坐标。与图块发生碰撞时,可以通过 [method " +"KinematicCollision2D.get_collider_rid] 获取该 RID。" + msgid "Returns a TileMap layer's modulate." msgstr "返回 TileMap 图层的调制颜色。" @@ -58296,9 +73826,65 @@ msgid "Returns the number of layers in the TileMap." msgstr "返回 TileMap 图层的数量。" msgid "" +"Returns the [NavigationServer2D] navigation map [RID] currently assigned to " +"the specified TileMap [param layer].\n" +"By default the TileMap uses the default [World2D] navigation map for the " +"first TileMap layer. For each additional TileMap layer a new navigation map " +"is created for the additional layer.\n" +"In order to make [NavigationAgent2D] switch between TileMap layer navigation " +"maps use [method NavigationAgent2D.set_navigation_map] with the navigation " +"map received from [method get_navigation_map]." +msgstr "" +"返回当前分配给指定 TileMap [param layer] 的 [NavigationServer2D] 导航地图 " +"[RID]。\n" +"默认情况下,TileMap 为第一个 TileMap 层,使用默认的 [World2D] 导航地图。对于" +"每个附加的 TileMap 层,都会为附加层创建一个新的导航地图。\n" +"为了使 [NavigationAgent2D] 在 TileMap 层导航地图之间切换,使用 [method " +"NavigationAgent2D.set_navigation_map] 和从 [method get_navigation_map] 接收的" +"导航地图。" + +msgid "Creates a new [TileMapPattern] from the given layer and set of cells." +msgstr "从给定的层和一组单元格,新建 [TileMapPattern]。" + +msgid "" "Returns the list of all neighbourings cells to the one at [param coords]." msgstr "返回与 [param coords] 处的单元格相邻的所有单元格的列表。" +msgid "" +"Returns a [Vector2i] array with the positions of all cells containing a tile " +"in the given layer. A cell is considered empty if its source identifier " +"equals -1, its atlas coordinates identifiers is [code]Vector2(-1, -1)[/code] " +"and its alternative identifier is -1." +msgstr "" +"返回 [Vector2i] 数组,其中存放的是给定图层中所有包含图块的单元格的位置。空单" +"元格的源标识符等于 -1、图集坐标标识符为 [code]Vector2(-1, -1)[/code]、备选标" +"识符为 -1。" + +msgid "" +"Returns a [Vector2i] array with the positions of all cells containing a tile " +"in the given layer. Tiles may be filtered according to their source ([param " +"source_id]), their atlas coordinates ([param atlas_coords]) or alternative " +"id ([param alternative_tile]).\n" +"If a parameter has it's value set to the default one, this parameter is not " +"used to filter a cell. Thus, if all parameters have their respective default " +"value, this method returns the same result as [method get_used_cells].\n" +"A cell is considered empty if its source identifier equals -1, its atlas " +"coordinates identifiers is [code]Vector2(-1, -1)[/code] and its alternative " +"identifier is -1." +msgstr "" +"返回 [Vector2i] 数组,其中存放的是给定图层中所有包含图块的单元格的位置。可以" +"根据源([param source_id])、图集坐标([param atlas_coords])、备选 ID" +"([param alternative_tile])进行过滤。\n" +"如果某个参数为默认值,则该参数不会用于单元格的过滤。因此,如果所有参数都使用" +"默认值,则返回的结果与 [method get_used_cells] 相同。\n" +"空单元格的源标识符等于 -1、图集坐标标识符为 [code]Vector2(-1, -1)[/code]、备" +"选标识符为 -1。" + +msgid "" +"Returns a rectangle enclosing the used (non-empty) tiles of the map, " +"including all layers." +msgstr "返回该地图的包围矩形,包围所有图层中的已使用(非空)的图块。" + msgid "Returns if a layer is enabled." msgstr "返回图层是否被启用。" @@ -58319,13 +73905,111 @@ msgstr "" "算 [code]position_in_tile_map + coords_in_pattern[/code] 工作。" msgid "" +"Moves the layer at index [param layer] to the given position [param " +"to_position] in the array." +msgstr "" +"将索引 [param layer] 处的图层移动到数组中给定的位置 [param to_position]。" + +msgid "Removes the layer at index [param layer]." +msgstr "移除索引为 [param layer] 的层。" + +msgid "" +"Sets a layer's color. It will be multiplied by tile's color and TileMap's " +"modulate.\n" +"If [code]layer[/code] is negative, the layers are accessed from the last one." +msgstr "" +"设置图层的颜色。该颜色会与图块的颜色以及 TileMap 的调制色相乘。\n" +"如果 [code]layer[/code] 为负,则逆序访问图层。" + +msgid "" +"Sets a layer's name. This is mostly useful in the editor.\n" +"If [code]layer[/code] is negative, the layers are accessed from the last one." +msgstr "" +"设置图层的名称。主要在编辑器中使用。\n" +"如果 [code]layer[/code] 为负,则逆序访问图层。" + +msgid "" +"Enables or disables a layer's Y-sorting. If a layer is Y-sorted, the layer " +"will behave as a CanvasItem node where each of its tile gets Y-sorted.\n" +"Y-sorted layers should usually be on different Z-index values than not Y-" +"sorted layers, otherwise, each of those layer will be Y-sorted as whole with " +"the Y-sorted one. This is usually an undesired behavior.\n" +"If [code]layer[/code] is negative, the layers are accessed from the last one." +msgstr "" +"启用或禁用图层的 Y 排序。如果进行了 Y 排序,则该图层和 CanvasItem 节点的行为" +"一致,会将其中的每个图块都进行 Y 排序。\n" +"Y 排序图层的 Z 索引一般应该和未 Y 排序的图层不同,否则未 Y 排序的图层会作为一" +"个整体,和 Y 排序图层一起进行 Y 排序。通常不希望发生这样的行为。\n" +"如果 [code]layer[/code] 为负,则逆序访问图层。" + +msgid "" +"Sets a layer's Y-sort origin value. This Y-sort origin value is added to " +"each tile's Y-sort origin value.\n" +"This allows, for example, to fake a different height level on each layer. " +"This can be useful for top-down view games.\n" +"If [code]layer[/code] is negative, the layers are accessed from the last one." +msgstr "" +"设置图层的 Y 排序原点。各个图块的 Y 排序原点值都会加上这个 Y 排序原点值。\n" +"用例是为图层冒充不同的高度级别。俯视角游戏比较有用。\n" +"如果 [code]layer[/code] 为负,则逆序访问图层。" + +msgid "" +"Sets a layers Z-index value. This Z-index is added to each tile's Z-index " +"value.\n" +"If [code]layer[/code] is negative, the layers are accessed from the last one." +msgstr "" +"设置图层的 Z 索引值。各个图块的 Z 索引值都会加上这个 Z 索引。\n" +"如果 [code]layer[/code] 为负,则逆序访问图层。" + +msgid "" +"Assigns a [NavigationServer2D] navigation map [RID] to the specified TileMap " +"[param layer].\n" +"By default the TileMap uses the default [World2D] navigation map for the " +"first TileMap layer. For each additional TileMap layer a new navigation map " +"is created for the additional layer.\n" +"In order to make [NavigationAgent2D] switch between TileMap layer navigation " +"maps use [method NavigationAgent2D.set_navigation_map] with the navigation " +"map received from [method get_navigation_map]." +msgstr "" +"将 [NavigationServer2D] 导航地图 [RID] 分配给指定的 TileMap [param layer]。\n" +"默认情况下,TileMap 为第一个 TileMap 层使用默认的 [World2D] 导航地图。对于每" +"个附加的 TileMap 层,都会为附加层创建一个新的导航地图。\n" +"为了使 [NavigationAgent2D] 在 TileMap 层导航地图之间切换,使用 [method " +"NavigationAgent2D.set_navigation_map] 和从 [method get_navigation_map] 接收的" +"导航地图。" + +msgid "" +"Paste the given [TileMapPattern] at the given [param position] and [param " +"layer] in the tile map." +msgstr "" +"将给定的 [TileMapPattern] 粘贴到图块地图中的 [param position] 位置和 [param " +"layer] 层。" + +msgid "" "The TileMap's quadrant size. Optimizes drawing by batching, using chunks of " "this size." msgstr "该 TileMap 的象限大小。会使用这个大小的区块对绘制进行批处理优化。" +msgid "" +"Show or hide the TileMap's collision shapes. If set to [constant " +"VISIBILITY_MODE_DEFAULT], this depends on the show collision debug settings." +msgstr "" +"显示或隐藏该 TileMap 的碰撞形状。如果设置为 [constant VISIBILITY " +"MODE_DEFAULT],则取决于调试设置“显示碰撞”。" + +msgid "" +"Show or hide the TileMap's navigation meshes. If set to [constant " +"VISIBILITY_MODE_DEFAULT], this depends on the show navigation debug settings." +msgstr "" +"显示或隐藏该 TileMap 的导航网格。如果设置为 [constant " +"VISIBILITY_MODE_DEFAULT],则取决于调试设置“显示导航”。" + msgid "The assigned [TileSet]." msgstr "指定的 [TileSet] 图块集。" +msgid "Emitted when the [TileSet] of this TileMap changes." +msgstr "该 TileMap 的 [TileSet] 发生改变时发出。" + msgid "Use the debug settings to determine visibility." msgstr "使用调试设置确定可见性。" @@ -58335,6 +74019,50 @@ msgstr "始终隐藏。" msgid "Always show." msgstr "始终显示。" +msgid "Holds a pattern to be copied from or pasted into [TileMap]s." +msgstr "存放 [TileMap] 的图案,用于复制粘贴。" + +msgid "" +"This resource holds a set of cells to help bulk manipulations of [TileMap].\n" +"A pattern always start at the [code](0,0)[/code] coordinates and cannot have " +"cells with negative coordinates." +msgstr "" +"这个资源存放的是一组单元格,能够帮助进行 [TileMap] 的批量操作。\n" +"图案始终从 [code](0,0)[/code] 坐标开始,不能存在负数坐标的单元格。" + +msgid "Returns the tile alternative ID of the cell at [param coords]." +msgstr "返回位于 [param coords] 的单元格的备选图块 ID。" + +msgid "Returns the tile atlas coordinates ID of the cell at [param coords]." +msgstr "返回位于 [param coords] 的单元格的图块图集坐标 ID。" + +msgid "Returns the tile source ID of the cell at [param coords]." +msgstr "返回位于 [param coords] 的单元格的图块源 ID。" + +msgid "Returns the size, in cells, of the pattern." +msgstr "返回该图案的大小(单位为单元格)。" + +msgid "Returns the list of used cell coordinates in the pattern." +msgstr "返回该图案中使用的单元格坐标列表。" + +msgid "Returns whether the pattern has a tile at the given coordinates." +msgstr "返回该图案是否在给定坐标处有图块。" + +msgid "Returns whether the pattern is empty or not." +msgstr "返回该图案是否为空。" + +msgid "Remove the cell at the given coordinates." +msgstr "移除给定坐标的单元格。" + +msgid "" +"Sets the tile indentifiers for the cell at coordinates [param coords]. See " +"[method TileMap.set_cell]." +msgstr "" +"设置位于 [param coords] 的单元格的图块标识符。见 [method TileMap.set_cell]。" + +msgid "Sets the size of the pattern." +msgstr "设置图案的大小。" + msgid "Tile library for tilemaps." msgstr "Tilemap 的图块库。" @@ -58365,18 +74093,107 @@ msgstr "" "罩),要实现不同类型的碰撞,你也可以添加多个 TileSet 物理层。\n" "更多信息请参阅添加新层的函数。" +msgid "" +"Adds a custom data layer to the TileSet at the given position [param " +"to_position] in the array. If [param to_position] is -1, adds it at the end " +"of the array.\n" +"Custom data layers allow assigning custom properties to atlas tiles." +msgstr "" +"在 TileSet 中添加自定义数据层,放置到数组中的 [param to_position] 位置。如果 " +"[param to_position] 为 -1,则会将其添加到数组的末尾。\n" +"自定义数据层能够为图集图块分配自定义属性。" + +msgid "" +"Adds a navigation layer to the TileSet at the given position [param " +"to_position] in the array. If [param to_position] is -1, adds it at the end " +"of the array.\n" +"Navigation layers allow assigning a navigable area to atlas tiles." +msgstr "" +"在 TileSet 中添加导航层,放置到数组中的 [param to_position] 位置。如果 " +"[param to_position] 为 -1,则会将其添加到数组的末尾。\n" +"导航层能够为图集图块分配导航区域。" + +msgid "" +"Adds an occlusion layer to the TileSet at the given position [param " +"to_position] in the array. If [param to_position] is -1, adds it at the end " +"of the array.\n" +"Occlusion layers allow assigning occlusion polygons to atlas tiles." +msgstr "" +"在 TileSet 中添加遮挡层,放置到数组中的 [param to_position] 位置。如果 " +"[param to_position] 为 -1,则会将其添加到数组的末尾。\n" +"遮挡层能够为图集图块分配遮挡多边形。" + +msgid "" +"Adds a physics layer to the TileSet at the given position [param " +"to_position] in the array. If [param to_position] is -1, adds it at the end " +"of the array.\n" +"Physics layers allow assigning collision polygons to atlas tiles." +msgstr "" +"在 TileSet 中添加物理层,放置到数组中的 [param to_position] 位置。如果 " +"[param to_position] 为 -1,则会将其添加到数组的末尾。\n" +"物理层能够为图集图块分配碰撞多边形。" + +msgid "" +"Adds a new terrain to the given terrain set [param terrain_set] at the given " +"position [param to_position] in the array. If [param to_position] is -1, " +"adds it at the end of the array." +msgstr "" +"在 TileSet 的 [param terrain_set] 地形集中添加新的地形,放置到数组中的 " +"[param to_position] 位置。如果 [param to_position] 为 -1,则会将其添加到数组" +"的末尾。" + +msgid "" +"Adds a new terrain set at the given position [param to_position] in the " +"array. If [param to_position] is -1, adds it at the end of the array." +msgstr "" +"在 TileSet 添加新的地形集,放置到数组中的 [param to_position] 位置。如果 " +"[param to_position] 为 -1,则会将其添加到数组的末尾。" + +msgid "Clears tile proxies pointing to invalid tiles." +msgstr "清除指向无效图块的图块代理。" + +msgid "Clears all tile proxies." +msgstr "清除所有图块代理。" + +msgid "" +"Returns the index of the custom data layer identified by the given name." +msgstr "返回自定义数据层的索引,该自定义数据层由名称表示。" + +msgid "" +"Returns the name of the custom data layer identified by the given index." +msgstr "返回自定义数据层的名称,该自定义数据层由索引表示。" + +msgid "" +"Returns the type of the custom data layer identified by the given index." +msgstr "返回自定义数据层的类型,该自定义数据层由索引表示。" + msgid "Returns the custom data layers count." msgstr "返回自定义数据层的数量。" msgid "Returns the navigation layers count." msgstr "返回导航层的数量。" +msgid "Returns the light mask of the occlusion layer." +msgstr "返回遮挡层的光照掩码。" + msgid "Returns the occlusion layers count." msgstr "返回遮挡层的数量。" +msgid "Returns the [TileMapPattern] at the given [param index]." +msgstr "返回给定 [param index] 处的 [TileMapPattern]。" + msgid "Returns the physics layers count." msgstr "返回物理层的数量。" +msgid "Returns the [TileSetSource] with ID [param source_id]." +msgstr "返回 ID 为 [param source_id] 的 [TileSetSource]。" + +msgid "Returns the number of [TileSetSource] in this TileSet." +msgstr "返回该 TileSet 中 [TileSetSource] 的数量。" + +msgid "Returns the source ID for source with index [param index]." +msgstr "返回索引为 [param index] 的源的源 ID。" + msgid "Returns a terrain's color." msgstr "返回地形的颜色。" @@ -58453,6 +74270,33 @@ msgid "" "tiles accordingly." msgstr "移除索引为 [param terrain_set] 的地形集。也会相应地更新图集中的图块。" +msgid "Sets the type of the custom data layer identified by the given index." +msgstr "设置自定义数据层的类型,该自定义数据层由索引表示。" + +msgid "" +"Sets the navigation layers (as in the navigation server) for navigation " +"regions is the given TileSet navigation layer." +msgstr "设置给定 TileSet 导航层中导航区域的导航层(导航服务器中使用)。" + +msgid "" +"Sets the occlusion layer (as in the rendering server) for occluders in the " +"given TileSet occlusion layer." +msgstr "设置给定 TileSet 遮挡层中遮挡器的遮挡层(渲染服务器中使用)。" + +msgid "" +"Enables or disables sdf collision for occluders in the given TileSet " +"occlusion layer." +msgstr "启用或禁用给定 TileSet 遮挡层中遮挡器的 SDF 碰撞。" + +msgid "" +"Sets the physics layer (as in the physics server) for bodies in the given " +"TileSet physics layer." +msgstr "设置给定 TileSet 物理层中物体的物理层(物理服务器中使用)。" + +msgid "" +"Sets the physics material for bodies in the given TileSet physics layer." +msgstr "设置给定 TileSet 物理层中物体的物理材质。" + msgid "Changes a source's ID." msgstr "更改源的 ID。" @@ -58515,6 +74359,38 @@ msgstr "矩形图块形状,每隔一行/列偏移半个图块。" msgid "Hexagonal tile shape." msgstr "六边形图块形状。" +msgid "" +"Tile coordinates layout where both axis stay consistent with their " +"respective local horizontal and vertical axis." +msgstr "图块坐标布局,两个轴与对应的局部水平轴和垂直轴保持一致。" + +msgid "" +"Same as [constant TILE_LAYOUT_STACKED], but the first half-offset is " +"negative instead of positive." +msgstr "" +"与 [constant TILE_LAYOUT_STACKED] 相同,但第一个半偏移偏向负方向,而不是正方" +"向。" + +msgid "" +"Tile coordinates layout where the horizontal axis stay horizontal, and the " +"vertical one goes down-right." +msgstr "图块坐标布局,水平轴保持水平,垂直轴朝向右下方。" + +msgid "" +"Tile coordinates layout where the vertical axis stay vertical, and the " +"horizontal one goes down-right." +msgstr "图块坐标布局,垂直轴保持垂直,水平轴朝向右下方。" + +msgid "" +"Tile coordinates layout where the horizontal axis goes up-right, and the " +"vertical one goes down-right." +msgstr "图块坐标布局,水平轴朝向右上方,垂直轴朝向右下方。" + +msgid "" +"Tile coordinates layout where the horizontal axis goes down-right, and the " +"vertical one goes down-left." +msgstr "图块坐标布局,水平轴朝向右下方,垂直轴朝向左下方。" + msgid "Horizontal half-offset." msgstr "水平半偏移。" @@ -58579,6 +74455,9 @@ msgstr "要求与相邻图块地形的角相匹配。" msgid "Requires sides to match with neighboring tiles' terrains." msgstr "要求与相邻图块地形的边相匹配。" +msgid "Exposes a 2D atlas texture as a set of tiles for a [TileSet] resource." +msgstr "以一组图块的形式向 [TileSet] 资源暴露 2D 图集纹理。" + msgid "" "Returns how many columns the tile at [param atlas_coords] has in its " "animation layout." @@ -58616,6 +74495,9 @@ msgstr "" "纹理中的基础图块大小(以像素为单位)。该大小必须大于该 TileSet 中的 " "[code]tile_size[/code] 值。" +msgid "Exposes a set of scenes as tiles for a [TileSet] resource." +msgstr "以图块的形式向 [TileSet] 资源暴露一组场景。" + msgid "" "Returns whether the scene tile with [param id] displays a placeholder in the " "editor." @@ -58636,6 +74518,69 @@ msgstr "返回该 TileSet 源是否包含 ID 为 [param id] 的场景图块。" msgid "Remove the scene tile with [param id]." msgstr "移除 ID 为 [param id] 的场景图块。" +msgid "Exposes a set of tiles for a [TileSet] resource." +msgstr "向 [TileSet] 资源暴露一组图块。" + +msgid "" +"Exposes a set of tiles for a [TileSet] resource.\n" +"Tiles in a source are indexed with two IDs, coordinates ID (of type " +"Vector2i) and an alternative ID (of type int), named according to their use " +"in the [TileSetAtlasSource] class.\n" +"Depending on the TileSet source type, those IDs might have restrictions on " +"their values, this is why the base [TileSetSource] class only exposes " +"getters for them.\n" +"You can iterate over all tiles exposed by a TileSetSource by first iterating " +"over coordinates IDs using [method get_tiles_count] and [method " +"get_tile_id], then over alternative IDs using [method " +"get_alternative_tiles_count] and [method get_alternative_tile_id]." +msgstr "" +"向 [TileSet] 资源暴露一组图块。\n" +"源中的图块具有索引,索引为两个 ID,分别是坐标 ID(类型为 Vector2i)和备选 ID" +"(类型为 int),名称反映了在 [TileSetAtlasSource] 中的使用方法。\n" +"根据 TileSet 源类型的不同,对这些 ID 的值可能有不同的限制,这就是 " +"[TileSetSource] 基类仅暴露了 getter 的原因。\n" +"要遍历 TileSetSource 中暴露的所有图块,你可以首先使用 [method " +"get_tiles_count] 和 [method get_tile_id] 遍历坐标 ID,然后使用 [method " +"get_alternative_tiles_count] 和 [method get_alternative_tile_id] 遍历备选 " +"ID。" + +msgid "" +"Returns the alternative ID for the tile with coordinates ID [param " +"atlas_coords] at index [param index]." +msgstr "" +"返回坐标 ID 为 [parma atlas_coords] 的图块的索引为 [parma index] 的备选 ID。" + +msgid "" +"Returns the number of alternatives tiles for the coordinates ID [param " +"atlas_coords].\n" +"For [TileSetAtlasSource], this always return at least 1, as the base tile " +"with ID 0 is always part of the alternatives list.\n" +"Returns -1 if there is not tile at the given coords." +msgstr "" +"返回坐标 ID 为 [parma atlas_coords] 的图块的备选图块数量。\n" +"[TileSetAtlasSource] 返回的数量至少为 1,因为备选列表中始终存在 ID 为 0 的基" +"础图块。\n" +"如果给定的坐标处没有图块,则返回 -1。" + +msgid "Returns the tile coordinates ID of the tile with index [param index]." +msgstr "返回索引为 [param index] 的图块的图块坐标 ID。" + +msgid "" +"Returns how many tiles this atlas source defines (not including alternative " +"tiles)." +msgstr "返回该图集源中定义的图块数量(不含备选图块)。" + +msgid "" +"Returns if the base tile at coordinates [param atlas_coords] has an " +"alternative with ID [param alternative_tile]." +msgstr "" +"返回位于坐标 [param atlas_coords] 的基础图块是否存在 ID 为 [param " +"alternative_tile] 的备选图块。" + +msgid "" +"Returns if this atlas has a tile with coordinates ID [param atlas_coords]." +msgstr "返回该图集中是否存在坐标 ID 为 [param atlas_coords] 的图块。" + msgid "Time singleton for working with time." msgstr "用于处理时间的 Time 单例。" @@ -58736,6 +74681,21 @@ msgstr "" "Time)。" msgid "" +"Converts the given Unix timestamp to a dictionary of keys: [code]year[/" +"code], [code]month[/code], [code]day[/code], [code]weekday[/code], " +"[code]hour[/code], [code]minute[/code], and [code]second[/code].\n" +"The returned Dictionary's values will be the same as the [method " +"get_datetime_dict_from_system] if the Unix timestamp is the current time, " +"with the exception of Daylight Savings Time as it cannot be determined from " +"the epoch." +msgstr "" +"将给定的 Unix 时间戳转换为字典,包含的键为:[code]year[/code]、[code]month[/" +"code]、[code]day[/code]、[code]weekday[/code]、[code]hour[/code]、" +"[code]minute[/code]、和 [code]second[/code]。\n" +"如果 Unix 时间戳是当前时间,则返回的字典值将与 [method " +"get_datetime_dict_from_system] 相同,夏令时除外,因为它无法根据纪元确定。" + +msgid "" "Converts the given dictionary of keys to an ISO 8601 date and time string " "(YYYY-MM-DDTHH:MM:SS).\n" "The given dictionary can be populated with the following keys: [code]year[/" @@ -59278,6 +75238,13 @@ msgid "Returns the transform's skew (in radians)." msgstr "返回该变换的偏斜(单位为弧度)。" msgid "" +"Returns a transform interpolated between this transform and another by a " +"given [param weight] (on the range of 0.0 to 1.0)." +msgstr "" +"返回将该变换与其他变换使用给定权重 [param weight] 进行插值的结果(权重范围为 " +"0.0 到 1.0)。" + +msgid "" "Returns the inverse of the transform, under the assumption that the " "transformation is composed of rotation and translation (no scaling, use " "[method affine_inverse] for transforms with scaling)." @@ -59286,12 +75253,11 @@ msgstr "" "[method affine_inverse])。" msgid "" -"Returns [code]true[/code] if this transform and [code]transform[/code] are " -"approximately equal, by calling [code]is_equal_approx[/code] on each " -"component." +"Returns [code]true[/code] if this transform is finite, by calling [method " +"@GlobalScope.is_finite] on each component." msgstr "" -"如果这个变换和[code]transform[/code]近似相等,通过对每个分量调用" -"[code]is_equal_approx[/code],而返回 [code]true[/code]。" +"如果该变换是有限的,则返回 [code]true[/code],判断方法是在每个分量上调用 " +"[method @GlobalScope.is_finite]。" msgid "" "Returns the transform with the basis orthogonal (90 degrees), and normalized " @@ -59299,6 +75265,88 @@ msgid "" msgstr "返回使用正交基(90 度)以及归一化的轴向量(缩放为 1 或 -1)的变换。" msgid "" +"Returns a copy of the transform rotated by the given [param angle] (in " +"radians).\n" +"This method is an optimized version of multiplying the given transform " +"[code]X[/code]\n" +"with a corresponding rotation transform [code]R[/code] from the left, i.e., " +"[code]R * X[/code].\n" +"This can be seen as transforming with respect to the global/parent frame." +msgstr "" +"返回该变换的副本,该副本进行了夹角为 [parma angle] 的旋转操作(单位为弧" +"度)。\n" +"这个方法的结果和让 [code]X[/code] 变换与相应的旋转变换 [code]R[/code]\n" +"从左侧相乘一致,即 [code]R * X[/code],但进行了优化。\n" +"可以视作在全局/父级坐标系中的变换。" + +msgid "" +"Returns a copy of the transform rotated by the given [param angle] (in " +"radians).\n" +"This method is an optimized version of multiplying the given transform " +"[code]X[/code]\n" +"with a corresponding rotation transform [code]R[/code] from the right, i.e., " +"[code]X * R[/code].\n" +"This can be seen as transforming with respect to the local frame." +msgstr "" +"返回该变换的副本,该副本进行了夹角为 [parma angle] 的旋转操作(单位为弧" +"度)。\n" +"这个方法的结果和让 [code]X[/code] 变换与相应的旋转变换 [code]R[/code]\n" +"从右侧相乘一致,即 [code]X * R[/code],但进行了优化。\n" +"可以视作在局部坐标系中的变换。" + +msgid "" +"Returns a copy of the transform scaled by the given [param scale] factor.\n" +"This method is an optimized version of multiplying the given transform " +"[code]X[/code]\n" +"with a corresponding scaling transform [code]S[/code] from the left, i.e., " +"[code]S * X[/code].\n" +"This can be seen as transforming with respect to the global/parent frame." +msgstr "" +"返回该变换的副本,该副本进行了系数为 [parma scale] 的缩放操作。\n" +"这个方法的结果和让 [code]X[/code] 变换与相应的缩放变换 [code]S[/code]\n" +"从左侧相乘一致,即 [code]S * X[/code],但进行了优化。\n" +"可以视作在全局/父级坐标系中的变换。" + +msgid "" +"Returns a copy of the transform scaled by the given [param scale] factor.\n" +"This method is an optimized version of multiplying the given transform " +"[code]X[/code]\n" +"with a corresponding scaling transform [code]S[/code] from the right, i.e., " +"[code]X * S[/code].\n" +"This can be seen as transforming with respect to the local frame." +msgstr "" +"返回该变换的副本,该副本进行了系数为 [parma scale] 的缩放操作。\n" +"这个方法的结果和让 [code]X[/code] 变换与相应的缩放变换 [code]S[/code]\n" +"从右侧相乘一致,即 [code]X * S[/code],但进行了优化。\n" +"可以视作在局部坐标系中的变换。" + +msgid "" +"Returns a copy of the transform translated by the given [param offset].\n" +"This method is an optimized version of multiplying the given transform " +"[code]X[/code]\n" +"with a corresponding translation transform [code]T[/code] from the left, i." +"e., [code]T * X[/code].\n" +"This can be seen as transforming with respect to the global/parent frame." +msgstr "" +"返回该变换的副本,该副本进行了偏移量为 [parma offset] 的平移操作。\n" +"这个方法的结果和让 [code]X[/code] 变换与相应的平移变换 [code]T[/code]\n" +"从左侧相乘一致,即 [code]T * X[/code],但进行了优化。\n" +"可以视作在全局/父级坐标系中的变换。" + +msgid "" +"Returns a copy of the transform translated by the given [param offset].\n" +"This method is an optimized version of multiplying the given transform " +"[code]X[/code]\n" +"with a corresponding translation transform [code]T[/code] from the right, i." +"e., [code]X * T[/code].\n" +"This can be seen as transforming with respect to the local frame." +msgstr "" +"返回该变换的副本,该副本进行了偏移量为 [parma offset] 的平移操作。\n" +"这个方法的结果和让 [code]X[/code] 变换与相应的平移变换 [code]T[/code]\n" +"从右侧相乘一致,即 [code]X * T[/code],但进行了优化。\n" +"可以视作在局部坐标系中的变换。" + +msgid "" "The origin vector (column 2, the third column). Equivalent to array index " "[code]2[/code]. The origin vector represents translation." msgstr "" @@ -59319,6 +75367,38 @@ msgstr "将沿 X 轴翻转的 [Transform2D]。" msgid "The [Transform2D] that will flip something along the Y axis." msgstr "将沿 Y 轴翻转的 [Transform2D]。" +msgid "" +"Returns [code]true[/code] if the transforms are not 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 "" +"Transforms (multiplies) each element of the [Vector2] array by the given " +"[Transform2D] matrix." +msgstr "" +"使用给定的 [Transform2D] 矩阵将该 [Vector2] 数组中的每个元素进行变换(相" +"乘)。" + +msgid "Transforms (multiplies) the [Rect2] by the given [Transform2D] matrix." +msgstr "使用给定的 [Transform2D] 矩阵将该 [Rect2] 进行变换(相乘)。" + +msgid "" +"Transforms (multiplies) the [Vector2] by the given [Transform2D] matrix." +msgstr "使用给定的 [Transform2D] 矩阵将该 [Vector2] 进行变换(相乘)。" + +msgid "" +"Returns [code]true[/code] if the transforms 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 "3D transformation (3×4 matrix)." msgstr "3D 变换(3×4 矩阵)。" @@ -59335,9 +75415,65 @@ msgstr "" "列)组成。\n" "更多信息请阅读文档文章《矩阵与变换》。" +msgid "" +"Constructs a default-initialized [Transform3D] set to [constant IDENTITY]." +msgstr "构造默认初始化为 [constant IDENTITY] 的 [Transform3D]。" + msgid "Constructs a [Transform3D] as a copy of the given [Transform3D]." msgstr "构造给定 [Transform3D] 的副本。" +msgid "Constructs a Transform3D from a [Basis] and [Vector3]." +msgstr "从 [Basis] 和 [Vector3] 构造 Transform3D。" + +msgid "" +"Returns a copy of the transform rotated such that the forward axis (-Z) " +"points towards the [param target] position.\n" +"The up axis (+Y) points as close to the [param up] vector as possible while " +"staying perpendicular to the forward axis. The resulting transform is " +"orthonormalized. The existing rotation, scale, and skew information from the " +"original transform is discarded. The [param target] and [param up] vectors " +"cannot be zero, cannot be parallel to each other, and are defined in global/" +"parent space." +msgstr "" +"返回旋转后的变换副本,使前向轴(-Z)指向 [param target] 位置。\n" +"向上轴(+Y)指向尽可能靠近 [param up] 向量,同时保持垂直于前向轴。生成的变换" +"是正交归一化的。来自原始变换的原有旋转、缩放和倾斜信息将被丢弃。[param " +"target] 和 [param up] 向量不能为零,不能相互平行,并且在全局/父空间中定义。" + +msgid "" +"Returns a copy of the transform rotated around the given [param axis] by the " +"given [param angle] (in radians).\n" +"The [param axis] must be a normalized vector.\n" +"This method is an optimized version of multiplying the given transform " +"[code]X[/code]\n" +"with a corresponding rotation transform [code]R[/code] from the left, i.e., " +"[code]R * X[/code].\n" +"This can be seen as transforming with respect to the global/parent frame." +msgstr "" +"返回该变换的副本,该副本围绕给定的 [param axis] 轴进行了夹角为 [parma angle] " +"的旋转操作(单位为弧度)。\n" +"[param axis] 必须为归一化的向量。\n" +"这个方法的结果和让 [code]X[/code] 变换与相应的旋转变换 [code]R[/code]\n" +"从左侧相乘一致,即 [code]R * X[/code],但进行了优化。\n" +"可以视作在全局/父级坐标系中的变换。" + +msgid "" +"Returns a copy of the transform rotated around the given [param axis] by the " +"given [param angle] (in radians).\n" +"The [param axis] must be a normalized vector.\n" +"This method is an optimized version of multiplying the given transform " +"[code]X[/code]\n" +"with a corresponding rotation transform [code]R[/code] from the right, i.e., " +"[code]X * R[/code].\n" +"This can be seen as transforming with respect to the local frame." +msgstr "" +"返回该变换的副本,该副本围绕给定的 [param axis] 轴进行了夹角为 [parma angle] " +"的旋转操作(单位为弧度)。\n" +"[param axis] 必须为归一化的向量。\n" +"这个方法的结果和让 [code]X[/code] 变换与相应的旋转变换 [code]R[/code]\n" +"从右侧相乘一致,即 [code]R * X[/code],但进行了优化。\n" +"可以视作在局部坐标系中的变换。" + msgid "" "The basis is a matrix containing 3 [Vector3] as its columns: X axis, Y axis, " "and Z axis. These vectors can be interpreted as the basis vectors of local " @@ -59358,6 +75494,24 @@ msgstr "" "没有应用平移、旋转、缩放的 [Transform3D]。当应用于其他数据结构时,[constant " "IDENTITY] 不执行变换。" +msgid "Transforms (multiplies) the [AABB] by the given [Transform3D] matrix." +msgstr "使用给定的 [Transform3D] 矩阵对 [AABB] 进行变换(相乘)。" + +msgid "" +"Transforms (multiplies) each element of the [Vector3] array by the given " +"[Transform3D] matrix." +msgstr "" +"使用给定的 [Transform3D] 矩阵对 [Vector3] 数组中的每个元素进行变换(相乘)。" + +msgid "" +"Transforms (multiplies) the [Plane] by the given [Transform3D] " +"transformation matrix." +msgstr "使用给定的 [Transform3D] 矩阵对 [Plane] 进行变换(相乘)。" + +msgid "" +"Transforms (multiplies) the [Vector3] by the given [Transform3D] matrix." +msgstr "使用给定的 [Transform3D] 矩阵对 [Vector3] 进行变换(相乘)。" + msgid "Language Translation." msgstr "语言翻译。" @@ -59407,6 +75561,13 @@ msgstr "添加一个 [Translation] 资源。" msgid "Clears the server from all translations." msgstr "清除服务器中的所有翻译。" +msgid "" +"Compares two locales and return similarity score between [code]0[/code](no " +"match) and [code]10[/code](full match)." +msgstr "" +"比较两个区域设置,返回 [code]0[/code](不匹配)和 [code]10[/code](完全匹配)" +"之间的相似度得分。" + msgid "Returns array of known country codes." msgstr "返回已知地区代码的数组。" @@ -59452,9 +75613,34 @@ msgstr "" "返回编辑器的当前区域设置。\n" "[b]注意:[/b]从导出后的项目中调用时,返回值与 [method get_locale] 相同。" +msgid "" +"Returns the pseudolocalized string based on the [param message] passed in." +msgstr "根据传入的 [param message] 返回伪本地化字符串。" + +msgid "Reparses the pseudolocalization options and reloads the translation." +msgstr "重新解析伪本地化选项,并重新加载翻译。" + msgid "Removes the given translation from the server." msgstr "从服务器中删除给定的翻译。" +msgid "" +"Sets the locale of the project. The [param locale] string will be " +"standardized to match known locales (e.g. [code]en-US[/code] would be " +"matched to [code]en_US[/code]).\n" +"If translations have been loaded beforehand for the new locale, they will be " +"applied." +msgstr "" +"设置项目的区域设置。[param locale] 字符串将被标准化,以匹配已知的区域设置(例" +"如 [code]en-US[/code] 将与 [code]en_US[/code] 匹配)。\n" +"如果已经为新区域设置预先加载了翻译,则它们将被应用。" + +msgid "" +"Returns [param locale] string standardized to match known locales (e.g. " +"[code]en-US[/code] would be matched to [code]en_US[/code])." +msgstr "" +"返回标准化的 [param locale] 字符串,以匹配已知的语言环境(例如 [code]en-US[/" +"code] 将与 [code]en_US[/code] 匹配)。" + msgid "Control to show a tree of items." msgstr "以树状形式显示项目的控件。" @@ -59462,6 +75648,21 @@ msgid "Clears the tree. This removes all items." msgstr "清除树。这将删除所有项目。" msgid "" +"Creates an item in the tree and adds it as a child of [param parent], which " +"can be either a valid [TreeItem] or [code]null[/code].\n" +"If [param parent] is [code]null[/code], the root item will be the parent, or " +"the new item will be the root itself if the tree is empty.\n" +"The new item will be the [param index]-th child of parent, or it will be the " +"last child if there are not enough siblings." +msgstr "" +"在树中创建一个项,并将其添加为父项 [param parent] 的子项,该父项可以是一个有" +"效的 [TreeItem] 或 [code]null[/code]。\n" +"如果 [param parent] 为 [code]null[/code],则根项将是父项;或者如果该树为空," +"则该新项将是根本身。\n" +"新项将是父项的第 [param index] 个子项,如果没有足够的同级项,它将是最后一个子" +"项。" + +msgid "" "Edits the selected tree item as if it was clicked. The item must be set " "editable with [method TreeItem.set_editable]. Returns [code]true[/code] if " "the item could be edited. Fails if no item is selected." @@ -59484,6 +75685,16 @@ msgstr "" "[b]注意:[/b]尽管这个方法的名称是这样的,但焦点光标本身只在 [constant " "SELECT_MULTI] 模式下可见。" +msgid "Returns the button ID at [param position], or -1 if no button is there." +msgstr "返回位于 [param position] 的按钮 ID,如果没有按钮则返回 -1。" + +msgid "" +"Returns the column index at [param position], or -1 if no item is there." +msgstr "返回位于 [param position] 的列索引,如果没有项目则返回 -1。" + +msgid "Returns the expand ratio assigned to the column." +msgstr "返回分配给该列的扩展比例。" + msgid "Returns the column's title." msgstr "返回该列的标题。" @@ -59511,6 +75722,15 @@ msgid "" "position)." msgstr "返回指定位置,即相对于树的原点位置的树中项。" +msgid "" +"Returns the next selected [TreeItem] after the given one, or [code]null[/" +"code] if the end is reached.\n" +"If [param from] is [code]null[/code], this returns the first selected item." +msgstr "" +"返回给定的 [TreeItem] 之后的下一个选中项,如果到达末尾,则返回 [code]null[/" +"code]。\n" +"如果 [param from] 为 [code]null[/code],则将返回第一个被选中的项。" + msgid "Returns the last pressed button's index." msgstr "返回最后按下的按钮的索引。" @@ -59553,6 +75773,16 @@ msgstr "" msgid "Causes the [Tree] to jump to the specified [TreeItem]." msgstr "使 [Tree] 跳转到指定的 [TreeItem]。" +msgid "" +"Overrides the calculated minimum width of a column. It can be set to " +"[code]0[/code] to restore the default behavior. Columns that have the " +"\"Expand\" flag will use their \"min_width\" in a similar fashion to [member " +"Control.size_flags_stretch_ratio]." +msgstr "" +"覆盖某一列的计算的最小宽度。它可以被设置为 [code]0[/code] 以恢复默认行为。具" +"有“扩展”标志的列将以与 [member Control.size_flags_stretch_ratio] 类似的方式使" +"用它们的最小宽度“min_width”。" + msgid "Sets the title of a column." msgstr "设置某一列的标题。" @@ -60057,6 +76287,17 @@ msgid "" "none." msgstr "返回树中的下一个兄弟 TreeItem,如果没有,则返回一个空对象。" +msgid "" +"Returns the next visible sibling TreeItem in the tree or a null object if " +"there is none.\n" +"If [param wrap] is enabled, the method will wrap around to the first visible " +"element in the tree when called on the last visible element, otherwise it " +"returns [code]null[/code]." +msgstr "" +"返回树中下一个可见的同级 TreeItem,如果不存在则返回 null 对象。\n" +"如果启用了 [param wrap],则当在最后一个可见元素调用时,该方法将环绕到树中的第" +"一个可见元素,否则它将返回 [code]null[/code]。" + msgid "Returns the parent TreeItem or a null object if there is none." msgstr "返回父级 TreeItem,如果没有,则返回一个空对象。" @@ -60065,6 +76306,17 @@ msgid "" "is none." msgstr "返回树中的前一个兄弟 TreeItem,如果没有,则返回一个空对象。" +msgid "" +"Returns the previous visible sibling TreeItem in the tree or a null object " +"if there is none.\n" +"If [param wrap] is enabled, the method will wrap around to the last visible " +"element in the tree when called on the first visible element, otherwise it " +"returns [code]null[/code]." +msgstr "" +"返回树中前一个可见的同级 TreeItem,如果不存在则返回 null 对象。\n" +"如果启用了 [param wrap],则在第一个可见元素上调用时,该方法将环绕到树中的最后" +"一个可见元素,否则它将返回 [code]null[/code]。" + msgid "Returns the value of a [constant CELL_MODE_RANGE] column." msgstr "返回 [constant CELL_MODE_RANGE] 列的值。" @@ -60088,6 +76340,13 @@ msgstr "设置给定列的工具提示文本。" msgid "Returns the [Tree] that owns this TreeItem." msgstr "返回拥有此 TreeItem 的 [Tree]。" +msgid "" +"Returns [code]true[/code] if the button at index [param button_index] for " +"the given [param column] is disabled." +msgstr "" +"如果给定列 [param column] 上索引为 [param button_index] 的按钮被禁用,则返回 " +"[code]true[/code]。" + msgid "Returns [code]true[/code] if the given [param column] is checked." msgstr "如果给定的列 [param column] 被勾选,则返回 [code]true[/code]。" @@ -60209,6 +76468,16 @@ msgstr "" msgid "Sets the value of a [constant CELL_MODE_RANGE] column." msgstr "设置 [constant CELL_MODE_RANGE] 列的值。" +msgid "" +"Sets the range of accepted values for a column. The column must be in the " +"[constant CELL_MODE_RANGE] mode.\n" +"If [param expr] is [code]true[/code], the edit mode slider will use an " +"exponential scale as with [member Range.exp_edit]." +msgstr "" +"设置列的可接受值的范围。该列必须处于 [constant CELL_MODE_RANGE] 模式。\n" +"如果 [param expr] 为 [code]true[/code],则编辑模式滑块将使用与 [member Range." +"exp_edit] 一样的指数刻度。" + msgid "If [code]true[/code], the given column is selectable." msgstr "如果为 [code]true[/code],给定的列是可选中的。" @@ -60220,6 +76489,11 @@ msgstr "设置字符串,显示在列的值之后(例如,单位的缩写) msgid "Sets the given column's text value." msgstr "设置给定列的文本值。" +msgid "" +"Sets the given column's text alignment. See [enum HorizontalAlignment] for " +"possible values." +msgstr "设置给定列的文本对齐方式。可能的值见 [enum HorizontalAlignment]。" + msgid "Sets the given column's tooltip text." msgstr "设置给定列的工具提示文本。" @@ -60316,24 +76590,6 @@ msgstr "" "[/codeblocks]" msgid "" -"Processes the [Tween] by the given [param delta] value, in seconds. This is " -"mostly useful for manual control when the [Tween] is paused. It can also be " -"used to end the [Tween] animation immediately, by setting [param delta] " -"longer than the whole duration of the [Tween] animation.\n" -"Returns [code]true[/code] if the [Tween] still has [Tweener]s that haven't " -"finished.\n" -"[b]Note:[/b] The [Tween] will become invalid in the next processing frame " -"after its animation finishes. Calling [method stop] after performing [method " -"custom_step] instead keeps and resets the [Tween]." -msgstr "" -"使用给定的增量秒数 [param delta] 处理该 [Tween]。最常见的用法是在该 [Tween] " -"暂停时对其进行手动控制。也可用于立即停止该 [Tween] 的动画,将 [param delta] " -"设得比完整长度更大即可。\n" -"如果该 [Tween] 仍然有未完成的 [Tweener],则返回 [code]true[/code]。\n" -"[b]注意:[/b]该 [Tween] 完成动画后,会在下一个处理帧中失效。你可以在执行 " -"[method custom_step] 后调用 [method stop] 将该 [Tween] 保留并重置。" - -msgid "" "Returns the total time in seconds the [Tween] has been animating (i.e. the " "time since it started, not counting pauses etc.). The time is affected by " "[method set_speed_scale], and [method stop] will reset it to [code]0[/" @@ -60444,6 +76700,15 @@ 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].\n" +"If not specified, the default value is [constant EASE_IN_OUT]." +msgstr "" +"设置 [PropertyTweener] 的默认缓动类型,[MethodTweener] 由该 [Tween] 设置动" +"画。\n" +"如果未指定,默认值为 [constant EASE_IN_OUT]。" + +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, " @@ -60495,6 +76760,15 @@ msgid "" msgstr "补间的速度缩放。影响所有 [Tweener] 及其延迟。" msgid "" +"Sets the default transition type for [PropertyTweener]s and [MethodTweener]s " +"animated by this [Tween].\n" +"If not specified, the default value is [constant TRANS_LINEAR]." +msgstr "" +"为此 [Tween] 设置动画化的 [PropertyTweener] 和 [MethodTweener] 的默认过渡类" +"型。\n" +"如果未指定,则默认值为 [constant TRANS_LINEAR]。" + +msgid "" "Stops the tweening and resets the [Tween] to its initial state. This will " "not remove any appended [Tweener]s." msgstr "停止补间,并将该 [Tween] 重置为初始状态。不会移除已追加的 [Tweener]。" @@ -60838,18 +77112,6 @@ msgstr "" "[/codeblocks]" msgid "" -"Emitted when the [Tween] has finished all tweening. Never emitted when the " -"[Tween] is set to infinite looping (see [method set_loops]).\n" -"[b]Note:[/b] The [Tween] is removed (invalidated) in the next processing " -"frame after this signal is emitted. Calling [method stop] inside the signal " -"callback will prevent the [Tween] from being removed." -msgstr "" -"在该 [Tween] 完成所有补间时触发。该 [Tween] 被设为无限循环时不会触发(见 " -"[method set_loops])。\n" -"[b]注意:[/b]触发这个信号后,该 [Tween] 会在下一个处理帧中被移除(置为无" -"效)。在该信号的回调中调用 [method stop] 可以防止该 [Tween] 被移除。" - -msgid "" "Emitted when a full loop is complete (see [method set_loops]), providing the " "loop index. This signal is not emitted after the final loop, use [signal " "finished] instead for this case." @@ -60959,257 +77221,6 @@ msgid "Helper class to implement a UDP server." msgstr "用于实现 UDP 服务器的辅助类。" msgid "" -"A simple server that opens a UDP socket and returns connected " -"[PacketPeerUDP] upon receiving new packets. See also [method PacketPeerUDP." -"connect_to_host].\n" -"After starting the server ([method listen]), you will need to [method poll] " -"it at regular intervals (e.g. inside [method Node._process]) for it to " -"process new packets, delivering them to the appropriate [PacketPeerUDP], and " -"taking new connections.\n" -"Below a small example of how it can be used:\n" -"[codeblocks]\n" -"[gdscript]\n" -"# server_node.gd\n" -"class_name ServerNode\n" -"extends Node\n" -"\n" -"var server := UDPServer.new()\n" -"var peers = []\n" -"\n" -"func _ready():\n" -" server.listen(4242)\n" -"\n" -"func _process(delta):\n" -" server.poll() # Important!\n" -" if server.is_connection_available():\n" -" var peer : PacketPeerUDP = server.take_connection()\n" -" var packet = peer.get_packet()\n" -" print(\"Accepted peer: %s:%s\" % [peer.get_packet_ip(), peer." -"get_packet_port()])\n" -" print(\"Received data: %s\" % [packet.get_string_from_utf8()])\n" -" # Reply so it knows we received the message.\n" -" peer.put_packet(packet)\n" -" # Keep a reference so we can keep contacting the remote peer.\n" -" peers.append(peer)\n" -"\n" -" for i in range(0, peers.size()):\n" -" pass # Do something with the connected peers.\n" -"[/gdscript]\n" -"[csharp]\n" -"// ServerNode.cs\n" -"using Godot;\n" -"using System.Collections.Generic;\n" -"\n" -"public partial class ServerNode : Node\n" -"{\n" -" private UdpServer _server = new UdpServer();\n" -" private List<PacketPeerUdp> _peers = new List<PacketPeerUdp>();\n" -"\n" -" public override void _Ready()\n" -" {\n" -" _server.Listen(4242);\n" -" }\n" -"\n" -" public override void _Process(double delta)\n" -" {\n" -" _server.Poll(); // Important!\n" -" if (_server.IsConnectionAvailable())\n" -" {\n" -" PacketPeerUdp peer = _server.TakeConnection();\n" -" byte[] packet = peer.GetPacket();\n" -" GD.Print($\"Accepted Peer: {peer.GetPacketIP()}:{peer." -"GetPacketPort()}\");\n" -" GD.Print($\"Received Data: {packet.GetStringFromUtf8()}\");\n" -" // Reply so it knows we received the message.\n" -" peer.PutPacket(packet);\n" -" // Keep a reference so we can keep contacting the remote peer.\n" -" _peers.Add(peer);\n" -" }\n" -" foreach (var peer in _peers)\n" -" {\n" -" // Do something with the peers.\n" -" }\n" -" }\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[codeblocks]\n" -"[gdscript]\n" -"# client_node.gd\n" -"class_name ClientNode\n" -"extends Node\n" -"\n" -"var udp := PacketPeerUDP.new()\n" -"var connected = false\n" -"\n" -"func _ready():\n" -" udp.connect_to_host(\"127.0.0.1\", 4242)\n" -"\n" -"func _process(delta):\n" -" if !connected:\n" -" # Try to contact server\n" -" udp.put_packet(\"The answer is... 42!\".to_utf8())\n" -" if udp.get_available_packet_count() > 0:\n" -" print(\"Connected: %s\" % udp.get_packet().get_string_from_utf8())\n" -" connected = true\n" -"[/gdscript]\n" -"[csharp]\n" -"// ClientNode.cs\n" -"using Godot;\n" -"\n" -"public partial class ClientNode : Node\n" -"{\n" -" private PacketPeerUdp _udp = new PacketPeerUdp();\n" -" private bool _connected = false;\n" -"\n" -" public override void _Ready()\n" -" {\n" -" _udp.ConnectToHost(\"127.0.0.1\", 4242);\n" -" }\n" -"\n" -" public override void _Process(double delta)\n" -" {\n" -" if (!_connected)\n" -" {\n" -" // Try to contact server\n" -" _udp.PutPacket(\"The Answer Is..42!\".ToUtf8());\n" -" }\n" -" if (_udp.GetAvailablePacketCount() > 0)\n" -" {\n" -" GD.Print($\"Connected: {_udp.GetPacket()." -"GetStringFromUtf8()}\");\n" -" _connected = true;\n" -" }\n" -" }\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]" -msgstr "" -"一个简单的服务,它打开一个 UDP 套接字,并在接收到新数据包时,返回已连接的 " -"[PacketPeerUDP]。另见 [method PacketPeerUDP.connect_to_host]。\n" -"在启动服务([method listen])后,您需要定期(例如在 [method Node._process] 内" -"部)对其 [method poll],以处理新的数据包,将数据包传递给适当的 " -"[PacketPeerUDP],并且接受新的连接。\n" -"下面是一个如何使用它的小例子:\n" -"[codeblocks]\n" -"[gdscript]\n" -"# server_node.gd\n" -"class_name ServerNode\n" -"extends Node\n" -"\n" -"var server := UDPServer.new()\n" -"var peers = []\n" -"\n" -"func _ready():\n" -" server.listen(4242)\n" -"\n" -"func _process(delta):\n" -" server.poll() # 重要!\n" -" if server.is_connection_available():\n" -" var peer : PacketPeerUDP = server.take_connection()\n" -" var packet = peer.get_packet()\n" -" print(\"Accepted peer: %s:%s\" % [peer.get_packet_ip(), peer." -"get_packet_port()])\n" -" print(\"Received data: %s\" % [packet.get_string_from_utf8()])\n" -" # 回复,以便它知道我们收到了消息。\n" -" peer.put_packet(packet)\n" -" # 保留一个引用,以便我们可以继续联系远程对等体。\n" -" peers.append(peer)\n" -"\n" -" for i in range(0, peers.size()):\n" -" pass # 与已连接的对等体,一起做一些事情。\n" -"[/gdscript]\n" -"[csharp]\n" -"// ServerNode.cs\n" -"using Godot;\n" -"using System.Collections.Generic;\n" -"\n" -"public partial class ServerNode : Node\n" -"{\n" -" private UdpServer _server = new UdpServer();\n" -" private List<PacketPeerUdp> _peers = new List<PacketPeerUdp>();\n" -"\n" -" public override void _Ready()\n" -" {\n" -" _server.Listen(4242);\n" -" }\n" -"\n" -" public override void _Process(double delta)\n" -" {\n" -" _server.Poll(); // 重要!\n" -" if (_server.IsConnectionAvailable())\n" -" {\n" -" PacketPeerUdp peer = _server.TakeConnection();\n" -" byte[] packet = peer.GetPacket();\n" -" GD.Print($\"Accepted Peer: {peer.GetPacketIP()}:{peer." -"GetPacketPort()}\");\n" -" GD.Print($\"Received Data: {packet.GetStringFromUtf8()}\");\n" -" // 回复,以便它知道我们收到了消息。\n" -" peer.PutPacket(packet);\n" -" // 保留一个引用,以便我们可以继续联系远程对等体。\n" -" _peers.Add(peer);\n" -" }\n" -" foreach (var peer in _peers)\n" -" {\n" -" // 与对等体,一起做一些事情。\n" -" }\n" -" }\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]\n" -"[codeblocks]\n" -"[gdscript]\n" -"# client_node.gd\n" -"class_name ClientNode\n" -"extends Node\n" -"\n" -"var udp := PacketPeerUDP.new()\n" -"var connected = false\n" -"\n" -"func _ready():\n" -" udp.connect_to_host(\"127.0.0.1\", 4242)\n" -"\n" -"func _process(delta):\n" -" if !connected:\n" -" # 尝试联系服务器\n" -" udp.put_packet(\"The answer is... 42!\".to_utf8())\n" -" if udp.get_available_packet_count() > 0:\n" -" print(\"Connected: %s\" % udp.get_packet().get_string_from_utf8())\n" -" connected = true\n" -"[/gdscript]\n" -"[csharp]\n" -"// ClientNode.cs\n" -"using Godot;\n" -"\n" -"public partial class ClientNode : Node\n" -"{\n" -" private PacketPeerUdp _udp = new PacketPeerUdp();\n" -" private bool _connected = false;\n" -"\n" -" public override void _Ready()\n" -" {\n" -" _udp.ConnectToHost(\"127.0.0.1\", 4242);\n" -" }\n" -"\n" -" public override void _Process(double delta)\n" -" {\n" -" if (!_connected)\n" -" {\n" -" // 尝试联系服务器\n" -" _udp.PutPacket(\"The Answer Is..42!\".ToUtf8());\n" -" }\n" -" if (_udp.GetAvailablePacketCount() > 0)\n" -" {\n" -" GD.Print($\"Connected: {_udp.GetPacket()." -"GetStringFromUtf8()}\");\n" -" _connected = true;\n" -" }\n" -" }\n" -"}\n" -"[/csharp]\n" -"[/codeblocks]" - -msgid "" "Returns [code]true[/code] if a packet with a new address/port combination " "was received on the socket." msgstr "" @@ -61221,6 +77232,14 @@ msgid "" msgstr "如果套接字是打开的,并且在监听端口,则返回 [code]true[/code]。" msgid "" +"Starts the server by opening a UDP socket listening on the given [param " +"port]. You can optionally specify a [param bind_address] to only listen for " +"packets sent to that address. See also [method PacketPeerUDP.bind]." +msgstr "" +"启动服务器,打开监听给定端口 [param port] 的 UDP 套接字。还可以指定 [param " +"bind_address],仅监听发送至该地址的数据包。另见 [method PacketPeerUDP.bind]。" + +msgid "" "Call this method at regular intervals (e.g. inside [method Node._process]) " "to process new packets. And packet from known address/port pair will be " "delivered to the appropriate [PacketPeerUDP], any packet received from an " @@ -61265,6 +77284,131 @@ msgstr "" msgid "Helper to manage undo/redo operations in the editor or custom tools." msgstr "在编辑器或自定义工具中管理撤销及重做操作的辅助工具。" +msgid "" +"Helper to manage undo/redo operations in the editor or custom tools. It " +"works by registering methods and property changes inside \"actions\".\n" +"Common behavior is to create an action, then add do/undo calls to functions " +"or property changes, then committing the action.\n" +"Here's an example on how to add an action to the Godot editor's own " +"[UndoRedo], from a plugin:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var undo_redo = get_undo_redo() # Method of EditorPlugin.\n" +"\n" +"func do_something():\n" +" pass # Put your code here.\n" +"\n" +"func undo_something():\n" +" pass # Put here the code that reverts what's done by " +"\"do_something()\".\n" +"\n" +"func _on_my_button_pressed():\n" +" var node = get_node(\"MyNode2D\")\n" +" undo_redo.create_action(\"Move the node\")\n" +" undo_redo.add_do_method(self, \"do_something\")\n" +" undo_redo.add_undo_method(self, \"undo_something\")\n" +" undo_redo.add_do_property(node, \"position\", Vector2(100,100))\n" +" undo_redo.add_undo_property(node, \"position\", node.position)\n" +" undo_redo.commit_action()\n" +"[/gdscript]\n" +"[csharp]\n" +"private UndoRedo _undoRedo;\n" +"\n" +"public override void _Ready()\n" +"{\n" +" _undoRedo = GetUndoRedo(); // Method of EditorPlugin.\n" +"}\n" +"\n" +"public void DoSomething()\n" +"{\n" +" // Put your code here.\n" +"}\n" +"\n" +"public void UndoSomething()\n" +"{\n" +" // Put here the code that reverts what's done by \"DoSomething()\".\n" +"}\n" +"\n" +"private void OnMyButtonPressed()\n" +"{\n" +" var node = GetNode<Node2D>(\"MyNode2D\");\n" +" _undoRedo.CreateAction(\"Move the node\");\n" +" _undoRedo.AddDoMethod(new Callable(this, MethodName.DoSomething));\n" +" _undoRedo.AddUndoMethod(new Callable(this, MethodName.UndoSomething));\n" +" _undoRedo.AddDoProperty(node, \"position\", new Vector2(100, 100));\n" +" _undoRedo.AddUndoProperty(node, \"position\", node.Position);\n" +" _undoRedo.CommitAction();\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[method create_action], [method add_do_method], [method add_undo_method], " +"[method add_do_property], [method add_undo_property], and [method " +"commit_action] should be called one after the other, like in the example. " +"Not doing so could lead to crashes.\n" +"If you don't need to register a method, you can leave [method add_do_method] " +"and [method add_undo_method] out; the same goes for properties. You can also " +"register more than one method/property." +msgstr "" +"在编辑器或自定义工具中管理撤销及重做操作的辅助工具。它的工作原理是" +"在“action”(动作)中注册方法和属性更改。\n" +"常见行为是创建一个动作,然后添加对函数或属性更改的执行及撤消调用,然后提交该" +"动作。\n" +"这是一个关于如何从插件向 Godot 编辑器拥有的 [UndoRedo] 添加一个动作的示例:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var undo_redo = get_undo_redo() # EditorPlugin 的方法。\n" +"\n" +"func do_something():\n" +" pass # 在此处添加你的代码。\n" +"\n" +"func undo_something():\n" +" pass # 在此处添加用于恢复“do_something()”所做修改的代码。\n" +"\n" +"func _on_my_button_pressed():\n" +" var node = get_node(\"MyNode2D\")\n" +" undo_redo.create_action(\"移动节点\")\n" +" undo_redo.add_do_method(self, \"do_something\")\n" +" undo_redo.add_undo_method(self, \"undo_something\")\n" +" undo_redo.add_do_property(node, \"position\", Vector2(100,100))\n" +" undo_redo.add_undo_property(node, \"position\", node.position)\n" +" undo_redo.commit_action()\n" +"[/gdscript]\n" +"[csharp]\n" +"private UndoRedo _undoRedo;\n" +"\n" +"public override void _Ready()\n" +"{\n" +" _undoRedo = GetUndoRedo(); // EditorPlugin 的方法。\n" +"}\n" +"\n" +"public void DoSomething()\n" +"{\n" +" // 在此处添加你的代码。\n" +"}\n" +"\n" +"public void UndoSomething()\n" +"{\n" +" // 在此处添加用于恢复“do_something()”所做修改的代码。\n" +"}\n" +"\n" +"private void OnMyButtonPressed()\n" +"{\n" +" var node = GetNode<Node2D>(\"MyNode2D\");\n" +" _undoRedo.CreateAction(\"移动节点\");\n" +" _undoRedo.AddDoMethod(new Callable(this, MethodName.DoSomething));\n" +" _undoRedo.AddUndoMethod(new Callable(this, MethodName.UndoSomething));\n" +" _undoRedo.AddDoProperty(node, \"position\", new Vector2(100, 100));\n" +" _undoRedo.AddUndoProperty(node, \"position\", node.Position);\n" +" _undoRedo.CommitAction();\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[method create_action]、[method add_do_method]、[method add_undo_method]、" +"[method add_do_property]、[method add_undo_property]、和 [method " +"commit_action] 应该如示例所示依次调用。否则可能会导致崩溃。\n" +"如果不需要注册某个方法,可以省略 [method add_do_method] 和 [method " +"add_undo_method];属性也是如此。也可以注册多个方法/属性。" + msgid "Register a [Callable] that will be called when the action is committed." msgstr "注册 [Callable],会在提交动作时调用。" @@ -61281,6 +77425,27 @@ msgid "" "when the action is undone." msgstr "注册 [param property],会在撤销动作时将其值更改为 [param value]。" +msgid "" +"Commit the action. If [param execute] is [code]true[/code] (which it is by " +"default), all \"do\" methods/properties are called/set when this function is " +"called." +msgstr "" +"提交动作。如果 [param execute] 为 [code]true[/code](默认情况),则会在调用此" +"函数时调用/设置所有“执行(do)”方法/属性。" + +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 [param merge_mode]. See [enum " +"MergeMode] for details." +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 MergeMode]。" + msgid "Gets the action name from its index." msgstr "根据索引获取动作名称。" @@ -61833,9 +77998,35 @@ msgstr "[VBoxContainer] 的元素之间的垂直空间。" msgid "Vector used for 2D math using floating point coordinates." msgstr "浮点数坐标向量,用于 2D 数学。" +msgid "" +"2-element structure that can be used to represent positions in 2D space or " +"any other pair of numeric values.\n" +"It uses floating-point coordinates. By default, these floating-point values " +"use 32-bit precision, unlike [float] which is always 64-bit. If double " +"precision is needed, compile the engine with the option " +"[code]precision=double[/code].\n" +"See [Vector2i] for its integer counterpart.\n" +"[b]Note:[/b] In a boolean context, a Vector2 will evaluate to [code]false[/" +"code] if it's equal to [code]Vector2(0, 0)[/code]. Otherwise, a Vector2 will " +"always evaluate to [code]true[/code]." +msgstr "" +"双元素结构,可用于表示 2D 空间中的坐标或其他任何一对数值。\n" +"使用的是浮点数坐标。默认情况下,这些浮点值的精度为 32 位,和始终为 64 位的 " +"[float] 存在区别。如果需要双精度,请使用 [code]precision=double[/code] 选项编" +"译引擎。\n" +"对应的整数版本见 [Vector2i]。\n" +"[b]注意:[/b]在布尔语境中,如果 Vector2 等于 [code]Vector2(0, 0)[/code],求值" +"结果即为 [code]false[/code]。否则,Vector2 的求值结果始终为 [code]true[/" +"code]。" + msgid "3Blue1Brown Essence of Linear Algebra" msgstr "3Blue1Brown《线性代数的本质》" +msgid "" +"Constructs a default-initialized [Vector2] with all components set to " +"[code]0[/code]." +msgstr "构造默认初始化的 [Vector2],所有分量均为 [code]0[/code]。" + msgid "Constructs a [Vector2] as a copy of the given [Vector2]." msgstr "构造给定 [Vector2] 的副本。" @@ -61847,26 +78038,173 @@ msgstr "从给定的 [param x] 和 [param y] 构造新的 [Vector2]。" msgid "" "Returns a new vector with all components in absolute values (i.e. positive)." -msgstr "返回一个新的向量,其所有分量都是绝对值,即正值。" +msgstr "返回一个新向量,其所有分量都是绝对值,即正值。" + +msgid "" +"Returns this vector's angle with respect to the positive X axis, or [code]" +"(1, 0)[/code] vector, in radians.\n" +"For example, [code]Vector2.RIGHT.angle()[/code] will return zero, " +"[code]Vector2.DOWN.angle()[/code] will return [code]PI / 2[/code] (a quarter " +"turn, or 90 degrees), and [code]Vector2(1, -1).angle()[/code] will return " +"[code]-PI / 4[/code] (a negative eighth turn, or -45 degrees).\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" +"vector2_angle.png]Illustration of the returned angle.[/url]\n" +"Equivalent to the result of [method @GlobalScope.atan2] when called with the " +"vector's [member y] and [member x] as parameters: [code]atan2(y, x)[/code]." +msgstr "" +"返回该向量与 X 轴正方向的夹角,单位为弧度。X 轴正方向为 [code](1, 0)[/code] " +"向量。\n" +"例如,[code]Vector2.RIGHT.angle()[/code] 将返回 0,[code]Vector2.DOWN.angle()" +"[/code] 将返回 [code]PI / 2[/code](四分之一圈,即 90 度),[code]Vector2(1, " +"-1).angle()[/code] 将返回 [code]-PI / 4[/code](负八分之一圈,即 -45 度)。\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" +"vector2_angle.png]返回夹角图示。[/url]\n" +"相当于使用该向量的 [member y] 和 [member x] 作为参数对 [method @GlobalScope." +"atan2] 进行调用的结果:[code]atan2(y, x)[/code]。" msgid "" "Returns the angle to the given vector, in radians.\n" "[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" "vector2_angle_to.png]Illustration of the returned angle.[/url]" msgstr "" -"返回与给定向量的角度,单位为弧度。\n" +"返回与给定向量的夹角,单位为弧度。\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" +"vector2_angle_to.png]返回夹角图示。[/url]" + +msgid "" +"Returns the angle between the line connecting the two points and the X axis, " +"in radians.\n" +"[code]a.angle_to_point(b)[/code] is equivalent of doing [code](b - a).angle()" +"[/code].\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" +"vector2_angle_to_point.png]Illustration of the returned angle.[/url]" +msgstr "" +"返回连接两点的直线与 X 轴之间的夹角,单位为弧度。\n" +"[code]a.angle_to_point(b)[/code] 等价于 [code](b - a).angle()[/code]。\n" "[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" -"vector2_angle_to.png]返回角度的说明。[/url]" +"vector2_angle_to_point.png]返回夹角图示。[/url]" msgid "" "Returns the aspect ratio of this vector, the ratio of [member x] to [member " "y]." -msgstr "返回这个向量的长宽比,即 [member x] 与 [member y] 的比例。" +msgstr "返回该向量的长宽比,即 [member x] 与 [member y] 的比例。" + +msgid "" +"Returns the derivative at the given [param t] on the [url=https://en." +"wikipedia.org/wiki/B%C3%A9zier_curve]Bézier curve[/url] defined by this " +"vector and the given [param control_1], [param control_2], and [param end] " +"points." +msgstr "" +"返回[url=https://zh.wikipedia.org/zh-cn/%E8%B2%9D%E8%8C%B2%E6%9B%B2%E7%B7%9A]" +"贝赛尔曲线[/url]上 [param t] 处的导数,该曲线由此向量和控制点 [param " +"control_1]、[param control_2]、终点 [param end] 定义。" + +msgid "" +"Returns the point at the given [param t] on the [url=https://en.wikipedia." +"org/wiki/B%C3%A9zier_curve]Bézier curve[/url] defined by this vector and the " +"given [param control_1], [param control_2], and [param end] points." +msgstr "" +"返回[url=https://zh.wikipedia.org/zh-cn/%E8%B2%9D%E8%8C%B2%E6%9B%B2%E7%B7%9A]" +"贝赛尔曲线[/url]上 [param t] 处的点,该曲线由此向量和控制点 [param " +"control_1]、[param control_2]、终点 [param end] 定义。" + +msgid "" +"Returns a new vector \"bounced off\" from a plane defined by the given " +"normal." +msgstr "返回从平面上“反弹”的向量,该平面由给定的法线定义。" msgid "" "Returns a new vector with all components rounded up (towards positive " "infinity)." -msgstr "返回一个新的向量,所有的分量都是四舍五入的,向正无穷大。" +msgstr "返回一个新向量,所有的分量都是向上舍入(正无穷大方向)。" + +msgid "" +"Returns a new vector with all components clamped between the components of " +"[param min] and [param max], by running [method @GlobalScope.clamp] on each " +"component." +msgstr "" +"返回一个新向量,每个分量都使用 [method @GlobalScope.clamp] 限制在 [param " +"min] 和 [param max] 之间。" + +msgid "" +"Returns the 2D analog of the cross product for this vector and [param " +"with].\n" +"This is the signed area of the parallelogram formed by the two vectors. If " +"the second vector is clockwise from the first vector, then the cross product " +"is the positive area. If counter-clockwise, the cross product is the " +"negative area.\n" +"[b]Note:[/b] Cross product is not defined in 2D mathematically. This method " +"embeds the 2D vectors in the XY plane of 3D space and uses their cross " +"product's Z component as the analog." +msgstr "" +"返回该向量和 [param with] 的 2D 类比叉积。\n" +"这是由两个向量所形成的平行四边形的有符号面积。如果第二个向量是从第一个向量的" +"顺时针方向出发的,则叉积为正面积。如果是逆时针方向,则叉积为负面积。\n" +"[b]注意:[/b]数学中没有定义二维空间的叉乘。此方法是将 2D 向量嵌入到 3D 空间" +"的 XY 平面中,并使用它们的叉积的 Z 分量作为类比。" + +msgid "" +"Cubically interpolates between this vector and [param b] using [param pre_a] " +"and [param post_b] as handles, and returns the result at position [param " +"weight]. [param weight] is on the range of 0.0 to 1.0, representing the " +"amount of interpolation." +msgstr "" +"返回该向量和 [param b] 之间进行三次插值 [param weight] 处的结果,使用 [param " +"pre_a] 和 [param post_b] 作为控制柄。[param weight] 在 0.0 到 1.0 的范围内," +"代表插值的量。" + +msgid "" +"Cubically interpolates between this vector and [param b] using [param pre_a] " +"and [param post_b] as handles, and returns the result at position [param " +"weight]. [param weight] is on the range of 0.0 to 1.0, representing the " +"amount of interpolation.\n" +"It can perform smoother interpolation than [code]cubic_interpolate()[/code] " +"by the time values." +msgstr "" +"返回该向量和 [param b] 之间进行三次插值 [param weight] 处的结果,使用 [param " +"pre_a] 和 [param post_b] 作为控制柄。[param weight] 在 0.0 到 1.0 的范围内," +"代表插值的量。\n" +"通过使用时间值,可以比 [code]cubic_interpolate()[/code] 进行更平滑的插值。" + +msgid "" +"Returns the normalized vector pointing from this vector to [param to]. This " +"is equivalent to using [code](b - a).normalized()[/code]." +msgstr "" +"返回从该向量指向 [param to] 的归一化向量。相当于使用 [code](b - a)." +"normalized()[/code]。" + +msgid "" +"Returns the squared distance between this vector and [param to].\n" +"This method runs faster than [method distance_to], so prefer it if you need " +"to compare vectors or need the squared distance for some formula." +msgstr "" +"返回该向量与 [param to] 之间的距离的平方。\n" +"该方法比 [method distance_to] 运行得更快,因此请在需要比较向量或者用于某些公" +"式的平方距离时,优先使用这个方法。" + +msgid "Returns the distance between this vector and [param to]." +msgstr "返回该向量与 [param to] 之间的距离。" + +msgid "" +"Returns the dot product of this vector and [param with]. This can be used to " +"compare the angle between two vectors. For example, this can be used to " +"determine whether an enemy is facing the player.\n" +"The dot product will be [code]0[/code] for a straight angle (90 degrees), " +"greater than 0 for angles narrower than 90 degrees and lower than 0 for " +"angles wider than 90 degrees.\n" +"When using unit (normalized) vectors, the result will always be between " +"[code]-1.0[/code] (180 degree angle) when the vectors are facing opposite " +"directions, and [code]1.0[/code] (0 degree angle) when the vectors are " +"aligned.\n" +"[b]Note:[/b] [code]a.dot(b)[/code] is equivalent to [code]b.dot(a)[/code]." +msgstr "" +"返回该向量与 [param with] 的点积。可用于比较两个向量之间的夹角。例如,可用于" +"确定敌人是否面向玩家。\n" +"直角(90 度)的点积为 [code]0[/code];大于 0 则夹角小于 90 度;小于 0 则夹角" +"大于 90 度。\n" +"使用(归一化的)单位向量时,如果向量朝向相反,则结果始终为 [code]-1.0[/code]" +"(180 度角);如果向量方向一致,则结果始终为 [code]1.0[/code](0 度角)。\n" +"[b]注意:[/b][code]a.dot(b)[/code] 等价于 [code]b.dot(a)[/code]。" msgid "" "Returns a new vector with all components rounded down (towards negative " @@ -61874,6 +78212,25 @@ msgid "" msgstr "返回一个新的向量,所有的向量都被四舍五入,向负无穷大。" msgid "" +"Creates a unit [Vector2] rotated to the given [param angle] in radians. This " +"is equivalent to doing [code]Vector2(cos(angle), sin(angle))[/code] or " +"[code]Vector2.RIGHT.rotated(angle)[/code].\n" +"[codeblock]\n" +"print(Vector2.from_angle(0)) # Prints (1, 0).\n" +"print(Vector2(1, 0).angle()) # Prints 0, which is the angle used above.\n" +"print(Vector2.from_angle(PI / 2)) # Prints (0, 1).\n" +"[/codeblock]" +msgstr "" +"创建单位 [Vector2] 并将其旋转到给定的 [param angle],单位为弧度。相当于执行 " +"[code]Vector2(cos(angle), sin(angle))[/code] 或 [code]Vector2.RIGHT." +"rotated(angle)[/code]。\n" +"[codeblock]\n" +"print(Vector2.from_angle(0)) # 输出 (1, 0)。\n" +"print(Vector2(1, 0).angle()) # 输出 0,即上一行所使用的角度。\n" +"print(Vector2.from_angle(PI / 2)) # 输出 (0, 1)。\n" +"[/codeblock]" + +msgid "" "Returns [code]true[/code] if this vector is finite, by calling [method " "@GlobalScope.is_finite] on each component." msgstr "" @@ -61886,6 +78243,16 @@ msgid "" msgstr "" "如果向量被归一化,返回 [code]true[/code],否则返回 [code]false[/code]。" +msgid "" +"Returns [code]true[/code] if this vector's values are approximately zero, by " +"running [method @GlobalScope.is_zero_approx] on each component.\n" +"This method is faster than using [method is_equal_approx] with one value as " +"a zero vector." +msgstr "" +"如果该向量的值大约为零,则返回 [code]true[/code],判断方法是对每个分量运行 " +"[method @GlobalScope.is_zero_approx]。\n" +"该方法比使用 [method is_equal_approx] 和零向量比较要快。" + msgid "Returns the length (magnitude) of this vector." msgstr "返回这个向量的长度,即大小。" @@ -61899,6 +78266,11 @@ msgstr "" "平方距离时,更喜欢用它。" msgid "" +"Returns the vector with a maximum length by limiting its length to [param " +"length]." +msgstr "返回应用了最大长度限制的向量,长度被限制到 [param length]。" + +msgid "" "Returns the axis of the vector's highest value. See [code]AXIS_*[/code] " "constants. If all components are equal, this method returns [constant " "AXIS_X]." @@ -61915,11 +78287,28 @@ msgstr "" "法返回 [constant AXIS_Y]。" msgid "" +"Returns a new vector moved toward [param to] by the fixed [param delta] " +"amount. Will not go past the final value." +msgstr "" +"返回一个新向量,该向量朝 [param to] 移动了固定的量 [param delta]。不会超过最" +"终值。" + +msgid "" +"Returns a new vector scaled to unit length. Equivalent to [code]v / v." +"length()[/code]." +msgstr "" +"返回一个新向量,该向量缩放到了单位长度。相当于 [code]v/v.length()[/code]。" + +msgid "" "Returns a perpendicular vector rotated 90 degrees counter-clockwise compared " "to the original, with the same length." msgstr "返回一个与原来相比逆时针旋转 90 度的垂直向量,长度不变。" msgid "" +"Returns the result of projecting the vector onto the given vector [param b]." +msgstr "返回将该向量投影到给定向量 [param b] 上的结果。" + +msgid "" "Returns a new vector with all components rounded to the nearest integer, " "with halfway cases rounded away from zero." msgstr "" @@ -62030,9 +78419,90 @@ msgstr "将该 [Vector2] 的每个分量除以给定的 [float]。" msgid "Divides each component of the [Vector2] by the given [int]." msgstr "将该 [Vector2] 的每个分量除以给定的 [int]。" +msgid "" +"Compares two [Vector2] vectors by first checking if the X value of the left " +"vector is less than the X value of the [param right] vector. If the X values " +"are exactly equal, then it repeats this check with the Y values of the two " +"vectors. This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector2] 向量,首先检查左向量的 X 值是否小于 [param right] 向量的 " +"X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值。该运算符可用于向" +"量排序。" + +msgid "" +"Compares two [Vector2] vectors by first checking if the X value of the left " +"vector is less than or equal to the X value of the [param right] vector. If " +"the X values are exactly equal, then it repeats this check with the Y values " +"of the two vectors. This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector2] 向量,首先检查左向量的 X 值是否小于等于 [param right] 向量" +"的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值。该运算符可用于" +"向量排序。" + +msgid "" +"Returns [code]true[/code] if the vectors 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 "" +"Compares two [Vector2] vectors by first checking if the X value of the left " +"vector is greater than the X value of the [param right] vector. If the X " +"values are exactly equal, then it repeats this check with the Y values of " +"the two vectors. This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector2] 向量,首先检查左向量的 X 值是否大于 [param right] 向量的 " +"X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值。该运算符可用于向" +"量排序。" + +msgid "" +"Compares two [Vector2] vectors by first checking if the X value of the left " +"vector is greater than or equal to the X value of the [param right] vector. " +"If the X values are exactly equal, then it repeats this check with the Y " +"values of the two vectors. This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector2] 向量,首先检查左向量的 X 值是否大于等于 [param right] 向量" +"的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值。该运算符可用于" +"向量排序。" + +msgid "" +"Access vector components using their [param index]. [code]v[0][/code] is " +"equivalent to [code]v.x[/code], and [code]v[1][/code] is equivalent to " +"[code]v.y[/code]." +msgstr "" +"使用向量分量的 [param index] 来访问向量分量。[code]v[0][/code] 等价于 " +"[code]v.x[/code]、[code]v[1][/code] 等价于 [code]v.y[/code]。" + msgid "Vector used for 2D math using integer coordinates." msgstr "整数坐标向量,用于 2D 数学。" +msgid "" +"2-element structure that can be used to represent positions in 2D space or " +"any other pair of numeric values.\n" +"It uses integer coordinates and is therefore preferable to [Vector2] when " +"exact precision is required. Note that the values are limited to 32 bits, " +"and unlike [Vector2] this cannot be configured with an engine build option. " +"Use [int] or [PackedInt64Array] if 64-bit values are needed.\n" +"[b]Note:[/b] In a boolean context, a Vector2i will evaluate to [code]false[/" +"code] if it's equal to [code]Vector2i(0, 0)[/code]. Otherwise, a Vector2i " +"will always evaluate to [code]true[/code]." +msgstr "" +"双元素结构,可用于表示 2D 空间中的坐标或其他任何一对数值。\n" +"使用的是整数坐标,因此相比于 [Vector2] 更适用于需要精确数值的场合。请注意其中" +"的值都是 32 位的,无法和 [Vector2] 一样通过引擎的构建选项进行配置。如果需要 " +"64 位的值,请使用 [int] 或者 [PackedInt64Array]。\n" +"[b]注意:[/b]在布尔语境中,如果 Vector2i 等于 [code]Vector2i(0, 0)[/code],求" +"值结果即为 [code]false[/code]。否则,Vector2i 的求值结果始终为 [code]true[/" +"code]。" + +msgid "" +"Constructs a default-initialized [Vector2i] with all components set to " +"[code]0[/code]." +msgstr "构造默认初始化的 [Vector2i],所有分量都为 [code]0[/code]。" + msgid "Constructs a [Vector2i] as a copy of the given [Vector2i]." msgstr "构造给定 [Vector2i] 的副本。" @@ -62122,10 +78592,74 @@ msgstr "" msgid "Divides each component of the [Vector2i] by the given [int]." msgstr "将该 [Vector2i] 的每个分量除以给定的 [int]。" +msgid "" +"Compares two [Vector2i] vectors by first checking if the X value of the left " +"vector is less than the X value of the [param right] vector. If the X values " +"are exactly equal, then it repeats this check with the Y values of the two " +"vectors. This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector2i] 向量,首先检查左向量的 X 值是否小于 [param right] 向量的 " +"X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值。该运算符可用于向" +"量排序。" + +msgid "" +"Compares two [Vector2i] vectors by first checking if the X value of the left " +"vector is less than or equal to the X value of the [param right] vector. If " +"the X values are exactly equal, then it repeats this check with the Y values " +"of the two vectors. This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector2i] 向量,首先检查左向量的 X 值是否小于等于 [param right] 向" +"量的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值。该运算符可用" +"于向量排序。" + +msgid "Returns [code]true[/code] if the vectors are equal." +msgstr "如果向量相等,则返回 [code]true[/code]。" + +msgid "" +"Compares two [Vector2i] vectors by first checking if the X value of the left " +"vector is greater than the X value of the [param right] vector. If the X " +"values are exactly equal, then it repeats this check with the Y values of " +"the two vectors. This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector2i] 向量,首先检查左向量的 X 值是否大于 [param right] 向量的 " +"X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值。该运算符可用于向" +"量排序。" + +msgid "" +"Compares two [Vector2i] vectors by first checking if the X value of the left " +"vector is greater than or equal to the X value of the [param right] vector. " +"If the X values are exactly equal, then it repeats this check with the Y " +"values of the two vectors. This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector2i] 向量,首先检查左向量的 X 值是否大于等于 [param right] 向" +"量的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值。该运算符可用" +"于向量排序。" + msgid "Vector used for 3D math using floating point coordinates." msgstr "浮点数坐标向量,用于 3D 数学。" msgid "" +"3-element structure that can be used to represent positions in 3D space or " +"any other triplet of numeric values.\n" +"It uses floating-point coordinates. By default, these floating-point values " +"use 32-bit precision, unlike [float] which is always 64-bit. If double " +"precision is needed, compile the engine with the option " +"[code]precision=double[/code].\n" +"See [Vector3i] for its integer counterpart.\n" +"[b]Note:[/b] In a boolean context, a Vector3 will evaluate to [code]false[/" +"code] if it's equal to [code]Vector3(0, 0, 0)[/code]. Otherwise, a Vector3 " +"will always evaluate to [code]true[/code]." +msgstr "" +"三元素结构,可用于表示 3D 空间中的坐标或其他任何数值三元组。\n" +"使用的是浮点数坐标。默认情况下,这些浮点值的精度为 32 位,和始终为 64 位的 " +"[float] 存在区别。如果需要双精度,请使用 [code]precision=double[/code] 选项编" +"译引擎。\n" +"对应的整数版本见 [Vector3i]。\n" +"[b]注意:[/b]在布尔语境中,如果 Vector3 等于 [code]Vector3(0, 0, 0)[/code]," +"求值结果即为 [code]false[/code]。否则,Vector3 的求值结果始终为 [code]true[/" +"code]。" + +msgid "" "Constructs a default-initialized [Vector3] with all components set to " "[code]0[/code]." msgstr "构造默认初始化的 [Vector3],所有分量都设置为 [code]0[/code]。" @@ -62150,6 +78684,29 @@ msgid "Returns the cross product of this vector and [param with]." msgstr "返回该向量与 [param with] 的叉积。" msgid "" +"Performs a cubic interpolation between this vector and [param b] using " +"[param pre_a] and [param post_b] as handles, and returns the result at " +"position [param weight]. [param weight] is on the range of 0.0 to 1.0, " +"representing the amount of interpolation." +msgstr "" +"返回该向量和 [param b] 之间进行三次插值 [param weight] 处的结果,使用 [param " +"pre_a] 和 [param post_b] 作为控制柄。[param weight] 在 0.0 到 1.0 的范围内," +"代表插值的量。" + +msgid "" +"Performs a cubic interpolation between this vector and [param b] using " +"[param pre_a] and [param post_b] as handles, and returns the result at " +"position [param weight]. [param weight] is on the range of 0.0 to 1.0, " +"representing the amount of interpolation.\n" +"It can perform smoother interpolation than [code]cubic_interpolate()[/code] " +"by the time values." +msgstr "" +"返回该向量和 [param b] 之间进行三次插值 [param weight] 处的结果,使用 [param " +"pre_a] 和 [param post_b] 作为控制柄。[param weight] 在 0.0 到 1.0 的范围内," +"代表插值的量。\n" +"通过使用时间值,可以比 [code]cubic_interpolate()[/code] 进行更平滑的插值。" + +msgid "" "Returns the axis of the vector's lowest value. See [code]AXIS_*[/code] " "constants. If all components are equal, this method returns [constant " "AXIS_Z]." @@ -62157,6 +78714,29 @@ msgstr "" "返回该向量中最小值的轴。见 [code]AXIS_*[/code] 常量。如果所有分量相等,则该方" "法返回 [constant AXIS_Z]。" +msgid "" +"Returns the octahedral-encoded (oct32) form of this [Vector3] as a " +"[Vector2]. Since a [Vector2] occupies 1/3 less memory compared to [Vector3], " +"this form of compression can be used to pass greater amounts of [method " +"normalized] [Vector3]s without increasing storage or memory requirements. " +"See also [method octahedron_decode].\n" +"[b]Note:[/b] [method octahedron_encode] can only be used for [method " +"normalized] vectors. [method octahedron_encode] does [i]not[/i] check " +"whether this [Vector3] is normalized, and will return a value that does not " +"decompress to the original value if the [Vector3] is not normalized.\n" +"[b]Note:[/b] Octahedral compression is [i]lossy[/i], although visual " +"differences are rarely perceptible in real world scenarios." +msgstr "" +"将该 [Vector3] 的八面体编码(oct32)形式作为一个 [Vector2] 返回。由于 " +"[Vector2] 占用的内存比 [Vector3] 少 1/3,因此这种压缩形式可用于传递更多的 " +"[method normalized] [Vector3],而不会增加存储或内存需求。另见 [method " +"octahedron_decode]。\n" +"[b]注意:[/b][method octahedron_encode] 只能用于 [method normalized] 向量。" +"[method octahedron_encode] [i]不[/i]检查这个 [Vector3] 是否已归一化,如果该 " +"[Vector3] 没有被归一化,将返回一个不解压缩到原始值的值。\n" +"[b]注意:[/b]八面体压缩是[i]有损的[/i],尽管视觉差异在现实世界场景中很难被察" +"觉。" + msgid "Returns the outer product with [param with]." msgstr "返回与 [param with] 的外积。" @@ -62202,6 +78782,15 @@ msgid "" msgstr "使用给定的 [Basis] 矩阵逆变换(乘)该 [Vector3]。" msgid "" +"Inversely transforms (multiplies) the [Vector3] by the given [Quaternion]." +msgstr "使用给定的 [Quaternion] 对该 [Vector3] 进行逆变换(做乘法)。" + +msgid "" +"Inversely transforms (multiplies) the [Vector3] by the given [Transform3D] " +"transformation matrix." +msgstr "使用给定的 [Transform3D] 变换矩阵对该 [Vector3] 进行逆变换(做乘法)。" + +msgid "" "Multiplies each component of the [Vector3] by the components of the given " "[Vector3].\n" "[codeblock]\n" @@ -62255,9 +78844,77 @@ msgstr "将该 [Vector3] 的每个分量除以给定的 [float]。" msgid "Divides each component of the [Vector3] by the given [int]." msgstr "将该 [Vector3] 的每个分量除以给定的 [int]。" +msgid "" +"Compares two [Vector3] vectors by first checking if the X value of the left " +"vector is less than the X value of the [param right] vector. If the X values " +"are exactly equal, then it repeats this check with the Y values of the two " +"vectors, and then with the Z values. This operator is useful for sorting " +"vectors." +msgstr "" +"比较两个 [Vector3] 向量,首先检查左向量的 X 值是否小于 [param right] 向量的 " +"X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值。该运算符可" +"用于向量排序。" + +msgid "" +"Compares two [Vector3] vectors by first checking if the X value of the left " +"vector is less than or equal to the X value of the [param right] vector. If " +"the X values are exactly equal, then it repeats this check with the Y values " +"of the two vectors, and then with the Z values. This operator is useful for " +"sorting vectors." +msgstr "" +"比较两个 [Vector3] 向量,首先检查左向量的 X 值是否小于等于 [param right] 向量" +"的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值。该运算符" +"可用于向量排序。" + +msgid "" +"Compares two [Vector3] vectors by first checking if the X value of the left " +"vector is greater than the X value of the [param right] vector. If the X " +"values are exactly equal, then it repeats this check with the Y values of " +"the two vectors, and then with the Z values. This operator is useful for " +"sorting vectors." +msgstr "" +"比较两个 [Vector3] 向量,首先检查左向量的 X 值是否大于 [param right] 向量的 " +"X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值。该运算符可" +"用于向量排序。" + +msgid "" +"Compares two [Vector3] vectors by first checking if the X value of the left " +"vector is greater than or equal to the X value of the [param right] vector. " +"If the X values are exactly equal, then it repeats this check with the Y " +"values of the two vectors, and then with the Z values. This operator is " +"useful for sorting vectors." +msgstr "" +"比较两个 [Vector3] 向量,首先检查左向量的 X 值是否大于等于 [param right] 向量" +"的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值。该运算符" +"可用于向量排序。" + msgid "Vector used for 3D math using integer coordinates." msgstr "整数坐标向量,用于 3D 数学。" +msgid "" +"3-element structure that can be used to represent positions in 3D space or " +"any other triplet of numeric values.\n" +"It uses integer coordinates and is therefore preferable to [Vector3] when " +"exact precision is required. Note that the values are limited to 32 bits, " +"and unlike [Vector3] this cannot be configured with an engine build option. " +"Use [int] or [PackedInt64Array] if 64-bit values are needed.\n" +"[b]Note:[/b] In a boolean context, a Vector3i will evaluate to [code]false[/" +"code] if it's equal to [code]Vector3i(0, 0, 0)[/code]. Otherwise, a Vector3i " +"will always evaluate to [code]true[/code]." +msgstr "" +"三元素结构,可用于表示 3D 空间中的坐标或其他任何数值三元组。\n" +"使用的是整数坐标,因此相比于 [Vector3] 更适用于需要精确数值的场合。请注意其中" +"的值都是 32 位的,无法和 [Vector3] 一样通过引擎的构建选项进行配置。如果需要 " +"64 位的值,请使用 [int] 或者 [PackedInt64Array]。\n" +"[b]注意:[/b]在布尔语境中,如果 Vector3i 等于 [code]Vector3i(0, 0, 0)[/" +"code],求值结果即为 [code]false[/code]。否则,Vector3i 的求值结果始终为 " +"[code]true[/code]。" + +msgid "" +"Constructs a default-initialized [Vector3i] with all components set to " +"[code]0[/code]." +msgstr "构造默认初始化的 [Vector3i],所有分量都为 [code]0[/code]。" + msgid "Constructs a [Vector3i] as a copy of the given [Vector3i]." msgstr "构造给定 [Vector3i] 的副本。" @@ -62344,9 +79001,79 @@ msgstr "" msgid "Divides each component of the [Vector3i] by the given [int]." msgstr "将该 [Vector3i] 的每个分量除以给定的 [int]。" +msgid "" +"Compares two [Vector3i] vectors by first checking if the X value of the left " +"vector is less than the X value of the [param right] vector. If the X values " +"are exactly equal, then it repeats this check with the Y values of the two " +"vectors, and then with the Z values. This operator is useful for sorting " +"vectors." +msgstr "" +"比较两个 [Vector3i] 向量,首先检查左向量的 X 值是否小于 [param right] 向量的 " +"X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值。该运算符可" +"用于向量排序。" + +msgid "" +"Compares two [Vector3i] vectors by first checking if the X value of the left " +"vector is less than or equal to the X value of the [param right] vector. If " +"the X values are exactly equal, then it repeats this check with the Y values " +"of the two vectors, and then with the Z values. This operator is useful for " +"sorting vectors." +msgstr "" +"比较两个 [Vector3i] 向量,首先检查左向量的 X 值是否小于等于 [param right] 向" +"量的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值。该运算" +"符可用于向量排序。" + +msgid "" +"Compares two [Vector3i] vectors by first checking if the X value of the left " +"vector is greater than the X value of the [param right] vector. If the X " +"values are exactly equal, then it repeats this check with the Y values of " +"the two vectors, and then with the Z values. This operator is useful for " +"sorting vectors." +msgstr "" +"比较两个 [Vector3i] 向量,首先检查左向量的 X 值是否大于 [param right] 向量的 " +"X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值。该运算符可" +"用于向量排序。" + +msgid "" +"Compares two [Vector3i] vectors by first checking if the X value of the left " +"vector is greater than or equal to the X value of the [param right] vector. " +"If the X values are exactly equal, then it repeats this check with the Y " +"values of the two vectors, and then with the Z values. This operator is " +"useful for sorting vectors." +msgstr "" +"比较两个 [Vector3i] 向量,首先检查左向量的 X 值是否大于等于 [param right] 向" +"量的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值。该运算" +"符可用于向量排序。" + msgid "Vector used for 4D math using floating point coordinates." msgstr "浮点数坐标向量,用于 4D 数学。" +msgid "" +"4-element structure that can be used to represent any quadruplet of numeric " +"values.\n" +"It uses floating-point coordinates. By default, these floating-point values " +"use 32-bit precision, unlike [float] which is always 64-bit. If double " +"precision is needed, compile the engine with the option " +"[code]precision=double[/code].\n" +"See [Vector4i] for its integer counterpart.\n" +"[b]Note:[/b] In a boolean context, a Vector4 will evaluate to [code]false[/" +"code] if it's equal to [code]Vector4(0, 0, 0, 0)[/code]. Otherwise, a " +"Vector4 will always evaluate to [code]true[/code]." +msgstr "" +"四元素结构,可用于表示任何数值四元组。\n" +"使用的是浮点数坐标。默认情况下,这些浮点值的精度为 32 位,和始终为 64 位的 " +"[float] 存在区别。如果需要双精度,请使用 [code]precision=double[/code] 选项编" +"译引擎。\n" +"对应的整数版本见 [Vector4i]。\n" +"[b]注意:[/b]在布尔语境中,如果 Vector4 等于 [code]Vector4(0, 0, 0, 0)[/" +"code],求值结果即为 [code]false[/code]。否则,Vector4 的求值结果始终为 " +"[code]true[/code]。" + +msgid "" +"Constructs a default-initialized [Vector4] with all components set to " +"[code]0[/code]." +msgstr "构造默认初始化的 [Vector4],所有分量都为 [code]0[/code]。" + msgid "Constructs a [Vector4] as a copy of the given [Vector4]." msgstr "构造给定 [Vector4] 的副本。" @@ -62365,6 +79092,12 @@ msgid "" msgstr "如果该向量时归一化的,即长度等于 1,则返回 [code]true[/code]。" msgid "" +"Returns the squared length (squared magnitude) of this vector. This method " +"runs faster than [method length]." +msgstr "" +"返回该向量的平方长度(平方大小)。此方法比 [method length] 运行得更快。" + +msgid "" "Returns the axis of the vector's lowest value. See [code]AXIS_*[/code] " "constants. If all components are equal, this method returns [constant " "AXIS_W]." @@ -62459,9 +79192,71 @@ msgstr "" msgid "Divides each component of the [Vector4] by the given [int]." msgstr "将该 [Vector4] 的每个分量除以给定的 [int]。" +msgid "" +"Compares two [Vector4] vectors by first checking if the X value of the left " +"vector is less than the X value of the [param right] vector. If the X values " +"are exactly equal, then it repeats this check with the Y values of the two " +"vectors, Z values of the two vectors, and then with the W values. This " +"operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector4] 向量,首先检查左向量的 X 值是否小于 [param right] 向量的 " +"X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值、W 值。该运" +"算符可用于向量排序。" + +msgid "" +"Compares two [Vector4] vectors by first checking if the X value of the left " +"vector is less than or equal to the X value of the [param right] vector. If " +"the X values are exactly equal, then it repeats this check with the Y values " +"of the two vectors, Z values of the two vectors, and then with the W values. " +"This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector4] 向量,首先检查左向量的 X 值是否小于等于 [param right] 向量" +"的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值、W 值。该" +"运算符可用于向量排序。" + +msgid "" +"Compares two [Vector4] vectors by first checking if the X value of the left " +"vector is greater than the X value of the [param right] vector. If the X " +"values are exactly equal, then it repeats this check with the Y values of " +"the two vectors, Z values of the two vectors, and then with the W values. " +"This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector4] 向量,首先检查左向量的 X 值是否大于 [param right] 向量的 " +"X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值、W 值。该运" +"算符可用于向量排序。" + +msgid "" +"Compares two [Vector4] vectors by first checking if the X value of the left " +"vector is greater than or equal to the X value of the [param right] vector. " +"If the X values are exactly equal, then it repeats this check with the Y " +"values of the two vectors, Z values of the two vectors, and then with the W " +"values. This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector4] 向量,首先检查左向量的 X 值是否大于 [param right] 向量的 " +"X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值、W 值。该运" +"算符可用于向量排序。" + msgid "Vector used for 4D math using integer coordinates." msgstr "整数坐标向量,用于 4D 数学。" +msgid "" +"4-element structure that can be used to represent 4D grid coordinates or " +"sets of integers.\n" +"It uses integer coordinates and is therefore preferable to [Vector4] when " +"exact precision is required. Note that the values are limited to 32 bits, " +"and unlike [Vector4] this cannot be configured with an engine build option. " +"Use [int] or [PackedInt64Array] if 64-bit values are needed." +msgstr "" +"四元素结构,可用于表示 4D 网格中的坐标或其他任何数值四元组。\n" +"使用的是整数坐标,因此相比于 [Vector4] 更适用于需要精确数值的场合。请注意其中" +"的值都是 32 位的,无法和 [Vector4] 一样通过引擎的构建选项进行配置。如果需要 " +"64 位的值,请使用 [int] 或者 [PackedInt64Array]。" + +msgid "" +"Constructs a default-initialized [Vector4i] with all components set to " +"[code]0[/code]." +msgstr "构造默认初始化的 [Vector4i],所有分量都为 [code]0[/code]。" + msgid "Constructs a [Vector4i] as a copy of the given [Vector4i]." msgstr "构造给定 [Vector4i] 的副本。" @@ -62556,9 +79351,104 @@ msgstr "" msgid "Divides each component of the [Vector4i] by the given [int]." msgstr "将该 [Vector4] 的每个分量除以给定的 [int]。" +msgid "" +"Compares two [Vector4i] vectors by first checking if the X value of the left " +"vector is less than the X value of the [param right] vector. If the X values " +"are exactly equal, then it repeats this check with the Y values of the two " +"vectors, Z values of the two vectors, and then with the W values. This " +"operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector4i] 向量,首先检查左向量的 X 值是否小于 [param right] 向量的 " +"X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值、W 值。该运" +"算符可用于向量排序。" + +msgid "" +"Compares two [Vector4i] vectors by first checking if the X value of the left " +"vector is less than or equal to the X value of the [param right] vector. If " +"the X values are exactly equal, then it repeats this check with the Y values " +"of the two vectors, Z values of the two vectors, and then with the W values. " +"This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector4i] 向量,首先检查左向量的 X 值是否小于等于 [param right] 向" +"量的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值、W 值。" +"该运算符可用于向量排序。" + +msgid "Returns [code]true[/code] if the vectors are exactly equal." +msgstr "如果向量完全相等,则返回 [code]true[/code]。" + +msgid "" +"Compares two [Vector4i] vectors by first checking if the X value of the left " +"vector is greater than the X value of the [param right] vector. If the X " +"values are exactly equal, then it repeats this check with the Y values of " +"the two vectors, Z values of the two vectors, and then with the W values. " +"This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector4i] 向量,首先检查左向量的 X 值是否大于 [param right] 向量的 " +"X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值、W 值。该运" +"算符可用于向量排序。" + +msgid "" +"Compares two [Vector4i] vectors by first checking if the X value of the left " +"vector is greater than or equal to the X value of the [param right] vector. " +"If the X values are exactly equal, then it repeats this check with the Y " +"values of the two vectors, Z values of the two vectors, and then with the W " +"values. This operator is useful for sorting vectors." +msgstr "" +"比较两个 [Vector4i] 向量,首先检查左向量的 X 值是否大于等于 [param right] 向" +"量的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值、W 值。" +"该运算符可用于向量排序。" + msgid "Physics body that simulates the behavior of a car." msgstr "模拟汽车行为的物理体。" +msgid "" +"This node implements all the physics logic needed to simulate a car. It is " +"based on the raycast vehicle system commonly found in physics engines. You " +"will need to add a [CollisionShape3D] for the main body of your vehicle and " +"add [VehicleWheel3D] nodes for the wheels. You should also add a " +"[MeshInstance3D] to this node for the 3D model of your car but this model " +"should not include meshes for the wheels. You should control the vehicle by " +"using the [member brake], [member engine_force], and [member steering] " +"properties and not change the position or orientation of this node " +"directly.\n" +"[b]Note:[/b] The origin point of your VehicleBody3D will determine the " +"center of gravity of your vehicle so it is better to keep this low and move " +"the [CollisionShape3D] and [MeshInstance3D] upwards.\n" +"[b]Note:[/b] This class has known issues and isn't designed to provide " +"realistic 3D vehicle physics. If you want advanced vehicle physics, you will " +"probably have to write your own physics integration using another " +"[PhysicsBody3D] class.\n" +"[b]Warning:[/b] With a non-uniform scale this node will probably not " +"function as expected. Please make sure to keep its scale uniform (i.e. the " +"same on all axes), and change the size(s) of its collision shape(s) instead." +msgstr "" +"该节点实现了模拟汽车所需的所有物理逻辑。它基于物理引擎中常见的射线投射的车辆" +"系统。需要为车辆的主体添加一个 [CollisionShape3D],并为车轮添加 " +"[VehicleWheel3D] 节点。还应该为汽车的 3D 模型的节点添加一个 " +"[MeshInstance3D],但该模型不应包含车轮的网格。应该使用 [member brake]、" +"[member engine_force] 和 [member steering] 属性来控制车辆,而不是直接更改该节" +"点的位置或方向。\n" +"[b]注意:[/b]VehicleBody3D 的原点将决定车辆的重心,因此最好将其保持在较低位" +"置,并将 [CollisionShape3D] 和 [MeshInstance3D] 向上移动。\n" +"[b]注意:[/b]该类存在已知问题,并非旨在提供逼真的 3D 车辆物理效果。如果想要高" +"级的车辆物理,可能必须使用另一个 [PhysicsBody3D] 类来编写你自己的物理积分函" +"数。\n" +"[b]警告:[/b]如果缩放不一致,该节点可能无法按预期运行。请确保保持其缩放统一" +"(即在所有轴上相同),并改为更改其碰撞形状的大小。" + +msgid "" +"The steering angle for the vehicle. Setting this to a non-zero value will " +"result in the vehicle turning when it's moving. Wheels that have [member " +"VehicleWheel3D.use_as_steering] set to [code]true[/code] will automatically " +"be rotated.\n" +"[b]Note:[/b] This property is edited in the inspector in degrees. In code " +"the property is set in radians." +msgstr "" +"车辆的转向角。将该属性设置为非零值将导致车辆在移动时转弯。[member " +"VehicleWheel3D.use_as_steering] 设置为 [code]true[/code] 的车轮将自动旋转。\n" +"[b]注意:[/b]该属性在检查器中以度为单位进行编辑。在代码中,该属性以弧度单位设" +"置。" + msgid "Physics object that simulates the behavior of a wheel." msgstr "模拟车轮行为的物理对象。" @@ -62657,6 +79547,39 @@ msgstr "[FlowContainer] 的垂直版本。" msgid "Base resource for video streams." msgstr "视频流的基础资源。" +msgid "" +"Base resource type for all video streams. Classes that derive from " +"[VideoStream] can all be used as resource types to play back videos in " +"[VideoStreamPlayer]." +msgstr "" +"所有视频流的基础资源类型。派生自 [VideoStream] 的类都可以用作在 " +"[VideoStreamPlayer] 中播放视频的资源类型。" + +msgid "" +"Called when the video starts playing, to initialize and return a subclass of " +"[VideoStreamPlayback]." +msgstr "视频开始播放时调用,用于初始化并返回 [VideoStreamPlayback] 的子类。" + +msgid "" +"The video file path or URI that this [VideoStream] resource handles.\n" +"For [VideoStreamTheora], this filename should be an Ogg Theora video file " +"with the [code].ogv[/code] extension." +msgstr "" +"该 [VideoStream] 资源处理的视频文件路径或 URI。\n" +"对于 [VideoStreamTheora],这个文件名应该是 Ogg Theora 视频文件,扩展名为 " +"[code].ogv[/code]。" + +msgid "" +"Internal class used by [VideoStream] to manage playback state when played " +"from a [VideoStreamPlayer]." +msgstr "" +"[VideoStream] 使用的内部类,用于管理其在 [VideoStreamPlayer] 中的播放状态。" + +msgid "" +"This class is intended to be overridden by video decoder extensions with " +"custom implementations of [VideoStream]." +msgstr "该类旨在被具有 [VideoStream] 自定义实现的视频解码器扩展所覆盖。" + msgid "Returns the number of audio channels." msgstr "返回音频通道的数量。" @@ -62708,15 +79631,60 @@ msgstr "" "设置视频播放的暂停状态。[method _is_paused] 必须返回 [code]paused[/code]。设" "置 [member VideoStreamPlayer.paused] 时会被调用。" +msgid "" +"Stops playback. May be called multiple times before [method _play], or in " +"response to [method VideoStreamPlayer.stop]. [method _is_playing] should " +"return false once stopped." +msgstr "" +"停止播放。可能在 [method _play] 多次调用,也可能与 [method VideoStreamPlayer." +"stop] 对应。停止后 [method _is_playing] 应返回 false。" + +msgid "" +"Ticks video playback for [code]delta[/code] seconds. Called every frame as " +"long as [method _is_paused] and [method _is_playing] return true." +msgstr "" +"用于 [code]delta[/code] 秒的滴答视频播放。只要 [method _is_paused] 和 " +"[method _is_playing] 返回 true,就会在每一帧上调用。" + +msgid "" +"Render [code]num_frames[/code] audio frames (of [method _get_channels] " +"floats each) from [code]buffer[/code], starting from index [code]offset[/" +"code] in the array. Returns the number of audio frames rendered, or -1 on " +"error." +msgstr "" +"从数组中的索引 [code]offset[/code] 开始,从 [code]buffer[/code] 渲染 " +"[code]num_frames[/code] 个音频帧(每帧 [method_get_channels] 个浮点数)。返回" +"渲染的音频帧数,如果出错则返回 -1。" + msgid "Control for playing video streams." msgstr "用于播放视频流的控件。" msgid "" +"Control node for playing video streams using [VideoStream] resources.\n" +"Supported video formats are [url=https://www.theora.org/]Ogg Theora[/url] " +"([code].ogv[/code], [VideoStreamTheora]) and any format exposed via a " +"GDExtension plugin.\n" +"[b]Note:[/b] Due to a bug, VideoStreamPlayer does not support localization " +"remapping yet.\n" +"[b]Warning:[/b] On Web, video playback [i]will[/i] perform poorly due to " +"missing architecture-specific assembly optimizations." +msgstr "" +"用于播放使用 [VideoStream] 资源视频流的控件节点。\n" +"支持的视频格式有 [url=https://www.theora.org/]Ogg Theora[/url]([code].ogv[/" +"code],[VideoStreamTheora])、以及任何通过 GDExtension 插件公开的格式。\n" +"[b]注意:[/b]由于一个错误,VideoStreamPlayer 还不支持本地化重映射。\n" +"[b]警告:[/b]在 Web 上,视频播放[i]将[/i]由于缺少特定于体系结构的汇编优化而表" +"现不佳。" + +msgid "" "Returns the video stream's name, or [code]\"<No Stream>\"[/code] if no video " "stream is assigned." msgstr "" "返回视频流的名称,如果没有指定视频流,则返回 [code]\"<No Stream>\"[/code]。" +msgid "Returns the current frame as a [Texture2D]." +msgstr "将当前帧作为 [Texture2D] 返回。" + msgid "" "Returns [code]true[/code] if the video is playing.\n" "[b]Note:[/b] The video is still considered playing if paused during playback." @@ -62807,6 +79775,14 @@ msgstr "" "返回该视口的首个有效 [World2D],在它自身及任何 Viewport 祖先节点的 [member " "world_2d] 属性中查找。" +msgid "" +"Returns the currently active 2D camera. Returns null if there are no active " +"cameras." +msgstr "返回当前活动的 2D 相机。如果没有活动的相机,则返回 null。" + +msgid "Returns the currently active 3D camera." +msgstr "返回当前活动的 3D 相机。" + msgid "Returns an individual bit on the rendering layer mask." msgstr "返回渲染层遮罩上的某个比特位。" @@ -62845,6 +79821,16 @@ msgstr "" "影,但是会降低阴影的质量。一个好的做法是让象限具有不同数量的细分,并尽可能地" "减少细分。" +msgid "" +"Moves the mouse pointer to the specified position in this [Viewport] using " +"the coordinate system of this [Viewport].\n" +"[b]Note:[/b] [method warp_mouse] is only supported on Windows, macOS and " +"Linux. It has no effect on Android, iOS and Web." +msgstr "" +"使用该 [Viewport] 的坐标系,将鼠标指针移动到该 [Viewport] 中的指定位置。\n" +"[b]注意:[/b][method warp_mouse] 仅支持 Windows、macOS 和 Linux。它对 " +"Android、iOS 和 Web 没有影响。" + msgid "If [code]true[/code], the viewport will process 2D audio streams." msgstr "如果为 [code]true[/code],该视口将处理 2D 音频流。" @@ -62901,6 +79887,18 @@ msgid "" "mouse picking process." msgstr "如果为 [code]true[/code],该视口渲染的对象将成为鼠标拾取过程的对象。" +msgid "" +"If [code]true[/code], objects receive mouse picking events sorted primarily " +"by their [member CanvasItem.z_index] and secondarily by their position in " +"the scene tree. If [code]false[/code], the order is undetermined.\n" +"[b]Note:[/b] This setting is disabled by default because of its potential " +"expensive computational cost." +msgstr "" +"如果为 [code]true[/code],对象接收鼠标拾取事件的顺序,主要按它们的 [member " +"CanvasItem.z_index] 排序,其次按它们在场景树中的位置排序。如果为 " +"[code]false[/code],则顺序不确定。\n" +"[b]注意:[/b]默认情况下禁用此设置,因为它可能会产生昂贵的计算成本。" + msgid "The subdivision amount of the first quadrant on the shadow atlas." msgstr "阴影图集上第一象限的细分量。" @@ -62914,10 +79912,37 @@ msgid "The subdivision amount of the fourth quadrant on the shadow atlas." msgstr "阴影图集上第四象限的细分量。" msgid "" +"The shadow atlas' resolution (used for omni and spot lights). The value will " +"be rounded up to the nearest power of 2.\n" +"[b]Note:[/b] If this is set to [code]0[/code], no shadows will be visible at " +"all (including directional shadows)." +msgstr "" +"阴影图集的分辨率(用于全向灯和聚光灯)。该值将向上舍入到最接近的 2 次幂。\n" +"[b]注意:[/b]如果被设置为 [code]0[/code],将根本看不到任何阴影(包括定向阴" +"影)。" + +msgid "" "If [code]true[/code], the viewport should render its background as " "transparent." msgstr "如果为 [code]true[/code],该视口应使其背景渲染为透明。" +msgid "" +"If [code]true[/code], uses a fast post-processing filter to make banding " +"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by " +"debanding unless the [member Environment.background_mode] is [constant " +"Environment.BG_CANVAS]. See also [member ProjectSettings.rendering/" +"anti_aliasing/quality/use_debanding].\n" +"In some cases, debanding may introduce a slightly noticeable dithering " +"pattern. It's recommended to enable debanding only when actually needed " +"since the dithering pattern will make lossless-compressed screenshots larger." +msgstr "" +"如果为 [code]true[/code],则使用一个快速的后期处理滤镜,使 3D 的带状现象明显" +"减少。除非 [member Environment.background_mode] 为 [constant Environment." +"BG_CANVAS],否则 2D 渲染[i]不会 [/i]受到去条带的影响。另见 [member " +"ProjectSettings.rendering/anti_aliasing/quality/use_debanding]。\n" +"在某些情况下,去条带可能会引入稍微明显的抖动图案。建议仅在实际需要时才启用去" +"条带,因为抖动图案会使无损压缩的屏幕截图变大。" + msgid "The custom [World2D] which can be used as 2D environment source." msgstr "自定义的 [World2D],可以作为 2D 环境源。" @@ -62927,20 +79952,43 @@ msgstr "自定义的 [World3D],可以作为 3D 环境源。" msgid "Emitted when a Control node grabs keyboard focus." msgstr "当控件节点获取键盘焦点时触发。" +msgid "" +"Emitted when the size of the viewport is changed, whether by resizing of " +"window, or some other means." +msgstr "" +"当视口的大小被改变时发出,无论是通过调整窗口大小,还是通过其他方式改变的大" +"小。" + msgid "This quadrant will not be used." -msgstr "此象限将不使用。" +msgstr "不使用该象限。" msgid "This quadrant will only be used by one shadow map." -msgstr "此象限仅由一张阴影贴图使用。" +msgstr "该象限仅由一张阴影贴图使用。" msgid "This quadrant will be split in 4 and used by up to 4 shadow maps." -msgstr "此象限将分为 4 个,最多使用 4 个阴影贴图。" +msgstr "该象限将被分为 4 份,最多被 4 张阴影贴图使用。" msgid "This quadrant will be split 16 ways and used by up to 16 shadow maps." -msgstr "此象限将被分成 16 个方向,并被最多 16 张阴影贴图使用。" +msgstr "该象限将被分为 16 份,最多被 16 张阴影贴图使用。" msgid "This quadrant will be split 64 ways and used by up to 64 shadow maps." -msgstr "这个象限将被分成 64 个方向,并被最多 64 张阴影贴图使用。" +msgstr "该象限将被分为 64 份,最多被 64 张阴影贴图使用。" + +msgid "" +"This quadrant will be split 256 ways and used by up to 256 shadow maps. " +"Unless the [member positional_shadow_atlas_size] is very high, the shadows " +"in this quadrant will be very low resolution." +msgstr "" +"该象限将被分为 256 份,最多被 256 张阴影贴图使用。除非 [member " +"positional_shadow_atlas_size] 非常高,否则该象限中的阴影分辨率将非常低。" + +msgid "" +"This quadrant will be split 1024 ways and used by up to 1024 shadow maps. " +"Unless the [member positional_shadow_atlas_size] is very high, the shadows " +"in this quadrant will be very low resolution." +msgstr "" +"该象限将被分为 1024 份,最多被 1024 张阴影贴图使用。除非 [member " +"positional_shadow_atlas_size] 非常高,否则该象限中的阴影分辨率将非常低。" msgid "" "Represents the size of the [enum PositionalShadowAtlasQuadrantSubdiv] enum." @@ -62949,9 +79997,39 @@ msgstr "代表 [enum PositionalShadowAtlasQuadrantSubdiv] 枚举的大小。" msgid "Represents the size of the [enum Scaling3DMode] enum." msgstr "代表 [enum Scaling3DMode] 枚举的大小。" +msgid "" +"Multisample antialiasing mode disabled. This is the default value, and is " +"also the fastest setting." +msgstr "禁用多重采样抗锯齿模式。这是默认值,也是最快的设置。" + +msgid "" +"Use 2× Multisample Antialiasing. This has a moderate performance cost. It " +"helps reduce aliasing noticeably, but 4× MSAA still looks substantially " +"better." +msgstr "" +"使用 2 倍多重采样抗锯齿。性能成本中等。有助于显着减少锯齿,但 4× MSAA 看起来" +"仍然要好得多。" + +msgid "" +"Use 4× Multisample Antialiasing. This has a significant performance cost, " +"and is generally a good compromise between performance and quality." +msgstr "" +"使用 4 倍多重采样抗锯齿。性能成本显著,通常是性能和质量之间的良好折衷。" + +msgid "" +"Use 8× Multisample Antialiasing. This has a very high performance cost. The " +"difference between 4× and 8× MSAA may not always be visible in real gameplay " +"conditions. Likely unsupported on low-end and older hardware." +msgstr "" +"使用 8 倍多重采样抗锯齿。性能成本极高。在实际游戏条件下,4× 和 8× MSAA 之间的" +"差异可能并不总是可见的。可能在低端和较旧的硬件上不受支持。" + msgid "Represents the size of the [enum MSAA] enum." msgstr "代表 [enum MSAA] 枚举的大小。" +msgid "Do not perform any antialiasing in the full screen post-process." +msgstr "不要在全屏后处理中执行抗锯齿。" + msgid "Represents the size of the [enum ScreenSpaceAA] enum." msgstr "代表 [enum ScreenSpaceAA] 枚举的大小。" @@ -62986,6 +80064,22 @@ msgid "Texture which displays the content of a [Viewport]." msgstr "显示 [Viewport] 内容的纹理。" msgid "" +"Displays the content of a [Viewport] node as a dynamic [Texture2D]. This can " +"be used to mix controls, 2D, and 3D elements in the same scene.\n" +"To create a ViewportTexture in code, use the [method Viewport.get_texture] " +"method on the target viewport.\n" +"[b]Note:[/b] When local to scene, this texture uses [method Resource." +"setup_local_to_scene] to set the proxy texture and flags in the local " +"viewport." +msgstr "" +"将 [Viewport] 节点的内容显示为一个动态 [Texture2D]。这可用于在同一场景中混合" +"控件、2D 和 3D 元素。\n" +"要在代码中创建 ViewportTexture,请在目标视口上使用 [method Viewport." +"get_texture] 方法。\n" +"[b]注意:[/b]当局部于场景时,该纹理使用 [method Resource." +"setup_local_to_scene] 在局部视口中设置代理纹理和标志。" + +msgid "" "The path to the [Viewport] node to display. This is relative to the scene " "root, not to the node which uses the texture." msgstr "" @@ -63005,6 +80099,23 @@ msgid "Enables certain nodes only when approximately visible." msgstr "只在大约可见时启用某些节点。" msgid "" +"The VisibleOnScreenNotifier2D detects when it is visible on the screen. It " +"also notifies when its bounding rectangle enters or exits the screen or a " +"viewport.\n" +"If you want nodes to be disabled automatically when they exit the screen, " +"use [VisibleOnScreenEnabler2D] instead.\n" +"[b]Note:[/b] VisibleOnScreenNotifier2D uses the render culling code to " +"determine whether it's visible on screen, which also means that its [member " +"CanvasItem.visible] must be [code]true[/code] to work correctly." +msgstr "" +"VisibleOnScreenNotifier2D 检测它何时在屏幕上可见。它还会在其边界矩形进入或退" +"出屏幕或视口时发出通知。\n" +"如果希望节点在退出屏幕时自动禁用,请改用 [VisibleOnScreenEnabler2D]。\n" +"[b]注意:[/b]VisibleOnScreenNotifier2D 使用渲染剔除代码来确定它是否在屏幕上可" +"见,这也意味着它的 [member CanvasItem.visible] 必须是 [code]true[/code] 才能" +"正常工作。" + +msgid "" "If [code]true[/code], the bounding rectangle is on the screen.\n" "[b]Note:[/b] It takes one frame for the node's visibility to be assessed " "once added to the scene tree, so this method will return [code]false[/code] " @@ -63028,6 +80139,23 @@ msgid "Detects approximately when the node is visible on screen." msgstr "大约在节点在屏幕上可见时进行检测。" msgid "" +"The VisibleOnScreenNotifier3D detects when it is visible on the screen. It " +"also notifies when its bounding rectangle enters or exits the screen or a " +"[Camera3D]'s view.\n" +"If you want nodes to be disabled automatically when they exit the screen, " +"use [VisibleOnScreenEnabler3D] instead.\n" +"[b]Note:[/b] VisibleOnScreenNotifier3D uses the render culling code to " +"determine whether it's visible on screen, which also means that its [member " +"Node3D.visible] must be [code]true[/code] to work correctly." +msgstr "" +"VisibleOnScreenNotifier3D 检测它何时在该屏幕上可见。它还会在其边界矩形进入或" +"退出该屏幕或 [Camera3D] 的视图时发出通知。\n" +"如果希望节点在退出屏幕时自动禁用,请改用 [VisibleOnScreenEnabler3D]。\n" +"[b]注意:[/b]VisibleOnScreenNotifier3D 使用渲染剔除代码来确定它是否在屏幕上可" +"见,这也意味着它的 [member Node3D.visible] 必须为 [code]true[/code] 时才能正" +"常工作。" + +msgid "" "If [code]true[/code], the bounding box is on the screen.\n" "[b]Note:[/b] It takes one frame for the node's visibility to be assessed " "once added to the scene tree, so this method will return [code]false[/code] " @@ -63050,6 +80178,22 @@ msgstr "当该 VisibleOnScreenNotifier3D 退出屏幕时发出。" msgid "Parent of all visual 3D nodes." msgstr "所有可视 3D 节点的父节点。" +msgid "" +"The amount by which the depth of this [VisualInstance3D] will be adjusted " +"when sorting by depth. Uses the same units as the engine (which are " +"typically meters). Adjusting it to a higher value will make the " +"[VisualInstance3D] reliably draw on top of other [VisualInstance3D]s that " +"are otherwise positioned at the same spot. To ensure it always draws on top " +"of other objects around it (not positioned at the same spot), set the value " +"to be greater than the distance between this [VisualInstance3D] and the " +"other nearby [VisualInstance3D]s." +msgstr "" +"按深度排序时该 [VisualInstance3D] 的深度将调整的量。使用与引擎相同的单位(通" +"常是米)。将其调整为更高的值,将使 [VisualInstance3D] 可靠地绘制在位于同一位" +"置的其他 [VisualInstance3D] 之上。为确保它始终绘制在它周围的其他对象之上(不" +"位于同一位置),请将值设置为大于该 [VisualInstance3D] 与附近其他 " +"[VisualInstance3D] 之间的距离值。" + msgid "A custom shader program with a visual editor." msgstr "带有可视化编辑器的自定义着色器程序。" @@ -63130,9 +80274,24 @@ msgid "" "output." msgstr "粒子着色器的“处理”阶段所使用的函数,带自定义输出。" +msgid "A shader for 3D environment's sky." +msgstr "3D 环境中天空的着色器。" + msgid "Represents the size of the [enum Type] enum." msgstr "代表 [enum Type] 枚举的大小。" +msgid "" +"Varying is passed from [code]Vertex[/code] function to [code]Fragment[/code] " +"and [code]Light[/code] functions." +msgstr "" +"Varying 从 [code]Vertex[/code] 函数传到 [code]Fragment[/code] 和 " +"[code]Light[/code] 函数。" + +msgid "" +"Varying is passed from [code]Fragment[/code] function to [code]Light[/code] " +"function." +msgstr "Varying 从 [code]Fragment[/code] 函数传到 [code]Light[/code] 函数。" + msgid "Represents the size of the [enum VaryingMode] enum." msgstr "代表 [enum VaryingMode] 枚举的大小。" @@ -63176,6 +80335,12 @@ msgstr "" "带有标题和一系列属性的矩形框。每个节点都有连接端口,可以将其连接到另一个节点" "并控制着色器的流程。" +msgid "VisualShaders" +msgstr "VisualShader" + +msgid "Clears the default input ports value." +msgstr "清除默认输入端口值。" + msgid "" "Returns an [Array] containing default values for all of the input ports of " "the node in the form [code][index0, value0, index1, value1, ...][/code]." @@ -63183,6 +80348,12 @@ msgstr "" "返回一个包含节点所有输入端口默认值的 [Array],形式为 [code][index0, value0, " "index1, value1, ...][/code]。" +msgid "Returns the default value of the input [param port]." +msgstr "返回输入端口 [param port] 的默认值。" + +msgid "Removes the default value of the input [param port]." +msgstr "移除输入端口 [param port] 的默认值。" + msgid "" "Sets the default input ports values using an [Array] of the form [code]" "[index0, value0, index1, value1, ...][/code]. For example: [code][0, " @@ -63191,6 +80362,9 @@ msgstr "" "使用 [code][index0, value0, index1, value1, ...][/code] 形式的 [Array] 设置默" "认输入端口值。例如: [code][0, Vector3(0, 0, 0), 1, Vector3(0, 0, 0)][/code]。" +msgid "Sets the default [param value] for the selected input [param port]." +msgstr "设置输入端口 [param port] 的默认值 [param value]。" + msgid "" "Sets the output port index which will be showed for preview. If set to " "[code]-1[/code] no port will be open for preview." @@ -63240,6 +80414,21 @@ msgstr "" msgid "Represents the size of the [enum PortType] enum." msgstr "表示 [enum PortType] 枚举的大小。" +msgid "Controls how the object faces the camera. See [enum BillboardType]." +msgstr "控制对象如何面对相机。请参阅 [enum BillboardType]。" + +msgid "Billboarding is disabled and the node does nothing." +msgstr "公告板被禁用,该节点不做任何事情。" + +msgid "A standard billboarding algorithm is enabled." +msgstr "启用标准公告板算法。" + +msgid "A billboarding algorithm to rotate around Y-axis is enabled." +msgstr "启用围绕 Y 轴旋转的公告板算法。" + +msgid "A billboarding algorithm designed to use on particles is enabled." +msgstr "启用针对粒子设计的公告板算法。" + msgid "Represents the size of the [enum BillboardType] enum." msgstr "代表 [enum BillboardType] 枚举的大小。" @@ -63738,6 +80927,14 @@ msgid "" msgstr "" "此节点仅在[code]Fragment[/code]和[code]Light[/code]可视化着色器中可用。" +msgid "" +"Sets the level of precision to use for the derivative function. See [enum " +"Precision] for options. When using the GL Compatibility renderer, this " +"setting has no effect." +msgstr "" +"设置用于导数函数的精度级别。关选项,请参阅 [enum Precision]。使用 GL 兼容性渲" +"染器时,此设置不起作用。" + msgid "Sum of absolute derivative in [code]x[/code] and [code]y[/code]." msgstr "[code]x[/code] 和 [code]y[/code] 的绝对导数之和。" @@ -63748,6 +80945,25 @@ msgid "Derivative in [code]y[/code] using local differencing." msgstr "在 [code]y[/code] 中使用局部差分的导数。" msgid "" +"No precision is specified, the GPU driver is allowed to use whatever level " +"of precision it chooses. This is the default option and is equivalent to " +"using [code]dFdx()[/code] or [code]dFdy()[/code] in text shaders." +msgstr "" +"未指定精度,GPU 驱动可以自行选用精度等级。这是默认选项,等价于在文本着色器中" +"使用 [code]dFdx()[/code] 或 [code]dFdy()[/code]。" + +msgid "" +"The derivative will be calculated using the current fragment's neighbors " +"(which may not include the current fragment). This tends to be faster than " +"using [constant PRECISION_FINE], but may not be suitable when more precision " +"is needed. This is equivalent to using [code]dFdxCoarse()[/code] or " +"[code]dFdyCoarse()[/code] in text shaders." +msgstr "" +"将使用当前片段的邻居(可能不包括当前片段)计算导数。这往往比使用 [constant " +"PRECISION_FINE] 更快,但在需要更高精度时可能不适合。这相当于在文本着色器中使" +"用 [code]dFdxCoarse()[/code] 或 [code]dFdyCoarse()[/code]。" + +msgid "" "The derivative will be calculated using the current fragment and its " "immediate neighbors. This tends to be slower than using [constant " "PRECISION_COARSE], but may be necessary when more precision is needed. This " @@ -63761,6 +80977,10 @@ msgstr "" msgid "Represents the size of the [enum Precision] enum." msgstr "代表 [enum Precision] 枚举的大小。" +msgid "" +"Calculates the determinant of a [Transform3D] within the visual shader graph." +msgstr "在可视化着色器图中计算 [Transform3D] 的行列式。" + msgid "Translates to [code]determinant(x)[/code] in the shader language." msgstr "在着色器语言中翻译成[code]determinant(x)[/code]。" @@ -64109,6 +81329,12 @@ msgstr "" msgid "Shading reference index" msgstr "着色参考索引" +msgid "An integer constant which represents a state of this node." +msgstr "整数常量,代表该节点的状态。" + +msgid "Calculates the remainder of two numbers using [code]a % b[/code]." +msgstr "使用 [code]a % b[/code] 计算两个数字的余数。" + msgid "" "Returns the result of bitwise [code]AND[/code] operation on the integer. " "Translates to [code]a & b[/code] in the Godot Shader Language." @@ -64144,6 +81370,9 @@ msgstr "" "返回对该整数进行按位右移运算的结果。在 Godot 着色器语言中会被翻译为 [code]a " ">> b[/code]。" +msgid "Range hint of this node. Use it to customize valid parameter range." +msgstr "该节点的范围提示。请用它来自定义有效的参数范围。" + msgid "" "A boolean comparison operator to be used within the visual shader graph." msgstr "布尔比较运算符,在可视化着色器图中使用。" @@ -64276,6 +81505,9 @@ msgstr "如果启用,则粒子从该节点所定义的 [code]CUSTOM[/code] 自 msgid "A base class for particle emitters." msgstr "粒子发射器的基类。" +msgid "The [Mesh] that defines emission shape." +msgstr "定义发射形状的 [Mesh]。" + msgid "" "If [code]true[/code], the angle will be interpreted in degrees instead of " "radians." @@ -64364,6 +81596,14 @@ msgstr "默认为完全透明的黑色。" msgid "Represents the size of the [enum ColorDefault] enum." msgstr "代表 [enum ColorDefault] 枚举的大小。" +msgid "The texture source is not specified in the shader." +msgstr "着色器中未指定纹理源。" + +msgid "" +"The texture source is the screen texture which captures all opaque objects " +"drawn this frame." +msgstr "纹理源为屏幕纹理,捕获了本帧中绘制的所有不透明对象。" + msgid "Represents the size of the [enum TextureSource] enum." msgstr "代表 [enum TextureSource] 枚举的大小。" @@ -64388,6 +81628,9 @@ msgstr "" msgid "A constant [Transform3D], which can be used as an input node." msgstr "[Transform3D] 常量,可用作输入节点。" +msgid "A [Transform3D] constant which represents the state of this node." +msgstr "[Transform3D] 常量,代表该节点的状态。" + msgid "" "Takes a 4x4 transform matrix and decomposes it into four [code]vec3[/code] " "values, one from each row of the matrix." @@ -64459,6 +81702,13 @@ msgid "" msgstr "" "将向量 [code]b[/code] 乘以变换 [code]a[/code],跳过变换的最后一行和一列。" +msgid "" +"Accept an unsigned integer scalar ([code]x[/code]) to the input port and " +"transform it according to [member function]." +msgstr "" +"接受一个无符号整数标量([code]x[/code])到输入端口,并根据 [member function] " +"对其进行转换。" + msgid "Name of the variable. Must be unique." msgstr "变量的名称。必须唯一。" @@ -64692,6 +81942,57 @@ msgstr "" msgid "Real-time global illumination (GI) probe." msgstr "实时全局光照(GI)探测。" +msgid "" +"[VoxelGI]s are used to provide high-quality real-time indirect light and " +"reflections to scenes. They precompute the effect of objects that emit light " +"and the effect of static geometry to simulate the behavior of complex light " +"in real-time. [VoxelGI]s need to be baked before having a visible effect. " +"However, once baked, dynamic objects will receive light from them. " +"Furthermore, lights can be fully dynamic or baked.\n" +"[b]Note:[/b] [VoxelGI] is only supported in the Forward+ rendering method, " +"not Mobile or Compatibility.\n" +"[b]Procedural generation:[/b] [VoxelGI] can be baked in an exported project, " +"which makes it suitable for procedurally generated or user-built levels as " +"long as all the geometry is generated in advance. For games where geometry " +"is generated at any time during gameplay, SDFGI is more suitable (see " +"[member Environment.sdfgi_enabled]).\n" +"[b]Performance:[/b] [VoxelGI] is relatively demanding on the GPU and is not " +"suited to low-end hardware such as integrated graphics (consider " +"[LightmapGI] instead). To improve performance, adjust [member " +"ProjectSettings.rendering/global_illumination/voxel_gi/quality] and enable " +"[member ProjectSettings.rendering/global_illumination/gi/" +"use_half_resolution] in the Project Settings. To provide a fallback for low-" +"end hardware, consider adding an option to disable [VoxelGI] in your " +"project's options menus. A [VoxelGI] node can be disabled by hiding it.\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. " +"To further prevent light leaks, you can also strategically place temporary " +"[MeshInstance3D] nodes with their [member GeometryInstance3D.gi_mode] set to " +"[constant GeometryInstance3D.GI_MODE_STATIC]. These temporary nodes can then " +"be hidden after baking the [VoxelGI] node." +msgstr "" +"[VoxelGI] 用于为场景提供高质量的实时的间接光照和反射。它们预先计算发光物体的" +"效果和静态几何体的效果,以实时模拟复杂光线的行为。[VoxelGI] 需要经过烘焙才能" +"产生可见的效果。然而,一旦烘焙,动态对象将接收来自它们的光。此外,灯光可以是" +"完全动态的,也可以是烘焙的。\n" +"[b]注意:[/b][VoxelGI] 只支持 Forward+ 渲染方式,不支持 Mobile 或 " +"Compatibility。\n" +"[b]程序生成:[/b][VoxelGI] 可以在导出的项目中烘焙,这使得它适用于程序生成或用" +"户构建的关卡,只要所有几何体都预先生成即可。对于在游戏过程中随时生成几何图形" +"的游戏,SDFGI 更合适(参见 [member Environment.sdfgi_enabled])。\n" +"[b]性能:[/b][VoxelGI] 对 GPU 要求比较高,不适合集成显卡等低端硬件(可以考虑" +"改用 [LightmapGI])。要提高性能,请在项目设置中,调整 [member " +"ProjectSettings.rendering/global_illumination/voxel_gi/quality],并启用 " +"[member ProjectSettings.rendering/global_illumination/gi/" +"use_half_resolution]。要为低端硬件提供后备方案,请考虑在项目的选项菜单中,添" +"加一个选项,以禁用 [VoxelGI]。[VoxelGI] 节点可以通过隐藏而禁用。\n" +"[b]注意:[/b]网格应该有足够厚的壁(避免单面墙)以避免漏光。对于内部关卡,请将" +"关卡几何体封装在一个足够大的盒子中,并桥接循环边以闭合网格。为了进一步防止漏" +"光,还可以策略性地放置临时 [MeshInstance3D] 节点,并将其 [member " +"GeometryInstance3D.gi_mode] 设置为 [constant GeometryInstance3D." +"GI_MODE_STATIC]。然后可以在烘焙 [VoxelGI] 节点后,隐藏这些临时节点。" + msgid "VoxelGI" msgstr "VoxelGI" @@ -64775,6 +82076,9 @@ msgstr "" "[b]注意:[/b][signal Range.changed] 和 [signal Range.value_changed] 信号是 " "[Range] 类的一部分,该类继承自它。" +msgid "Horizontal offset of the grabber." +msgstr "抓取器的水平偏移量。" + msgid "The background of the area below the grabber." msgstr "抓取器下方区域的背景。" @@ -64796,6 +82100,23 @@ msgid "" msgstr "持有 [Object],但如果该对象是引用,则不会贡献引用计数。" msgid "" +"A weakref can hold a [RefCounted], without contributing to the reference " +"counter. A weakref can be created from an [Object] using [method " +"@GlobalScope.weakref]. If this object is not a reference, weakref still " +"works, however, it does not have any effect on the object. Weakrefs are " +"useful in cases where multiple classes have variables that refer to each " +"other. Without weakrefs, using these classes could lead to memory leaks, " +"since both references keep each other from being released. Making part of " +"the variables a weakref can prevent this cyclic dependency, and allows the " +"references to be released." +msgstr "" +"弱引用 weakref 可以存放 [RefCounted],但不会对其引用计数器产生影响。可以使用 " +"[method @GlobalScope.weakref] 创建 [Object] 的弱引用。如果该对象不是引用,弱" +"引用仍然有效,但是对这个对象没有任何影响。弱引用在多个类的变量相互引用的情况" +"下很有用。如果没有弱引用,使用这些类可能会导致内存泄漏,因为这两个引用会阻止" +"彼此被释放。将部分变量设置为弱引用可以防止这种循环依赖,让引用能够被释放。" + +msgid "" "Returns the [Object] this weakref is referring to. Returns [code]null[/code] " "if that object no longer exists." msgstr "" @@ -64896,6 +82217,37 @@ msgstr "" "[MultiplayerAPI] 兼容。" msgid "" +"This class constructs a full mesh of [WebRTCPeerConnection] (one connection " +"for each peer) that can be used as a [member MultiplayerAPI." +"multiplayer_peer].\n" +"You can add each [WebRTCPeerConnection] via [method add_peer] or remove them " +"via [method remove_peer]. Peers must be added in [constant " +"WebRTCPeerConnection.STATE_NEW] state to allow it to create the appropriate " +"channels. This class will not create offers nor set descriptions, it will " +"only poll them, and notify connections and disconnections.\n" +"When creating the peer via [method create_client] or [method create_server] " +"the [method MultiplayerPeer.is_server_relay_supported] method will return " +"[code]true[/code] enabling peer exchange and packet relaying when supported " +"by the [MultiplayerAPI] implementation.\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." +msgstr "" +"这个类构建了一个完整的 [WebRTCPeerConnection] 网状结构(每个对等体有一个连" +"接),可用作 [member MultiplayerAPI.multiplayer_peer]。\n" +"可以通过 [method add_peer] 添加每个 [WebRTCPeerConnection],或通过 [method " +"remove_peer] 移除它们。必须在 [constant WebRTCPeerConnection.STATE_NEW] 状态" +"下添加对等体,以允许它创建适当的通道。这个类不会创建提交或设置描述,它只会轮" +"询它们,并通知连接和断开连接。\n" +"当通过 [method create_client] 或 [method create_server] 创建对等体时, " +"[method MultiplayerPeer.is_server_relay_supported] 方法将返回 [code]true[/" +"code],在 [MultiplayerAPI] 实现支持时启用对等体交换和数据包中继。\n" +"[b]注意:[/b]导出到 Android 时,在导出项目或使用一键部署前,请确保在 Android " +"导出预设中启用了 [code]INTERNET[/code] 权限。否则,任何类型的网络通信都将被 " +"Android 阻止。" + +msgid "" "Add a new peer to the mesh with the given [code]peer_id[/code]. The " "[WebRTCPeerConnection] must be in state [constant WebRTCPeerConnection." "STATE_NEW].\n" @@ -65180,10 +82532,57 @@ msgid "" "The peer connection is closed (after calling [method close] for example)." msgstr "对等连接已关闭,例如在调用 [method close] 后。" +msgid "" +"The peer connection was just created and hasn't done any networking yet." +msgstr "对等体连接刚刚建立,还没有做任何联网工作。" + +msgid "" +"The ICE agent is in the process of gathering candidates for the connection." +msgstr "ICE 代理正在收集候选连接。" + +msgid "" +"The ICE agent has finished gathering candidates. If something happens that " +"requires collecting new candidates, such as a new interface being added or " +"the addition of a new ICE server, the state will revert to gathering to " +"gather those candidates." +msgstr "" +"ICE 代理已完成候选连接的收集。如果发生了需要收集新候选的情况,例如新添加了接" +"口、新添加了 ICE 服务器,则会返回收集状态,进行候选项的收集。" + +msgid "The [WebRTCPeerConnection] has been closed." +msgstr "该 [WebRTCPeerConnection] 已关闭连接。" + msgid "Base class for WebSocket server and client." msgstr "WebSocket 服务器和客户端的基类。" msgid "" +"Starts a new multiplayer client connecting to the given [param url]. TLS " +"certificates will be verified against the hostname when connecting using the " +"[code]wss://[/code] protocol. You can pass the optional [param " +"tls_client_options] parameter to customize the trusted certification " +"authorities, or disable the common name verification. See [method TLSOptions." +"client] and [method TLSOptions.client_unsafe].\n" +"[b]Note:[/b] It is recommended to specify the scheme part of the URL, i.e. " +"the [param url] should start with either [code]ws://[/code] or [code]wss://[/" +"code]." +msgstr "" +"启动新的多人客户端,连接至给定的 [param url]。使用 [code]wss://[/code] 协议连" +"接时会校验主机名和 TLS 证书。传入 [param tls_client_options] 可以自定义信任的" +"证书颁发机构,也可以禁用通用名的验证。见 [method TLSOptions.client] 和 " +"[method TLSOptions.client_unsafe]。\n" +"[b]注意:[/b]推荐指定 URL 的方案部分,即 [param url] 应该以 [code]ws://[/" +"code] 或 [code]wss://[/code] 开头。" + +msgid "" +"Starts a new multiplayer server listening on the given [param port]. You can " +"optionally specify a [param bind_address], and provide valiid [param " +"tls_server_options] to use TLS. See [method TLSOptions.server]." +msgstr "" +"启动新的多人服务器,监听给定的 [param port]。可以指定 [param bind_address]," +"也可以提供有效的 [param tls_server_options] 来使用 TLS。见 [method " +"TLSOptions.server]。" + +msgid "" "Returns the [WebSocketPeer] associated to the given [code]peer_id[/code]." msgstr "返回与给定 [code]peer_id[/code] 关联的 [WebSocketPeer]。" @@ -65193,10 +82592,143 @@ msgstr "返回给定对等体的 IP 地址。" msgid "Returns the remote port of the given peer." msgstr "返回给定对等体的远程端口。" +msgid "" +"The inbound buffer size for connected peers. See [member WebSocketPeer." +"inbound_buffer_size] for more details." +msgstr "" +"已连接对等体的入站缓冲区大小。详见 [member WebSocketPeer." +"inbound_buffer_size]。" + +msgid "" +"The maximum number of queued packets for connected peers. See [member " +"WebSocketPeer.max_queued_packets] for more details." +msgstr "" +"已连接对等体的最大排队数据包数量。详见 [member WebSocketPeer." +"max_queued_packets]。" + +msgid "" +"The outbound buffer size for connected peers. See [member WebSocketPeer." +"outbound_buffer_size] for more details." +msgstr "" +"已连接对等体的出站缓冲区大小。详见 [member WebSocketPeer." +"outbound_buffer_size]。" + msgid "A WebSocket connection." msgstr "WebSocket 连接。" msgid "" +"This class represents WebSocket connection, and can be used as a WebSocket " +"client (RFC 6455-compliant) or as a remote peer of a WebSocket server.\n" +"You can send WebSocket binary frames using [method PacketPeer.put_packet], " +"and WebSocket text frames using [method send] (prefer text frames when " +"interacting with text-based API). You can check the frame type of the last " +"packet via [method was_string_packet].\n" +"To start a WebSocket client, first call [method connect_to_url], then " +"regularly call [method poll] (e.g. during [Node] process). You can query the " +"socket state via [method get_ready_state], get the number of pending packets " +"using [method PacketPeer.get_available_packet_count], and retrieve them via " +"[method PacketPeer.get_packet].\n" +"[codeblocks]\n" +"[gdscript]\n" +"extends Node\n" +"\n" +"var socket = WebSocketPeer.new()\n" +"\n" +"func _ready():\n" +" socket.connect_to_url(\"wss://example.com\")\n" +"\n" +"func _process(delta):\n" +" socket.poll()\n" +" var state = socket.get_ready_state()\n" +" if state == WebSocketPeer.STATE_OPEN:\n" +" while socket.get_available_packet_count():\n" +" print(\"Packet: \", socket.get_packet())\n" +" elif state == WebSocketPeer.STATE_CLOSING:\n" +" # Keep polling to achieve proper close.\n" +" pass\n" +" elif state == WebSocketPeer.STATE_CLOSED:\n" +" var code = socket.get_close_code()\n" +" var reason = socket.get_close_reason()\n" +" print(\"WebSocket closed with code: %d, reason %s. Clean: %s\" % " +"[code, reason, code != -1])\n" +" set_process(false) # Stop processing.\n" +"[/gdscript]\n" +"[/codeblocks]\n" +"To use the peer as part of a WebSocket server refer to [method " +"accept_stream] and the online tutorial." +msgstr "" +"这个类代表 WebSocket 连接,可以用作 WebSocket 客户端(兼容 RFC 6455),也可以" +"用作 WebSocket 服务器的远程对等体。\n" +"发送 WebSocket 二进制帧请使用 [method PacketPeer.put_packet],发送 WebSocket " +"文本帧请使用 [method send](与基于文本的 API 交互时请优先选择文本帧)。可以通" +"过 [method was_string_packet] 检查最近一个数据包的帧类型。\n" +"开启 WebSocket 客户端的方法是:首先调用 [method connect_to_url],然后定期调" +"用 [method poll](例如在 [Node] 的处理过程中)。查询套接字的状态请使用 " +"[method get_ready_state],获取挂起的数据包数量请使用 [method PacketPeer." +"get_available_packet_count],获取挂起的数据包请使用 [method PacketPeer." +"get_packet]。\n" +"[codeblocks]\n" +"[gdscript]\n" +"extends Node\n" +"\n" +"var socket = WebSocketPeer.new()\n" +"\n" +"func _ready():\n" +" socket.connect_to_url(\"wss://example.com\")\n" +"\n" +"func _process(delta):\n" +" socket.poll()\n" +" var state = socket.get_ready_state()\n" +" if state == WebSocketPeer.STATE_OPEN:\n" +" while socket.get_available_packet_count():\n" +" print(\"数据包:\", socket.get_packet())\n" +" elif state == WebSocketPeer.STATE_CLOSING:\n" +" # 继续轮询才能正确关闭。\n" +" pass\n" +" elif state == WebSocketPeer.STATE_CLOSED:\n" +" var code = socket.get_close_code()\n" +" var reason = socket.get_close_reason()\n" +" print(\"WebSocket 已关闭,代码:%d,原因 %s。干净得体:%s\" % [code, " +"reason, code != -1])\n" +" set_process(false) # 停止处理。\n" +"[/gdscript]\n" +"[/codeblocks]\n" +"如果要作为 WebSocket 服务器的对等体使用,请参考 [method accept_stream] 及在线" +"教程。" + +msgid "" +"Accepts a peer connection performing the HTTP handshake as a WebSocket " +"server. The [param stream] must be a valid TCP stream retrieved via [method " +"TCPServer.take_connection], or a TLS stream accepted via [method " +"StreamPeerTLS.accept_stream].\n" +"[b]Note:[/b] Not supported in Web exports due to browsers' restrictions." +msgstr "" +"以 WebSocket 服务器的名义,接受正在执行 HTTP 握手的对等体连接。[param " +"stream] 必须是从 [method TCPServer.take_connection] 获取的有效 TCP 流,或者是" +"从 [method StreamPeerTLS.accept_stream] 接受的 TLS 流。\n" +"[b]注意:[/b]由于浏览器的限制,Web 导出中不支持此方法。" + +msgid "" +"Closes this WebSocket connection. [param code] is the status code for the " +"closure (see RFC 6455 section 7.4 for a list of valid status codes). [param " +"reason] is the human readable reason for closing the connection (can be any " +"UTF-8 string that's smaller than 123 bytes). If [param code] is negative, " +"the connection will be closed immediately without notifying the remote " +"peer.\n" +"[b]Note:[/b] To achieve a clean close, you will need to keep polling until " +"[constant STATE_CLOSED] is reached.\n" +"[b]Note:[/b] The Web export might not support all status codes. Please refer " +"to browser-specific documentation for more details." +msgstr "" +"关闭该 WebSocket 连接。[param code] 是关闭的状态码(有效状态代码的列表见 RFC " +"6455 第 7.4 节)。[param reason] 是人类可读的关闭连接原因(可以是任何小于 " +"123 字节的 UTF-8 字符串)。如果 [param code] 为负数,则连接会立即关闭,不通知" +"远程对等体。\n" +"[b]注意:[/b]为了实现干净得体的关闭,你需要在达到 [constant STATE_CLOSED] 之" +"前保持轮询。\n" +"[b]注意:[/b]Web 导出可能不支持部分状态码。详情请参考具体浏览器的文档。" + +msgid "" "Returns the IP address of the connected peer.\n" "[b]Note:[/b] Not available in the Web export." msgstr "" @@ -65220,6 +82752,9 @@ msgstr "" "如果最后收到的数据包是作为文本有效载荷发送的,返回 [code]true[/code]。见 " "[enum WriteMode]。" +msgid "The WebSocket sub-protocols allowed during the WebSocket handshake." +msgstr "WebSocket 握手期间允许的 WebSocket 子协议。" + msgid "" "Specifies that WebSockets messages should be transferred as text payload " "(only valid UTF-8 is allowed)." @@ -65230,6 +82765,19 @@ msgid "" "(any byte combination is allowed)." msgstr "指定 WebSockets 消息应以二进制有效载荷的形式传输(允许任何字节组合)。" +msgid "Socket has been created. The connection is not yet open." +msgstr "已创建套接字。连接尚未打开。" + +msgid "The connection is open and ready to communicate." +msgstr "连接已打开,通讯就绪。" + +msgid "" +"The connection is in the process of closing. This means a close request has " +"been sent to the remote peer but confirmation has not been received." +msgstr "" +"连接正在关闭过程中。这意味着已经向远程对等体发送了关闭请求,但还没有收到确" +"认。" + msgid "The connection is closed or couldn't be opened." msgstr "连接已关闭或无法打开。" @@ -65447,6 +82995,9 @@ msgstr "" "您可以使用这两种方法来让您的游戏或应用程序支持更多或更窄的设备和输入法集,或" "者允许与更高级的设备进行更高级的交互。" +msgid "How to make a VR game for WebXR with Godot 4" +msgstr "如何使用 Godot 4 制作 WebXR 的 VR 游戏" + msgid "" "Checks if the given [code]session_mode[/code] is supported by the user's " "browser.\n" @@ -65514,6 +83065,13 @@ msgstr "" "在运行时,[Window] 不会在请求关闭时自动关闭。你需要使用 [signal " "close_requested] 手动处理(适用于点击关闭按钮和点击弹出窗口外部)。" +msgid "Returns whether the window is being drawn to the screen." +msgstr "返回该窗口是否正在被绘制到屏幕上。" + +msgid "" +"Requests an update of the [Window] size to fit underlying [Control] nodes." +msgstr "请求更新 [Window] 大小以适应底层 [Control] 节点。" + msgid "Returns [code]true[/code] if the [param flag] is set." msgstr "如果设置了标志 [param flag],则返回 [code]true[/code]。" @@ -65587,6 +83145,16 @@ msgstr "" "theme_type] 的样式盒项,则返回 [code]true[/code]。\n" "详情见 [method Control.get_theme_color]。" +msgid "" +"Returns [code]true[/code] if the window is currently embedded in another " +"window." +msgstr "如果该窗口当前嵌入在其他窗口中,则返回 [code]true[/code]。" + +msgid "" +"Returns [code]true[/code] if the window can be maximized (the maximize " +"button is enabled)." +msgstr "如果该窗口可以最大化(启用了最大化按钮),则返回 [code]true[/code]。" + msgid "Moves the [Window] on top of other windows and focuses it." msgstr "将该 [Window] 移动到其他窗口的顶部并聚焦。" @@ -65646,6 +83214,16 @@ msgstr "切换是否所有文本都应该根据当前区域设置自动变为翻 msgid "If [code]true[/code], the window will have no borders." msgstr "如果为 [code]true[/code],则该窗口将没有边框。" +msgid "" +"Specifies how the content's aspect behaves when the [Window] is resized. The " +"base aspect is determined by [member content_scale_size]." +msgstr "" +"指定当 [Window] 的大小改变时,内容纵横比的行为。基础纵横比由 [member " +"content_scale_size] 决定。" + +msgid "Specifies how the content is scaled when the [Window] is resized." +msgstr "指定当 [Window] 的大小改变时,如何对内容进行缩放。" + msgid "The screen the window is currently on." msgstr "该窗口当前所在的屏幕。" @@ -65741,6 +83319,18 @@ msgid "The window's size in pixels." msgstr "该窗口的大小,单位为像素。" msgid "" +"The window's title. If the [Window] is non-embedded, title styles set in " +"[Theme] will have no effect." +msgstr "" +"该窗口的标题。如果 [Window] 不是嵌入式的,则 [Theme] 中设置的标题样式无效。" + +msgid "" +"If [code]true[/code], the [Window] can't be focused nor interacted with. It " +"can still be visible." +msgstr "" +"如果为 [code]true[/code],则该 [Window] 既无法聚焦也无法交互,但仍然可见。" + +msgid "" "If [code]true[/code], the window can't be resized. Minimize and maximize " "buttons are disabled." msgstr "" @@ -65792,6 +83382,53 @@ msgstr "" msgid "Max value of the [enum Flags]." msgstr "[enum Flags] 的最大值。" +msgid "The content will not be scaled to match the [Window]'s size." +msgstr "不会为了匹配 [Window] 的大小而对内容进行缩放。" + +msgid "" +"The content will be rendered at the target size. This is more performance-" +"expensive than [constant CONTENT_SCALE_MODE_VIEWPORT], but provides better " +"results." +msgstr "" +"会将内容按照目标大小渲染。比 [constant CONTENT_SCALE_MODE_VIEWPORT] 更消耗性" +"能,但结果更佳。" + +msgid "" +"The content will be rendered at the base size and then scaled to the target " +"size. More performant than [constant CONTENT_SCALE_MODE_CANVAS_ITEMS], but " +"results in pixelated image." +msgstr "" +"会将内容按照原始大小渲染,然后再缩放到目标大小。比 [constant " +"CONTENT_SCALE_MODE_CANVAS_ITEMS] 性能更高,但会导致图像的像素化。" + +msgid "" +"The aspect will be ignored. Scaling will simply stretch the content to fit " +"the target size." +msgstr "会忽略纵横比。缩放就是简单地将内容拉伸至目标大小。" + +msgid "" +"The content's aspect will be preserved. If the target size has different " +"aspect from the base one, the image will be centered and black bars will " +"appear on left and right sides." +msgstr "" +"会保留内容的纵横比。如果目标大小与原始大小的纵横比不同,则会将图像居中,左右" +"两侧会出现黑条。" + +msgid "" +"The content can be expanded vertically. Scaling horizontally will result in " +"keeping the width ratio and then black bars on left and right sides." +msgstr "内容可以垂直扩展。横向缩放时,会保留宽度比,在左右两侧添加黑条。" + +msgid "" +"The content can be expanded horizontally. Scaling vertically will result in " +"keeping the height ratio and then black bars on top and bottom sides." +msgstr "内容可以水平扩展。纵向缩放时,会保留高度比,在上下两侧添加黑条。" + +msgid "" +"Automatic layout direction, determined from the parent window layout " +"direction." +msgstr "自动布局方向,由父窗口的布局方向决定。" + msgid "Initial window position is determined by [member position]." msgstr "初始窗口位置由 [member position] 决定。" @@ -65843,18 +83480,53 @@ msgstr "拥有与世界相关的一切的类。" msgid "The World3D's [Environment]." msgstr "该 World3D 的 [Environment]。" +msgid "The World3D's visual scenario." +msgstr "该 World3D 的可视场景。" + +msgid "The World3D's physics space." +msgstr "该 World3D 的物理空间。" + +msgid "World boundary (infinite plane) shape resource for 2D physics." +msgstr "世界边界(无限平面)形状资源,用于 2D 物理。" + msgid "The line's distance from the origin." msgstr "该直线与原点的距离。" msgid "The line's normal. Defaults to [code]Vector2.UP[/code]." msgstr "该直线的法线。默认为 [code]Vector2.UP[/code]。" +msgid "World boundary (infinite plane) shape resource for 3D physics." +msgstr "世界边界(无限平面)形状资源,用于 3D 物理。" + +msgid "The [Plane] used by the [WorldBoundaryShape3D] for collision." +msgstr "该 [WorldBoundaryShape3D] 用于碰撞的 [Plane]。" + msgid "" "Default environment properties for the entire scene (post-processing " "effects, lighting and background settings)." msgstr "整个场景的默认环境属性,后期处理效果、照明和背景设置。" msgid "" +"The [WorldEnvironment] node is used to configure the default [Environment] " +"for the scene.\n" +"The parameters defined in the [WorldEnvironment] can be overridden by an " +"[Environment] node set on the current [Camera3D]. Additionally, only one " +"[WorldEnvironment] may be instantiated in a given scene at a time.\n" +"The [WorldEnvironment] allows the user to specify default lighting " +"parameters (e.g. ambient lighting), various post-processing effects (e.g. " +"SSAO, DOF, Tonemapping), and how to draw the background (e.g. solid color, " +"skybox). Usually, these are added in order to improve the realism/color " +"balance of the scene." +msgstr "" +"[WorldEnvironment] 节点用于为场景配置默认的 [Environment]。\n" +"[WorldEnvironment] 中定义的参数可以被设置为当前的 [Camera3D] 上所设置的 " +"[Environment] 资源覆盖。此外,在一个给定场景中,同一时间只能实例化一个 " +"[WorldEnvironment]。\n" +"[WorldEnvironment] 允许用户指定默认的照明参数(例如环境照明)、各种后处理效果" +"(例如 SSAO、DOF、色调映射)、以及如何绘制背景(例如纯色、天空盒)。通常,添" +"加这些是为了提高场景的真实感/色彩平衡。" + +msgid "" "The [Environment] resource used by this [WorldEnvironment], defining the " "default properties." msgstr "" @@ -66053,6 +83725,9 @@ msgid "" "Returns the name of this interface (OpenXR, OpenVR, OpenHMD, ARKit, etc)." msgstr "返回该接口的名称(OpenXR、OpenVR、OpenHMD、ARKit 等)。" +msgid "Returns the projection matrix for a view/eye." +msgstr "返回视图/眼睛的投影矩阵。" + msgid "" "Returns the resolution at which we should render our intermediate results " "before things like lens distortion are applied by the VR platform." @@ -66072,52 +83747,6 @@ msgstr "" "如果支持,返回我们的跟踪状态。这将使你能够向用户反馈,是否存在位置跟踪的问" "题。" -msgid "" -"Sets the active environment blend mode.\n" -"[param mode] is the [enum XRInterface.EnvironmentBlendMode] starting with " -"the next frame.\n" -"[b]Note:[/b] Not all runtimes support all environment blend modes, so it is " -"important to check this at startup. For example:\n" -"[codeblock]\n" -" func _ready():\n" -" var xr_interface : XRInterface = XRServer." -"find_interface(\"OpenXR\")\n" -" if xr_interface and xr_interface.is_initialized():\n" -" var vp : Viewport = get_viewport()\n" -" vp.use_xr = true\n" -" var acceptable_modes = [ XRInterface." -"XR_ENV_BLEND_MODE_OPAQUE, XRInterface.XR_ENV_BLEND_MODE_ADDITIVE ]\n" -" var modes = xr_interface." -"get_supported_environment_blend_modes()\n" -" for mode in acceptable_modes:\n" -" if mode in modes:\n" -" xr_interface." -"set_environment_blend_mode(mode)\n" -" break\n" -"[/codeblock]" -msgstr "" -"设置活动的环境混合模式。\n" -"[param mode] 为下一帧开始的 [enum XRInterface.EnvironmentBlendMode]。\n" -"[b]注意:[/b]不是所有的运行时都支持全部的环境混合模式,所以在启动时进行检查很" -"重要。例如:\n" -"[codeblock]\n" -" func _ready():\n" -" var xr_interface : XRInterface = XRServer." -"find_interface(\"OpenXR\")\n" -" if xr_interface and xr_interface.is_initialized():\n" -" var vp : Viewport = get_viewport()\n" -" vp.use_xr = true\n" -" var acceptable_modes = [ XRInterface." -"XR_ENV_BLEND_MODE_OPAQUE, XRInterface.XR_ENV_BLEND_MODE_ADDITIVE ]\n" -" var modes = xr_interface." -"get_supported_environment_blend_modes()\n" -" for mode in acceptable_modes:\n" -" if mode in modes:\n" -" xr_interface." -"set_environment_blend_mode(mode)\n" -" break\n" -"[/codeblock]" - msgid "Stops passthrough." msgstr "停止穿透。" @@ -66200,6 +83829,9 @@ msgstr "" msgid "Base class for XR interface extensions (plugins)." msgstr "XR 接口扩展(插件)的基类。" +msgid "External XR interface plugins should inherit from this class." +msgstr "外部 XR 接口插件应继承自这个类。" + msgid "Returns the capabilities of this interface." msgstr "返回该接口的功能。" @@ -66212,6 +83844,9 @@ msgstr "返回接受渲染结果的深度纹理(如果适用)。" msgid "Returns the name of this interface." msgstr "返回该接口的名称。" +msgid "Called after the XR [Viewport] draw logic has completed." +msgstr "在 XR [Viewport] 绘制逻辑完成后调用。" + msgid "Set the play area mode for this interface." msgstr "设置该接口的游玩区域模式。" @@ -66391,6 +84026,48 @@ msgid "" "space." msgstr "注册一个新的 [XRPositionalTracker],用于跟踪现实空间中的一个空间位置。" +msgid "" +"This is an important function to understand correctly. AR and VR platforms " +"all handle positioning slightly differently.\n" +"For platforms that do not offer spatial tracking, our origin point (0, 0, 0) " +"is the location of our HMD, but you have little control over the direction " +"the player is facing in the real world.\n" +"For platforms that do offer spatial tracking, our origin point depends very " +"much on the system. For OpenVR, our origin point is usually the center of " +"the tracking space, on the ground. For other platforms, it's often the " +"location of the tracking camera.\n" +"This method allows you to center your tracker on the location of the HMD. It " +"will take the current location of the HMD and use that to adjust all your " +"tracking data; in essence, realigning the real world to your player's " +"current position in the game world.\n" +"For this method to produce usable results, tracking information must be " +"available. This often takes a few frames after starting your game.\n" +"You should call this method after a few seconds have passed. For example, " +"when the user requests a realignment of the display holding a designated " +"button on a controller for a short period of time, or when implementing a " +"teleport mechanism." +msgstr "" +"正确地理解这个函数非常重要。AR 和 VR 平台处理定位的方式略有不同。\n" +"对于不提供空间跟踪的平台,我们的原点 (0,0,0) 是 HMD 的位置,但您几乎无法控制" +"玩家在现实世界中面对的方向。\n" +"对于提供空间跟踪的平台,我们的原点在很大程度上取决于系统。对于 OpenVR,原点通" +"常是地面上跟踪空间的中心。对于其他平台,它通常是跟踪相机的位置。\n" +"此方法允许您将跟踪器置于 HMD 的位置。它将获取 HMD 的当前位置并使用它来调整您" +"的所有跟踪数据;从本质上讲,将现实世界重新调整到玩家在游戏世界中的当前位" +"置。\n" +"为了使这种方法产生可用的结果,跟踪信息必须可用。这通常在开始游戏后需要几" +"帧。\n" +"您应该在几秒钟后调用此方法。例如,当用户请求重新调整显示时,按住控制器上的指" +"定按钮一小段时间,或者当实现传送机制时。" + +msgid "" +"Finds an interface by its [param name]. For example, if your project uses " +"capabilities of an AR/VR platform, you can find the interface for that " +"platform by name and initialize it." +msgstr "" +"通过名称 [param name] 查找接口。例如,如果你的项目使用 AR/VR 平台的功能,你可" +"以通过名称找到该平台的接口并初始化。" + msgid "Returns the primary interface's transformation." msgstr "返回主界面的变换。" @@ -66552,6 +84229,29 @@ msgid "Closes the underlying resources used by this instance." msgstr "关闭该实例底层所使用的资源。" msgid "" +"Stops writing to a file within the archive.\n" +"It will fail if there is no open file." +msgstr "" +"停止向归档中的文件进行写入。\n" +"如果没有打开文件,则会失败。" + +msgid "" +"Opens a zip file for writing at the given path using the specified write " +"mode.\n" +"This must be called before everything else." +msgstr "" +"打开给定路径处的 Zip 文件,使用指定的写入模式进行写入。\n" +"必须在其他调用前调用。" + +msgid "" +"Starts writing to a file within the archive. Only one file can be written at " +"the same time.\n" +"Must be called after [method open]." +msgstr "" +"开始向存档中的一个文件写入。同一时间只能写一个文件。\n" +"必须在[method open]之后调用。" + +msgid "" "Write the given [param data] to the file.\n" "Needs to be called after [method start_file]." msgstr "" diff --git a/editor/translations/editor/ar.po b/editor/translations/editor/ar.po index 6545b83e3a..cd8905e61b 100644 --- a/editor/translations/editor/ar.po +++ b/editor/translations/editor/ar.po @@ -73,13 +73,14 @@ # Abdulrahman <abdelrahman.ramadan686@gmail.com>, 2022. # "Ali F. Abbas" <alifuadabbas@gmail.com>, 2023. # Youssef Mohamed <starmod300@gmail.com>, 2023. +# "Mr.k" <mineshtine28546271@gmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-26 13:09+0000\n" -"Last-Translator: Youssef Mohamed <starmod300@gmail.com>\n" +"PO-Revision-Date: 2023-03-12 02:42+0000\n" +"Last-Translator: \"Mr.k\" <mineshtine28546271@gmail.com>\n" "Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/" "godot/ar/>\n" "Language: ar\n" @@ -88,7 +89,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 4.16-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Unset" msgstr "غير محدد" @@ -468,10 +469,10 @@ msgid "Built-in" msgstr "مُدمج:" msgid "B" -msgstr "بايت" +msgstr "بايت (Byte)" msgid "KiB" -msgstr "كيلوبايت" +msgstr "كيبي بايت (KiB)" msgid "MiB" msgstr "ميبي بايت (MiB)" @@ -493,12 +494,12 @@ msgstr "مثال: s%" msgid "%d item" msgid_plural "%d items" -msgstr[0] "العنصر: d%" -msgstr[1] "العنصر: d%" -msgstr[2] "العنصران: d%" -msgstr[3] "العناصر: d%" -msgstr[4] "العناصر: d%" -msgstr[5] "العناصر: d%" +msgstr[0] "d% عنصر" +msgstr[1] "d% عنصر" +msgstr[2] "d% عنصران" +msgstr[3] "d% عناصر" +msgstr[4] "d% عناصر" +msgstr[5] "d% عناصر" msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " @@ -534,12 +535,6 @@ msgstr "حذف الحدث" msgid "Filter by name..." msgstr "فلتر بواسطة الاسم..." -msgid "Clear All" -msgstr "مسح الكل" - -msgid "Add New Action" -msgstr "إضافة إجراء جديد" - msgid "Add" msgstr "أضف" @@ -5476,7 +5471,7 @@ msgid "Reset Field of View to Default" msgstr "إعادة تعيين مجال الرؤية إلى الافتراضي" msgid "Transform" -msgstr "التحوّل" +msgstr "التَحَوّل" msgid "Snap Object to Floor" msgstr "محاذاة الشيء إلى الأرض" @@ -6703,12 +6698,12 @@ msgstr "القلب أفقياً" msgid "Flip Vertically" msgstr "القلب عموديًا" +msgid "Tiles" +msgstr "البلاط" + msgid "Yes" msgstr "نعم" -msgid "TileSet" -msgstr "مُحدد البلاط" - msgid "Error" msgstr "خطأ" diff --git a/editor/translations/editor/bg.po b/editor/translations/editor/bg.po index ded4d7ee19..997a698683 100644 --- a/editor/translations/editor/bg.po +++ b/editor/translations/editor/bg.po @@ -23,7 +23,7 @@ msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-23 11:35+0000\n" +"PO-Revision-Date: 2023-03-02 01:44+0000\n" "Last-Translator: Любомир Василев <lyubomirv@gmx.com>\n" "Language-Team: Bulgarian <https://hosted.weblate.org/projects/godot-engine/" "godot/bg/>\n" @@ -32,7 +32,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\n" msgid "Physical" msgstr "Физически" @@ -2213,11 +2213,31 @@ msgstr "" "Филтри за изключване на файлове/папки от проекта\n" "(разделени със запетая, например: *.json, *.txt, docs/*)" +msgid "Encryption" +msgstr "Шифроване" + +msgid "" +"Filters to include files/folders\n" +"(comma-separated, e.g: *.tscn, *.tres, scenes/*)" +msgstr "" +"Филтри за включване на файлове/папки\n" +"(разделени със запетая, например: *.tscn, *.tres, scenes/*)" + +msgid "" +"Filters to exclude files/folders\n" +"(comma-separated, e.g: *.ctex, *.import, music/*)" +msgstr "" +"Филтри за изключване на файлове/папки\n" +"(разделени със запетая, например: *.ctex, *.import, music/*)" + msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)" msgstr "" "Неправилен ключ за шифроване (трябва да бъде с дължина 64 шестнадесетични " "знака)" +msgid "Encryption Key (256-bits as hexadecimal):" +msgstr "Ключ за шифроване (256 бита, в шестнадесетичен формат):" + msgid "Export PCK/ZIP..." msgstr "Изнасяне на PCK/ZIP…" @@ -2236,18 +2256,33 @@ msgstr "Изнасяне на всичко…" msgid "ZIP File" msgstr "Файл ZIP" +msgid "Godot Project Pack" +msgstr "Проектен пакет на Godot" + msgid "Export templates for this platform are missing:" msgstr "Шаблоните за изнасяне за тази система липсват:" +msgid "Project Export" +msgstr "Изнасяне на проекта" + msgid "Manage Export Templates" msgstr "Управление на шаблоните за изнасяне" msgid "Export With Debug" msgstr "Изнасяне с данни за дебъгване" +msgid "FBX2glTF executable is valid." +msgstr "Изпълнимият файл на FBX2glTF е правилен." + +msgid "Configure FBX Importer" +msgstr "Настройване на функционалността за внасяне на файлове FBX" + msgid "Browse" msgstr "Разглеждане" +msgid "Confirm Path" +msgstr "Потвърждаване на пътя" + msgid "Favorites" msgstr "Любими" @@ -2287,6 +2322,21 @@ msgstr "Добавяне в любимите" msgid "Remove from Favorites" msgstr "Премахване от любимите" +msgid "Folder..." +msgstr "Папка…" + +msgid "Scene..." +msgstr "Сцена…" + +msgid "Script..." +msgstr "Скрипт…" + +msgid "Resource..." +msgstr "Ресурс…" + +msgid "TextFile..." +msgstr "Текстов файл…" + msgid "New Scene..." msgstr "Нова сцена..." @@ -2296,9 +2346,27 @@ msgstr "Нов скрипт..." msgid "New Resource..." msgstr "Нов ресурс..." +msgid "New TextFile..." +msgstr "Нов текстов файл…" + +msgid "Sort Files" +msgstr "Сортиране на файловете" + +msgid "Open in External Program" +msgstr "Отваряне във външна програма" + +msgid "Go to previous selected folder/file." +msgstr "Преминаване към предходно избраната папка/файл." + +msgid "Go to next selected folder/file." +msgstr "Преминаване към следващата избрана папка/файл." + msgid "Toggle Split Mode" msgstr "Превключване на разделения режим" +msgid "Filter Files" +msgstr "Филтриране на файловете" + msgid "Find in Files" msgstr "Търсене във файловете" @@ -2323,6 +2391,9 @@ msgstr "Замяна..." msgid "Replace in Files" msgstr "Замяна във файловете" +msgid "Replace all (no undo)" +msgstr "Замяна на всички (необратимо)" + msgid "Searching..." msgstr "Търсене..." @@ -2353,6 +2424,9 @@ msgstr "Групи" msgid "Group Editor" msgstr "Редактор на групи" +msgid "Global" +msgstr "Глобална" + msgid "Reimport" msgstr "Повторно внасяне" @@ -2368,9 +2442,21 @@ msgstr "Повтаряне:" msgid "Music Playback:" msgstr "Възпроизвеждане на музика:" +msgid "New Configuration" +msgstr "Нова конфигурация" + +msgid "Remove Variation" +msgstr "Премахване на варианта" + +msgid "Rendering Options" +msgstr "Настройки за изчертаване" + msgid "Configuration:" msgstr "Конфигурация:" +msgid "Add configuration" +msgstr "Добавяне на конфигурация" + msgid "Importing Scene..." msgstr "Внасяне на сцената..." diff --git a/editor/translations/editor/ca.po b/editor/translations/editor/ca.po index 8e60fbc066..3269b27a30 100644 --- a/editor/translations/editor/ca.po +++ b/editor/translations/editor/ca.po @@ -17,13 +17,14 @@ # Joel Garcia Cascalló <jocsencat@gmail.com>, 2021. # DFC <damiafluixacanals28@gmail.com>, 2021. # Roger VC <rogervilarasau@gmail.com>, 2022. +# Jordi Borràs <jborras@centrekepler.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-07-09 21:11+0000\n" -"Last-Translator: Roger VC <rogervilarasau@gmail.com>\n" +"PO-Revision-Date: 2023-03-09 22:27+0000\n" +"Last-Translator: Jordi Borràs <jborras@centrekepler.com>\n" "Language-Team: Catalan <https://hosted.weblate.org/projects/godot-engine/" "godot/ca/>\n" "Language: ca\n" @@ -31,26 +32,218 @@ 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.13.1-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" + +msgid "Unset" +msgstr "Desactiva" msgid "Physical" msgstr "Físic" +msgid "Left Mouse Button" +msgstr "Botó Esquerre del Ratolí" + +msgid "Right Mouse Button" +msgstr "Botó Dret del Ratolí" + +msgid "Middle Mouse Button" +msgstr "Botó Central del Ratolí" + +msgid "Mouse Wheel Up" +msgstr "Roda del Ratolí cap Amunt" + +msgid "Mouse Wheel Down" +msgstr "Roda del Ratolí cap Avall" + +msgid "Mouse Wheel Left" +msgstr "Roda del Ratolí cap a l'Esquerra" + +msgid "Mouse Wheel Right" +msgstr "Roda del Ratolí cap a la Dreta" + +msgid "Mouse Thumb Button 1" +msgstr "Botó del Polze del Ratolí 1" + +msgid "Mouse Thumb Button 2" +msgstr "Botó del Polze del Ratolí 2" + msgid "Button" msgstr "Botó" +msgid "Double Click" +msgstr "Doble Clic" + +msgid "Mouse motion at position (%s) with velocity (%s)" +msgstr "Moviment del ratolí a la posició (%s) amb velocitat (%s)" + +msgid "Left Stick X-Axis, Joystick 0 X-Axis" +msgstr "Eix X de l'Stick Esquerre, eix X del Joystick 0" + +msgid "Left Stick Y-Axis, Joystick 0 Y-Axis" +msgstr "Eix Y de l'Stick Esquerre, Eix Y del Joystick 0" + +msgid "Right Stick X-Axis, Joystick 1 X-Axis" +msgstr "Eix X de l'Stick Dret, Eix X del Joystick 1" + +msgid "Right Stick Y-Axis, Joystick 1 Y-Axis" +msgstr "Eix Y de l'Stick Dret, Eix Y del Joystick 1" + +msgid "Joystick 2 X-Axis, Left Trigger, Sony L2, Xbox LT" +msgstr "Eix X del Joystick 2, Gatell Esquerre, Sony L2, Xbox LT" + +msgid "Joystick 2 Y-Axis, Right Trigger, Sony R2, Xbox RT" +msgstr "Eix XYdel Joystick 2, Gatell Esquerre, Sony R2, Xbox RT" + +msgid "Joystick 3 X-Axis" +msgstr "Eix X del Joystick 3" + +msgid "Joystick 3 Y-Axis" +msgstr "Eix Y del Joystick 3" + +msgid "Joystick 4 X-Axis" +msgstr "Eix X del Joystick 4" + +msgid "Joystick 4 Y-Axis" +msgstr "Eix Y del Joystick 4" + +msgid "Unknown Joypad Axis" +msgstr "Eix de Joypad Desconegut" + +msgid "Joypad Motion on Axis %d (%s) with Value %.2f" +msgstr "Moviment del Joypad en l'Eix %d (%s) amb Valor %.2f" + +msgid "Bottom Action, Sony Cross, Xbox A, Nintendo B" +msgstr "Acció Inferior, Sony Creu, Xbox A, Nintendo B" + +msgid "Right Action, Sony Circle, Xbox B, Nintendo A" +msgstr "Acció dreta, Sony Cercle, Xbox B, Nintendo A" + +msgid "Left Action, Sony Square, Xbox X, Nintendo Y" +msgstr "Acció Esquerra, Sony Quadrat, Xbox X, Nintendo Y" + +msgid "Top Action, Sony Triangle, Xbox Y, Nintendo X" +msgstr "Acció Superior, Sony Triangle, Xbox Y, Nintendo X" + +msgid "Back, Sony Select, Xbox Back, Nintendo -" +msgstr "Enrere, Sony Select, Xbox Back, Nintendo -" + +msgid "Guide, Sony PS, Xbox Home" +msgstr "Guia, Sony PS, Xbox Home" + +msgid "Start, Nintendo +" +msgstr "Start, Nintendo +" + +msgid "Left Stick, Sony L3, Xbox L/LS" +msgstr "Stick Esquerre, Sony L3, Xbox L/LS" + +msgid "Right Stick, Sony R3, Xbox R/RS" +msgstr "Stick Dret, Sony R3, Xbox R/RS" + +msgid "Left Shoulder, Sony L1, Xbox LB" +msgstr "Espatlla Esquerra, Sony L1, Xbox LB" + +msgid "Right Shoulder, Sony R1, Xbox RB" +msgstr "Espatlla Dreta, Sony R1, Xbox RB" + +msgid "D-pad Up" +msgstr "Teclat de direcció Amunt" + +msgid "D-pad Down" +msgstr "Teclat de direcció Avall" + +msgid "D-pad Left" +msgstr "Teclat de direcció Esquerra" + +msgid "D-pad Right" +msgstr "Teclat de direcció Dreta" + +msgid "Xbox Share, PS5 Microphone, Nintendo Capture" +msgstr "Xbox Comparteix, PS5 Micròfon, Nintendo Captura" + +msgid "Xbox Paddle 1" +msgstr "Xbox Pala 1" + +msgid "Xbox Paddle 2" +msgstr "Xbox Pala 2" + +msgid "Xbox Paddle 3" +msgstr "Xbox Pala 3" + +msgid "Xbox Paddle 4" +msgstr "Xbox Pala 4" + +msgid "PS4/5 Touchpad" +msgstr "PS4/5 Touchpad" + +msgid "Joypad Button %d" +msgstr "Botó del Joypad %d" + +msgid "Pressure:" +msgstr "Pressió:" + +msgid "touched" +msgstr "tocat" + +msgid "released" +msgstr "deixat anar" + +msgid "Screen %s at (%s) with %s touch points" +msgstr "Pantalla %s a (%s) amb %s punts de contacte" + +msgid "" +"Screen dragged with %s touch points at position (%s) with velocity of (%s)" +msgstr "" +"Pantalla arrossegada amb %s punts de contacte a la posició (%s) amb una " +"velocitat de (%s)" + +msgid "Magnify Gesture at (%s) with factor %s" +msgstr "Gest d'engrandiment a (%s) amb un factor %s" + +msgid "Pan Gesture at (%s) with delta (%s)" +msgstr "Gest de Desplaçament Panoràmic a (%s) amb delta (%s)" + +msgid "MIDI Input on Channel=%s Message=%s" +msgstr "Entrada de MIDI al Canal=%s Missatge=%s" + +msgid "Input Event with Shortcut=%s" +msgstr "Esdeveniment d'Entrada amb drecera=%s" + +msgid "Accept" +msgstr "Accepta" + msgid "Select" msgstr "Selecciona" msgid "Cancel" msgstr "Cancel·la" +msgid "Focus Next" +msgstr "Focus Següent" + +msgid "Focus Prev" +msgstr "Focus Previ" + +msgid "Left" +msgstr "Esquerra" + +msgid "Right" +msgstr "Dreta" + msgid "Up" msgstr "Amunt" msgid "Down" msgstr "Avall" +msgid "Page Up" +msgstr "Pàgina Amunt" + +msgid "Page Down" +msgstr "Pàgina Avall" + +msgid "Home" +msgstr "Inici" + msgid "End" msgstr "Final" @@ -58,7 +251,7 @@ msgid "Cut" msgstr "Talla" msgid "Copy" -msgstr "Copiar" +msgstr "Copia" msgid "Paste" msgstr "Enganxa" @@ -69,26 +262,134 @@ msgstr "Desfés" msgid "Redo" msgstr "Refés" +msgid "Completion Query" +msgstr "Consulta de Compleció" + +msgid "New Line" +msgstr "Nova Línia" + +msgid "New Blank Line" +msgstr "Nova línia en blanc" + +msgid "New Line Above" +msgstr "Nova línia a sobre" + +msgid "Indent" +msgstr "Augmenta el sagnat" + +msgid "Dedent" +msgstr "Disminueix el sagnat" + +msgid "Backspace" +msgstr "Retrocés" + +msgid "Backspace Word" +msgstr "Retrocés de paraula" + +msgid "Backspace all to Left" +msgstr "Retrocés del tot a l'esquerra" + msgid "Delete" msgstr "Esborra" +msgid "Delete Word" +msgstr "Elimina una Paraula" + +msgid "Delete all to Right" +msgstr "Elimina-ho tot a la dreta" + +msgid "Caret Left" +msgstr "Cursor cap a l'Esquerra" + +msgid "Caret Word Left" +msgstr "Cursor una paraula cap a l'esquerra" + +msgid "Caret Right" +msgstr "Cursor cap a la dreta" + +msgid "Caret Word Right" +msgstr "Cursor una paraula cap a la dreta" + +msgid "Caret Up" +msgstr "Cursor cap amunt" + +msgid "Caret Down" +msgstr "Cursor cap avall" + +msgid "Caret Line Start" +msgstr "Cursor al principi de línia" + +msgid "Caret Line End" +msgstr "Cursor al final de línia" + +msgid "Caret Page Up" +msgstr "Cursor una pàgina amunt" + +msgid "Caret Page Down" +msgstr "Cursor una pàgina avall" + +msgid "Caret Document Start" +msgstr "Cursor al principi del document" + +msgid "Caret Document End" +msgstr "Cursor al final del document" + +msgid "Caret Add Below" +msgstr "Afegeix el cursor cap avall" + +msgid "Caret Add Above" +msgstr "Afegeix el cursor cap amunt" + +msgid "Scroll Up" +msgstr "Enrotlla-ho amunt" + +msgid "Scroll Down" +msgstr "Enrotlla-ho avall" + msgid "Select All" msgstr "Selecciona-ho Tot" +msgid "Select Word Under Caret" +msgstr "Selecciona la paraula sota el cursor" + +msgid "Add Selection for Next Occurrence" +msgstr "Afegeix la selecció per la següent ocurrència" + +msgid "Clear Carets and Selection" +msgstr "Esborra els cursors i la Selecció" + +msgid "Toggle Insert Mode" +msgstr "Commuta el mode d'entrada" + +msgid "Submit Text" +msgstr "Envia el text" + msgid "Duplicate Nodes" -msgstr "Duplicar Nodes" +msgstr "Duplica Nodes" msgid "Delete Nodes" -msgstr "Eliminar Nodes" +msgstr "Elimina Nodes" + +msgid "Go Up One Level" +msgstr "Puja un nivell" msgid "Refresh" msgstr "Refresca" +msgid "Show Hidden" +msgstr "Mostra els Fitxers Ocults" + +msgid "Swap Input Direction" +msgstr "Inverteix la direcció d'entrada" + +msgid "Invalid input %d (not passed) in expression" +msgstr "Entrada no vàlida %d (no transmesa) en l'expressió" + msgid "self can't be used because instance is null (not passed)" -msgstr "self no es pot utilitzar perquè la instància és nul·la (no aprovada)" +msgstr "No es pot utilitzar 'self' perquè la instància és nul·la (no passada)" msgid "Invalid operands to operator %s, %s and %s." -msgstr "Els operands de %s, %s i %s no són vàlids." +msgstr "Els operands de l'operador %s: %s i %s no són vàlids." msgid "Invalid index of type %s for base type %s" msgstr "L'índex del tipus %s no és vàlid per al tipus base %s" @@ -102,6 +403,12 @@ msgstr "Els arguments per a construir '%s' no són vàlids" msgid "On call to '%s':" msgstr "En la crida a '%s':" +msgid "Built-in script" +msgstr "Script integrat" + +msgid "Built-in" +msgstr "Integrat" + msgid "B" msgstr "B" @@ -123,22 +430,60 @@ msgstr "PiB" msgid "EiB" msgstr "EiB" +msgid "Example: %s" +msgstr "Exemple: %s" + +msgid "%d item" +msgid_plural "%d items" +msgstr[0] "%d element" +msgstr[1] "%d elements" + msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'" msgstr "" -"Nom d'acció no vàlid. No pot estar buit ni contenir '/', ':', '=', '\\' o " -"'\"'" +"El nom de l'acció no és vàlid. No pot ser buit ni contenir '/', ':', '=', " +"'\\' o '\"'" msgid "An action with the name '%s' already exists." msgstr "Ja existeix una acció amb el nom '%s'." +msgid "Cannot Revert - Action is same as initial" +msgstr "No es pot revertir - l'acció és la mateixa que la inicial" + +msgid "Revert Action" +msgstr "Reverteix l'acció" + msgid "Add Event" -msgstr "Afegeix una Incidència" +msgstr "Afegeix un Esdeveniment" + +msgid "Remove Action" +msgstr "Elimina l'Acció" + +msgid "Cannot Remove Action" +msgstr "No es pot eliminar l'acció" + +msgid "Edit Event" +msgstr "Afegeix un Esdeveniment" + +msgid "Remove Event" +msgstr "Elimina Esdeveniment" + +msgid "Filter by name..." +msgstr "Filtra pel nom..." + +msgid "Clear All" +msgstr "Neteja-ho tot" + +msgid "Add New Action" +msgstr "Afegeix una nova Acció" msgid "Add" msgstr "Afegeix" +msgid "Show Built-in Actions" +msgstr "Mostra les accions integrades" + msgid "Action" msgstr "Acció" @@ -151,6 +496,9 @@ msgstr "Temps:" msgid "Value:" msgstr "Valor:" +msgid "Update Selected Key Handles" +msgstr "Actualitza les nanses clau seleccionades" + msgid "Insert Key Here" msgstr "Insereix una Clau aquí" @@ -160,26 +508,102 @@ msgstr "Duplica les Claus seleccionades" msgid "Delete Selected Key(s)" msgstr "Elimina les Claus seleccionades" +msgid "Make Handles Free" +msgstr "Allibera les nanses" + +msgid "Make Handles Linear" +msgstr "Fes lineals les nanses" + +msgid "Make Handles Balanced" +msgstr "Equilibra les nanses" + +msgid "Make Handles Mirrored" +msgstr "Fes simètriques les nanses" + +msgid "Make Handles Balanced (Auto Tangent)" +msgstr "Equilibra les nanses (auto-tangent)" + +msgid "Make Handles Mirrored (Auto Tangent)" +msgstr "Fes simètriques les nanses (auto-tangent)" + msgid "Add Bezier Point" -msgstr "Afegir punt Bezier" +msgstr "Afegeix un punt de Bézier" msgid "Move Bezier Points" -msgstr "Moure Punts Bezier" +msgstr "Mou els Punts de Bézier" + +msgid "Animation Duplicate Keys" +msgstr "Duplica les Claus de l'animació" + +msgid "Animation Delete Keys" +msgstr "Esborra les Claus de l'animació" + +msgid "Focus" +msgstr "Enfoca" + +msgid "Select All Keys" +msgstr "Selecciona totes les claus" + +msgid "Deselect All Keys" +msgstr "Desselecciona totes les claus" + +msgid "Animation Change Transition" +msgstr "Modifica la Transició de l'Animació" + +msgid "Animation Change %s" +msgstr "Canvi d'animació %s" + +msgid "Animation Change Keyframe Value" +msgstr "Modifica el valor del fotograma clau de l'animació" + +msgid "Animation Change Call" +msgstr "Canvia la crida de l'animació" + +msgid "Animation Multi Change Transition" +msgstr "Modifica diverses transicions d'animació" + +msgid "Animation Multi Change %s" +msgstr "Canvis múltiples %s de l'animació" + +msgid "Animation Multi Change Keyframe Value" +msgstr "Modifica el valor de diversos fotogrames clau de l'animació" msgid "Change Animation Length" -msgstr "Canviar la durada de l'Animació" +msgstr "Canvia la durada de l'Animació" msgid "Change Animation Loop" msgstr "Modifica el bucle d'Animació" +msgid "Can't change loop mode on animation instanced from imported scene." +msgstr "" +"No es pot canviar el mode de repetició d'animacions instanciades des d'una " +"escena importada." + +msgid "Can't change loop mode on animation embedded in another scene." +msgstr "" +"No es pot canviar el mode de repetició d'animacions incrustades en una altra " +"escena." + msgid "Property Track" msgstr "Pista de Propietats" +msgid "3D Position Track" +msgstr "Pista de posició 3D" + +msgid "3D Rotation Track" +msgstr "Pista de rotació 3D" + +msgid "3D Scale Track" +msgstr "Pista de l'escala 3D" + +msgid "Blend Shape Track" +msgstr "Pista de barreja de formes" + msgid "Call Method Track" msgstr "Pista de Crida de Mètodes" msgid "Bezier Curve Track" -msgstr "Pista de Corbes Bezier" +msgstr "Pista de Corbes de Bézier" msgid "Audio Playback Track" msgstr "Pista de reproducció d'Àudio" @@ -205,12 +629,18 @@ msgstr "Funcions:" msgid "Audio Clips:" msgstr "Talls d'Àudio:" +msgid "Animation Clips:" +msgstr "Clips d'animació:" + msgid "Change Track Path" -msgstr "Canviar el camí de la pista" +msgstr "Canvia el camí de la pista" msgid "Toggle this track on/off." msgstr "Activa/Desactiva la Pista." +msgid "Use Blend" +msgstr "Utilitza la barreja" + msgid "Update Mode (How this property is set)" msgstr "Mode d'Actualització (Configuració d'aquesta propietat)" @@ -221,7 +651,7 @@ msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" msgstr "Mode de Bucle Continu (Interpola el final amb l'inici del bucle)" msgid "Remove this track." -msgstr "Treu la Pista." +msgstr "Elimina aquesta pista." msgid "Time (s):" msgstr "Temps (s):" @@ -235,12 +665,39 @@ msgstr "Rotació:" msgid "Scale:" msgstr "Escala:" +msgid "Blend Shape:" +msgstr "Forma de Barreja:" + msgid "Type:" msgstr "Tipus:" msgid "(Invalid, expected type: %s)" msgstr "(No vàlid, tipus esperat: %s)" +msgid "Easing:" +msgstr "Transició d'entrada-sortida:" + +msgid "In-Handle:" +msgstr "Nansa d'entrada:" + +msgid "Out-Handle:" +msgstr "Nansa de sortida:" + +msgid "Handle mode: Free\n" +msgstr "Mode de manipulació: Lliure\n" + +msgid "Handle mode: Linear\n" +msgstr "Mode de manipulació: Lineal\n" + +msgid "Handle mode: Balanced\n" +msgstr "Mode de manipulació: Equilibrat\n" + +msgid "Handle mode: Mirrored\n" +msgstr "Mode de manipulació: Simètric\n" + +msgid "Stream:" +msgstr "Flux:" + msgid "Start (s):" msgstr "Inici (s):" diff --git a/editor/translations/editor/cs.po b/editor/translations/editor/cs.po index e9a8d5f83d..d6d8c49d54 100644 --- a/editor/translations/editor/cs.po +++ b/editor/translations/editor/cs.po @@ -34,13 +34,14 @@ # Lubomír Baloun <lubosbaloun@gmail.com>, 2022. # Ondřej Pavelka <flamekick97@gmail.com>, 2022, 2023. # ElisHoli <eliskaholz@seznam.cz>, 2023. +# Bluie <hruza.ondrej@gmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-18 04:10+0000\n" -"Last-Translator: Vojtěch Šamla <auzkok@seznam.cz>\n" +"PO-Revision-Date: 2023-03-08 00:26+0000\n" +"Last-Translator: Bluie <hruza.ondrej@gmail.com>\n" "Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/" "cs/>\n" "Language: cs\n" @@ -48,7 +49,10 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 4.16-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" + +msgid "Physical" +msgstr "Fyzická Klávesa" msgid "Left Mouse Button" msgstr "Levé tlačítko myši" @@ -59,6 +63,9 @@ msgstr "Pravé tlačítko myši" msgid "Middle Mouse Button" msgstr "Prostřední tlačítko myši" +msgid "Mouse Wheel Down" +msgstr "Kolečko dolů" + msgid "Button" msgstr "Tlačítko" diff --git a/editor/translations/editor/de.po b/editor/translations/editor/de.po index 4289a9054f..14da0ea30b 100644 --- a/editor/translations/editor/de.po +++ b/editor/translations/editor/de.po @@ -95,13 +95,14 @@ # Jummit <jummit@web.de>, 2023. # Ettore Atalan <atalanttore@googlemail.com>, 2023. # Luke Pucknat <lukesollichstun@gmail.com>, 2023. +# Haoyu Qiu <timothyqiu32@gmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-28 22:26+0000\n" -"Last-Translator: Luke Pucknat <lukesollichstun@gmail.com>\n" +"PO-Revision-Date: 2023-03-13 13:25+0000\n" +"Last-Translator: <artism90@googlemail.com>\n" "Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" "godot/de/>\n" "Language: de\n" @@ -109,7 +110,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-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Unset" msgstr "Nicht gesetzt" @@ -1176,7 +1177,7 @@ msgstr[1] "%d Übereinstimmungen" msgid "%d of %d match" msgid_plural "%d of %d matches" -msgstr[0] "%d von %d Übereinstimmungen" +msgstr[0] "%d von %d Übereinstimmung" msgstr[1] "%d von %d Übereinstimmungen" msgid "Match Case" @@ -1411,7 +1412,7 @@ msgid "Debug" msgstr "Debuggen" msgid "Save Branch as Scene" -msgstr "Speichere Verzweigung als Szene" +msgstr "Zweig als Szene speichern" msgid "Copy Node Path" msgstr "Node-Pfad kopieren" @@ -2885,10 +2886,10 @@ msgid "Element %d: %s%d*" msgstr "Element %d: %s%d*" msgid "Move Up" -msgstr "Schiebe hoch" +msgstr "Hoch schieben" msgid "Move Down" -msgstr "Schiebe runter" +msgstr "Runter schieben" msgid "Insert New Before" msgstr "Neues davor einfügen" @@ -4840,10 +4841,10 @@ msgid "Edit Dependencies..." msgstr "Abhängigkeiten bearbeiten..." msgid "View Owners..." -msgstr "Zeige Besitzer..." +msgstr "Besitzer anzeigen…" msgid "Move To..." -msgstr "Verschiebe zu..." +msgstr "Verschieben nach…" msgid "Folder..." msgstr "Ordner…" @@ -5065,20 +5066,20 @@ msgid "" "It is recommended to set this value (either manually or by clicking on a " "beat number in the preview) to ensure looping works properly." msgstr "" -"Konfiguriert die Anzahl der benutzen Beats für Musik-bewusstes Wiederholen. " -"Falls Null, wird sie automatisch aus der Länger abgeleitet.\n" +"Konfiguriert die Anzahl der benutzen Beats für Musik-bewusste Schleifen. " +"Falls Null, wird sie automatisch aus der Länge abgeleitet.\n" "Es wird empfohlen diesen Wert festzulegen (entweder manuell oder durch " -"klicken auf den Beat-Zähler in der Vorschau) um sicherzustellen dass das " +"klicken auf den Beat-Zähler in der Vorschau) um sicherzustellen, dass das " "Wiederholen richtig funktioniert." msgid "Bar Beats:" -msgstr "Takt-Beats:" +msgstr "Taktschläge:" msgid "" "Configure the Beats Per Bar. This used for music-aware transitions between " "AudioStreams." msgstr "" -"Konfiguriert die Beats pro Takt. Dies wird verwendet für Musik-bewusste " +"Konfiguriert die Schläge pro Takt. Dies wird verwendet für Musik-bewusste " "Übergänge zwischen AudioStreams." msgid "Music Playback:" @@ -8363,7 +8364,7 @@ msgid "Reset Field of View to Default" msgstr "Sichtfeld auf Standardwert zurücksetzen" msgid "Transform" -msgstr "Transformation" +msgstr "Transform, Tranformation, Transformierung?" msgid "Snap Object to Floor" msgstr "Objekt am Boden einrasten" @@ -9268,6 +9269,10 @@ msgstr "" "Bearbeitungsmodus\n" "Knöpfe an Gelenken anzeigen." +msgid "Insert key of bone poses already exist track." +msgstr "" +"Schlüssel der Knochenposen einfügen, die bereits in der Spur vorhanden sind." + msgid "Insert key of all bone poses." msgstr "Schlüssel einfügen für alle Knochenposen." @@ -10166,6 +10171,9 @@ msgstr "Zeichenkachel-Eigenschaft" msgid "Painting:" msgstr "Anmalend:" +msgid "Picker" +msgstr "Pipette" + msgid "No terrains" msgstr "Keine Gelände" @@ -10233,9 +10241,6 @@ msgstr "Rechteck" msgid "Bucket" msgstr "Eimer" -msgid "Picker" -msgstr "Pipette" - msgid "Alternatively hold Ctrl with other tools to pick tile." msgstr "Alternativ Strg mit anderen Werkzeugen halten um Kachel auszuwählen." @@ -10587,7 +10592,7 @@ msgid "Tile properties:" msgstr "Kacheleigenschaften:" msgid "TileSet" -msgstr "Kachelsatz" +msgstr "TileSet" msgid "TileMap" msgstr "TileMap" @@ -10977,7 +10982,7 @@ msgid "Light" msgstr "Licht" msgid "Process" -msgstr "Verarbeiten" +msgstr "Prozessverhalten" msgid "Collide" msgstr "Kollision" @@ -11967,6 +11972,15 @@ msgstr "Visuelle Eigenschaft bearbeiten:" msgid "Visual Shader Mode Changed" msgstr "Visual-Shader-Modus geändert" +msgid "Voxel GI data is not local to the scene." +msgstr "Voxel-GI-Daten sind nicht szenenbezogen." + +msgid "Voxel GI data is part of an imported resource." +msgstr "Voxel-GI-Daten sind Teil einer importierten Ressource." + +msgid "Voxel GI data is an imported resource." +msgstr "Voxel-GI-Daten sind eine importierte Ressource." + msgid "Bake VoxelGI" msgstr "VoxelGI backen" @@ -12426,6 +12440,29 @@ msgstr "Alles entfernen" msgid "Also delete project contents (no undo!)" msgstr "Ebenfalls Projektinhalte löschen (nicht rückgängig machbar!)" +msgid "" +"This option will perform full project conversion, updating scenes, resources " +"and scripts from Godot 3.x to work in Godot 4.0.\n" +"\n" +"Note that this is a best-effort conversion, i.e. it makes upgrading the " +"project easier, but it will not open out-of-the-box and will still require " +"manual adjustments.\n" +"\n" +"IMPORTANT: Make sure to backup your project before converting, as this " +"operation makes it impossible to open it in older versions of Godot." +msgstr "" +"Mit dieser Option wird eine vollständige Projektkonvertierung durchgeführt, " +"bei der Szenen, Ressourcen und Skripte aus Godot 3.x aktualisiert werden um " +"mit Godot 4.0 funktionieren.\n" +"\n" +"Es handelt sich hierbei lediglich um eine automatische Konvertierung, welche " +"die Aktualisierung des Projekts erleichtert. Es kann weiterhin vorkommen, " +"dass sich das Projekt danach nicht öffnen lässt und weitere manuelle " +"Anpassungen erforderlich sind.\n" +"\n" +"WICHTIG: Bitte Projekt vor der Konvertierung unbedingt sichern, da es durch " +"diesen Vorgang unmöglich wird, es in älteren Godot-Versionen zu öffnen." + msgid "Can't run project" msgstr "Projekt kann nicht ausgeführt werden" @@ -12458,6 +12495,9 @@ msgstr "Eingabeaktionsereignis(se) ändern" msgid "Erase Input Action" msgstr "Eingabeaktion löschen" +msgid "Rename Input Action" +msgstr "Eingabeaktion umbenennen" + msgid "Update Input Action Order" msgstr "Reihenfolge der Eingabeaktionen aktualisieren" @@ -12480,6 +12520,9 @@ msgstr "Eingabe-Zuordnung" msgid "Localization" msgstr "Lokalisierung" +msgid "Autoload" +msgstr "Automatisches Laden" + msgid "Shader Globals" msgstr "Globale Shader-Variablen" @@ -12648,6 +12691,10 @@ msgstr "Leer lassen, um den Szenennamen zu verwenden" msgid "Create New Scene" msgstr "Szene erstellen" +msgid "No parent to instantiate a child at." +msgstr "" +"Kein Node, unter dem das Unterobjekt instantiiert werden könnte, vorhanden." + msgid "No parent to instantiate the scenes at." msgstr "" "Kein Eltern-Node, unter dem Szenen instanziiert werden können, vorhanden." @@ -12666,7 +12713,10 @@ msgid "Instantiate Scene(s)" msgstr "Szene(n) instantiieren" msgid "Replace with Branch Scene" -msgstr "Mit verzweigter Szene ersetzen" +msgstr "Mit Zweig-Szene ersetzen" + +msgid "Instantiate Child Scene" +msgstr "Unterszene instantiieren" msgid "Detach Script" msgstr "Skript loslösen" @@ -12726,6 +12776,28 @@ msgstr "" "sein. Es sind allerdings %d Nodes ausgewählt." msgid "" +"Can't save the root node branch as an instantiated scene.\n" +"To create an editable copy of the current scene, duplicate it using the " +"FileSystem dock context menu\n" +"or create an inherited scene using Scene > New Inherited Scene... instead." +msgstr "" +"Der Wurzel-Zweig kann nicht als instantiierte Szene gespeichert werden.\n" +"Eine bearbeitbare Kopie der aktuellen Szene kann mittels „Duplizieren…“ im " +"Kontextmenü\n" +"der Dateisystemleiste oder im Menü unter „Szene > Neue geerbte Szene…“ " +"erstellt werden." + +msgid "" +"Can't save the branch of an already instantiated scene.\n" +"To create a variation of a scene, you can make an inherited scene based on " +"the instantiated scene using Scene > New Inherited Scene... instead." +msgstr "" +"Zweig einer bereits instantiierten Szene kann nicht gespeichert werden.\n" +"Um eine Abwandlung der Szene zu erstellen, kann eine geerbten Szene, basiert " +"auf der instantiierten Szene, im Menü unter „Szene > Neue geerbte Szene…“ " +"erzeugt werden." + +msgid "" "Can't save a branch which is a child of an already instantiated scene.\n" "To save this branch into its own scene, open the original scene, right click " "on this branch, and select \"Save Branch as Scene\"." @@ -12791,15 +12863,25 @@ msgstr "Zu Node-Favoriten wechseln" msgid "Other Node" msgstr "Anderer Node" +msgid "Paste From Clipboard" +msgstr "Aus Zwischenablage einfügen" + msgid "Can't operate on nodes from a foreign scene!" msgstr "Bearbeiten von Nodes einer fremden Szene ist nicht möglich!" msgid "Can't operate on nodes the current scene inherits from!" msgstr "Kann Nodes, von denen die aktuelle Szene erbt, nicht bearbeiten!" +msgid "This operation can't be done on instantiated scenes." +msgstr "" +"Diese Operation kann nicht auf instantiierten Szenen ausgeführt werden." + msgid "Attach Script" msgstr "Skript hinzufügen" +msgid "Set Shader" +msgstr "Shader festlegen" + msgid "Cut Node(s)" msgstr "Node(s) trennen" @@ -12825,9 +12907,18 @@ msgstr "Fehler beim Speichern der Szene." msgid "Error duplicating scene to save it." msgstr "Fehler beim Duplizieren der Szene zum Speichern." +msgid "Instantiate Script" +msgstr "Skript instantiieren" + msgid "Sub-Resources" msgstr "Unter-Ressourcen" +msgid "Revoke Unique Name" +msgstr "Eindeutigen Namen zurückrufen" + +msgid "Access as Unique Name" +msgstr "Über eindeutigen Namen zugreifen" + msgid "Clear Inheritance" msgstr "Löse Vererbung" @@ -12837,13 +12928,29 @@ msgstr "Bearbeitbare Unterobjekte" msgid "Load As Placeholder" msgstr "Als Platzhalter laden" +msgid "Auto Expand to Selected" +msgstr "Automatisch auf Auswahl vergrößern" + msgid "Filters" msgstr "Filter" +msgid "Filter by Type" +msgstr "Nach Typ filtern" + +msgid "Filter by Group" +msgstr "Nach Gruppe filtern" + msgid "Selects all Nodes of the given type." msgstr "Wählt alle Nodes des angegebenen Typs aus." msgid "" +"Selects all Nodes belonging to the given group.\n" +"If empty, selects any Node belonging to any group." +msgstr "" +"Wählt alle Nodes die zur gegebenen Gruppe gehören aus.\n" +"Falls leer, wählt alle Nodes die einer Gruppe angehören aus." + +msgid "" "Cannot attach a script: there are no languages registered.\n" "This is probably because this editor was built with all language modules " "disabled." @@ -12860,6 +12967,9 @@ msgstr "Node(s) einfügen" msgid "Add Child Node" msgstr "Node hier anhängen" +msgid "Expand/Collapse Branch" +msgstr "Zweig aus-/einklappen" + msgid "Change Type" msgstr "Typ ändern" @@ -12869,6 +12979,9 @@ msgstr "Node unter neues Node hängen" msgid "Make Scene Root" msgstr "Als Szenen-Wurzel festlegen" +msgid "Toggle Access as Unique Name" +msgstr "Zugriff über einzigartigen Namen umschalten" + msgid "Delete (No Confirm)" msgstr "Löschen (keine Bestätigung)" @@ -12888,6 +13001,9 @@ msgstr "Ein neues oder existierendes Skript dem ausgewählten Node anhängen." msgid "Detach the script from the selected node." msgstr "Skript vom ausgewählten Node loslösen." +msgid "Extra scene options." +msgstr "Weitere Szeneneinstellungen." + msgid "Remote" msgstr "Fern" @@ -12941,6 +13057,15 @@ msgid_plural "Node is in the following groups:" msgstr[0] "Node ist in dieser Gruppe:" msgstr[1] "Node ist in diesen Gruppen:" +msgid "Click to show signals dock." +msgstr "Hier klicken um Signalleiste anzuzeigen." + +msgid "This script is currently running in the editor." +msgstr "Dieses Skript wird gerade im Editor ausgeführt." + +msgid "This script is a custom type." +msgstr "Dies ist ein Skript benutzerdefinierten Typs." + msgid "Open Script:" msgstr "Skript öffnen:" @@ -12952,12 +13077,22 @@ msgstr "" "Zum Entsperren klicken." msgid "" +"Children are not selectable.\n" +"Click to make them selectable." +msgstr "" +"Unterobjekte sind nicht auswählbar.\n" +"Klicken um auswählbar zu machen." + +msgid "" "AnimationPlayer is pinned.\n" "Click to unpin." msgstr "" "AnimationPlayer ist angeheftet.\n" "Zum Losheften klicken." +msgid "\"%s\" is not a known filter." +msgstr "„%s“ ist kein bekannter Filter." + msgid "Invalid node name, the following characters are not allowed:" msgstr "" "Ungültiger Name für ein Node, die folgenden Zeichen sind nicht gestattet:" @@ -12984,9 +13119,15 @@ msgstr "Pfad ist leer." msgid "Filename is empty." msgstr "Dateiname ist leer." +msgid "Filename is invalid." +msgstr "Dateiname ist ungültig." + msgid "Path is not local." msgstr "Pfad ist nicht lokal." +msgid "Base path is invalid." +msgstr "Basispfad ist ungültig." + msgid "A directory with the same name exists." msgstr "Ein Verzeichnis mit gleichem Namen existiert bereits." @@ -12996,6 +13137,9 @@ msgstr "Datei existiert nicht." msgid "Invalid extension." msgstr "Ungültige Dateiendung." +msgid "Extension doesn't match chosen language." +msgstr "Die Erweiterung passt nicht zur gewählten Sprache." + msgid "Template:" msgstr "Vorlage:" @@ -13044,12 +13188,21 @@ msgstr "Eingebettetes Skript (in Szenedatei)." msgid "Will create a new script file." msgstr "Dies wird eine neue Skriptdatei erstellen." +msgid "Using existing script file." +msgstr "Existierende Skriptdatei unter Verwendung." + msgid "Will load an existing script file." msgstr "Dies wird eine bestehende Skriptdatei laden." msgid "Script file already exists." msgstr "Skriptdatei existiert bereits." +msgid "No suitable template." +msgstr "Keine passende Vorlage." + +msgid "Empty" +msgstr "leer" + msgid "" "Note: Built-in scripts have some limitations and can't be edited using an " "external editor." @@ -13073,15 +13226,68 @@ msgstr "Eingebettetes Skript:" msgid "Attach Node Script" msgstr "Node-Skript hinzufügen" +msgid "Error - Could not create shader include in filesystem." +msgstr "Fehler - Shader-Include konnte nicht im Dateisystem erstellt werden." + +msgid "Error - Could not create shader in filesystem." +msgstr "Fehler - Shader konnte nicht im Dateisystem erstellt werden." + +msgid "Error loading shader from %s" +msgstr "Fehler beim Laden des Shaders von %s" + +msgid "Open Shader / Choose Location" +msgstr "Shader öffnen / Pfad auswählen" + msgid "Invalid base path." msgstr "Ungültiger Basispfad." msgid "Wrong extension chosen." msgstr "Falsche Dateiendung ausgewählt." +msgid "Shader path/name is valid." +msgstr "Shader-Pfad oder -Name ist gültig." + +msgid "Built-in shader (into scene file)." +msgstr "Eingebetteter Shader (in Szenedatei)." + +msgid "Will create a new shader file." +msgstr "Erzeugt eine neue Shader-Datei." + +msgid "Will load an existing shader file." +msgstr "Lädt eine existierende Shader-Datei." + +msgid "Shader file already exists." +msgstr "Shader-Datei existiert bereits." + +msgid "Note: Built-in shaders can't be edited using an external editor." +msgstr "" +"Hinweis: Eingebettete Shader können nicht mit einem externen Editor " +"bearbeitet werden." + msgid "Mode:" msgstr "Modus:" +msgid "Built-in Shader:" +msgstr "Eingebetteter Shader:" + +msgid "Create Shader" +msgstr "Shader erstellen" + +msgid "Set Shader Global Variable" +msgstr "Globale Variable für Shader festlegen" + +msgid "Please specify a valid shader uniform identifier name." +msgstr "Bitte gültigen Shader-Uniform-Bezeichnernamen eingeben." + +msgid "Global shader parameter '%s' already exists'" +msgstr "Der globale Shader-Parameter ‚%s‘ existiert bereits" + +msgid "Name '%s' is a reserved shader language keyword." +msgstr "Der Name ‚%s‘ ist ein reserviertes Schlüsselwort der Shader-Sprache." + +msgid "Add Shader Global Parameter" +msgstr "Globalen Parameter für Shader hinzufügen" + msgid "Change Cylinder Radius" msgstr "Zylinderradius ändern" @@ -13123,9 +13329,85 @@ msgstr "Ungültiges Instanz-Verzeichnisformat (ungültiges Skript in @path)" msgid "Invalid instance dictionary (invalid subclasses)" msgstr "Ungültiges Instanz-Verzeichnisformat (ungültige Unterklasse)" +msgid "Value of type '%s' can't provide a length." +msgstr "Ein Wert des Typs ‚%s‘ kann keine Länge beinhalten." + +msgid "" +"Invalid type argument for is_instance_of(), use TYPE_* constants for built-" +"in types." +msgstr "" +"Ungültiges Typargument für is_instance_of(). Bitte TYPE_*-Konstanten für " +"eingebaute Typen verwenden." + +msgid "Type argument is a previously freed instance." +msgstr "Das Typargument ist eine zuvor freigegebene Instanz." + +msgid "" +"Invalid type argument for is_instance_of(), should be a TYPE_* constant, a " +"class or a script." +msgstr "" +"Ungültiges Typargument für is_instance_of(). Bitte TYPE_*-Konstante, Klasse " +"oder Skript verwenden." + +msgid "Value argument is a previously freed instance." +msgstr "Wert-Argument ist eine zuvor freigegebene Instanz." + +msgid "Export Scene to glTF 2.0 File" +msgstr "Szene als glTF-2.0-Datei exportieren" + +msgid "glTF 2.0 Scene..." +msgstr "glTF-2.0-Szene…" + +msgid "Path does not contain a Blender installation." +msgstr "Pfad führt nicht zu einer Blender-Installation." + +msgid "Can't execute Blender binary." +msgstr "Blender-Anwendung kann nicht ausgeführt werden." + +msgid "Unexpected --version output from Blender binary at: %s" +msgstr "Unerwartete --version-Ausgabe von Blender-Anwendung bei: %s" + +msgid "Path supplied lacks a Blender binary." +msgstr "Der übergebene Pfad führt nicht zu einer Blender-Anwendung." + +msgid "This Blender installation is too old for this importer (not 3.0+)." +msgstr "" +"Diese Blender-Installation ist zu alt für den Importer (3.0 oder neuer " +"benötigt)." + +msgid "This Blender installation is too new for this importer (not 3.x)." +msgstr "Diese Blender-Installation ist zu neu für den Importer (3.x benötigt)." + +msgid "Path to Blender installation is valid (Autodetected)." +msgstr "Pfad zur Blender-Installation ist gültig (automatisch ermittelt)." + msgid "Path to Blender installation is valid." msgstr "Pfad zu Blender ist gültig." +msgid "Configure Blender Importer" +msgstr "Blender-Importer konfigurieren" + +msgid "" +"Blender 3.0+ is required to import '.blend' files.\n" +"Please provide a valid path to a Blender installation:" +msgstr "" +"Blender 3.0 oder neuer wird benötigt um ›.blend‹-Dateien zu importieren.\n" +"Bitte gültigen Pfad zu einer Blender-Installation angeben:" + +msgid "Disable '.blend' Import" +msgstr "›.blend‹-Importe deaktivieren" + +msgid "" +"Disables Blender '.blend' files import for this project. Can be re-enabled " +"in Project Settings." +msgstr "" +"Deaktiviert Blender-Importe aus ›.blend‹-Dateien für dieses Projekt. Kann in " +"den Projekteinstellungen reaktiviert werden." + +msgid "Disabling '.blend' file import requires restarting the editor." +msgstr "" +"›.blend‹-Datei-Importe zu deaktivieren erfordert einen Neustart des Editors." + msgid "Next Plane" msgstr "Nächste Ebene" @@ -13210,12 +13492,54 @@ msgstr "GridMap-Einstellungen" msgid "Pick Distance:" msgstr "Auswahlradius:" +msgid "Filter Meshes" +msgstr "Meshes filtern" + msgid "Give a MeshLibrary resource to this GridMap to use its meshes." msgstr "GridMap zu MeshLibrary hinzufügen um ihre Meshes benutzen zu können." +msgid "Determining optimal atlas size" +msgstr "Am Ermitteln der optimalen Atlasgröße" + +msgid "Blitting albedo and emission" +msgstr "Am Durchführen von Albedo und Emissions-Blitting" + +msgid "Plotting mesh into acceleration structure %d/%d" +msgstr "Am Einzeichnen des Meshs in einen Beschleunigungsstruktur %d/%d" + +msgid "Optimizing acceleration structure" +msgstr "Am Optimieren der Beschleunigungsstruktur" + msgid "Begin Bake" msgstr "Backen beginnen" +msgid "Preparing shaders" +msgstr "Am Vorbereiten der Shader" + +msgid "Un-occluding geometry" +msgstr "Am Aufheben der Geometrieverdeckung" + +msgid "Plot direct lighting" +msgstr "Indirektes Licht aufzeichnen" + +msgid "Integrate indirect lighting" +msgstr "Indirektes Licht integrieren" + +msgid "Bounce %d/%d: Integrate indirect lighting %d%%" +msgstr "Stoß %d/%d: Integriere indirekte Beleuchtung %d%%" + +msgid "Baking lightprobes" +msgstr "Am Backen von Lichtsonden" + +msgid "Integrating light probes %d%%" +msgstr "Am Integrieren von Lichtsonden %d%%" + +msgid "Denoising" +msgstr "Entrauschen" + +msgid "Retrieving textures" +msgstr "Am Textur-Laden" + msgid "Class name can't be a reserved keyword" msgstr "Der Klassenname kann nicht ein reserviertes Schlüsselwort sein" @@ -13225,15 +13549,59 @@ msgstr "Solution bauen" msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Nicht genügend Bytes zur Dekodierung oder ungültiges Format." +msgid "" +"Unable to load .NET runtime, no compatible version was found.\n" +"Attempting to create/edit a project will lead to a crash.\n" +"\n" +"Please install the .NET SDK 6.0 or later from https://dotnet.microsoft.com/" +"en-us/download and restart Godot." +msgstr "" +".NET-Laufzeitumgebung konnte nicht geladen werden. Es wurde keine kompatible " +"Version gefunden.\n" +"Der Versuch ein Projekt zu erstellen oder zu bearbeiten wird fehlschlagen.\n" +"\n" +"Bitte .NET SDK 6.0 oder neuer aus https://dotnet.microsoft.com/en-us/" +"download installieren und Godot neustarten." + +msgid "Failed to load .NET runtime" +msgstr ".NET-Laufzeitumgebung konnte nicht geladen werden" + +msgid "" +"Unable to load .NET runtime, specifically hostfxr.\n" +"Attempting to create/edit a project will lead to a crash.\n" +"\n" +"Please install the .NET SDK 6.0 or later from https://dotnet.microsoft.com/" +"en-us/download and restart Godot." +msgstr "" +".NET-Laufzeitumgebung konnte nicht geladen werden, insbesondere ›hostfxr‹.\n" +"Der Versuch ein Projekt zu erstellen oder zu bearbeiten wird fehlschlagen.\n" +"\n" +"Bitte .NET SDK 6.0 oder neuer aus https://dotnet.microsoft.com/en-us/" +"download installieren und Godot neustarten." + +msgid "%d (%s)" +msgstr "%d (%s)" + msgid "%s/s" msgstr "%s/s" +msgctxt "Network" +msgid "Down" +msgstr "Eingehend" + +msgctxt "Network" +msgid "Up" +msgstr "Ausgehend" + msgid "Incoming RPC" msgstr "Eingehender RPC" msgid "Outgoing RPC" msgstr "Ausgehender RPC" +msgid "Synchronizer" +msgstr "Synchronisierer" + msgid "Config" msgstr "Konfiguration" @@ -13246,19 +13614,100 @@ msgstr "Größe" msgid "Network Profiler" msgstr "Netzwerk-Profiler" +msgid "Replication" +msgstr "Nachbildung" + +msgid "Select a replicator node in order to pick a property to add to it." +msgstr "Ein Replicator-Node auswählen um ihm eine Eigenschaft hinzuzufügen." + msgid "Not possible to add a new property to synchronize without a root." msgstr "" "Ohne eine Wurzel kann keine neue Eigenschaft zum Synchronisieren hinzugefügt " "werden." +msgid "Property is already being synchronized." +msgstr "Diese Eigenschaft wird bereits synchronisiert." + +msgid "Add property to synchronizer" +msgstr "Eigenschaft zu Synchronisierer hinzufügen" + +msgid "Pick a node to synchronize:" +msgstr "Node zum Synchronisieren auswählen:" + +msgid "Add property to sync..." +msgstr "Eigenschaft zum Synchronisieren hinzufügen…" + +msgid "Add from path" +msgstr "Aus Pfad hinzufügen" + +msgid "Spawn" +msgstr "Spawn" + +msgid "" +"Add properties using the buttons above or\n" +"drag them them from the inspector and drop them here." +msgstr "" +"Eigenschaften können mittels der obigen Knöpfe oder mittels Ziehen\n" +"aus dem Inspektor und Loslassens an dieser Stelle hinzugefügt werden." + +msgid "Please select a MultiplayerSynchronizer first." +msgstr "Bitte zuerst MultiplayerSynchronizer auswählen." + +msgid "The MultiplayerSynchronizer needs a root path." +msgstr "Der MultiplayerSynchronizer benötigt einen Wurzelpfad." + +msgid "Set spawn property" +msgstr "Spawn-Eigenschaft festlegen" + +msgid "Set sync property" +msgstr "Sync-Eigenschaft festlegen" + msgid "Delete Property?" msgstr "Eigenschaft löschen?" +msgid "Remove Property" +msgstr "Eigenschaft entfernen" + +msgid "" +"A valid NodePath must be set in the \"Spawn Path\" property in order for " +"MultiplayerSpawner to be able to spawn Nodes." +msgstr "" +"Ein gültiger NodePath muss in der „Spawn Path“-Eigenschaft festgelegt " +"werden, damit der MultiplayerSpawner Nodes erzeugen kann." + +msgid "" +"A valid NodePath must be set in the \"Root Path\" property in order for " +"MultiplayerSynchronizer to be able to synchronize properties." +msgstr "" +"Ein gültiger NodePath muss in der „Root Path“-Eigenschaft festgelegt werden, " +"damit der MultiplayerSynchronizer Nodes synchronisieren kann." + msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" "Damit dieser Node funktionieren kann, muss eine NavigationMesh Ressource " "erzeugt oder gesetzt werden." +msgid "" +"Cannot generate navigation mesh because it does not belong to the edited " +"scene. Make it unique first." +msgstr "" +"Navigation-Mesh konnte nicht generiert werden, da es nicht zur bearbeiteten " +"Szene gehört. Es sollte zuerst einzigartig gemacht werden." + +msgid "" +"Cannot generate navigation mesh because it belongs to a resource which was " +"imported." +msgstr "" +"Navigation-Mesh konnte nicht generiert werden, da es zu einer Ressource, die " +"importiert wurde, gehört." + +msgid "" +"Cannot generate navigation mesh because the resource was imported from " +"another type." +msgstr "" +"Navigation-Mesh konnte nicht generiert werden, da die Ressource aus einem " +"anderen Typ importiert wurde." + msgid "Bake NavMesh" msgstr "NavMesh backen" @@ -13304,12 +13753,105 @@ msgstr "Parse Geometrie…" msgid "Done!" msgstr "Abgeschlossen!" +msgid "Toggles whether the noise preview is computed in 3D space." +msgstr "Legt fest ob die Rauschen-Vorschau im 3D-Raum berechnet werden soll." + +msgid "Rename Action" +msgstr "Aktion umbenennen" + +msgid "Rename Actions Localized name" +msgstr "Übersetzen Namen der Aktion umbenennen" + +msgid "Change Action Type" +msgstr "Aktionstyp ändern" + +msgid "Remove action" +msgstr "Aktion entfernen" + +msgid "Add action set" +msgstr "Aktionsmenge hinzufügen" + +msgid "Remove action set" +msgstr "Aktionsmenge entfernen" + +msgid "Add interaction profile" +msgstr "Interaktionsprofil hinzufügen" + +msgid "Error saving file %s: %s" +msgstr "Fehler beim Speichern von Datei: %s" + msgid "Error loading %s: %s." msgstr "Fehler beim Laden von %s: %s." +msgid "OpenXR Action map:" +msgstr "OpenXR-Aktionszuweisung:" + +msgid "Remove interaction profile" +msgstr "Interaktionsprofil entfernen" + +msgid "Action Map" +msgstr "Aktionszuweisung" + +msgid "Add Action Set" +msgstr "Aktionsmenge hinzufügen" + +msgid "Add an action set." +msgstr "Eine Aktionsmenge hinzufügen." + +msgid "Add profile" +msgstr "Profil hinzufügen" + +msgid "Add an interaction profile." +msgstr "Ein Interaktionsprofil hinzufügen." + +msgid "Save this OpenXR action map." +msgstr "OpenXR-Aktionszuweisung speichern." + +msgid "Reset to default OpenXR action map." +msgstr "Auf OpenXR-Standard-Aktionszuweisung zurücksetzen." + +msgid "Action Sets" +msgstr "Aktionsmengen" + +msgid "Rename Action Set" +msgstr "Aktionsmenge umbenennen" + +msgid "Rename Action Sets Localized name" +msgstr "Übersetzten Namen der Aktionsmenge umbenennen" + +msgid "Change Action Sets priority" +msgstr "Actionsmengenrangfolge ändern" + +msgid "Add action" +msgstr "Aktion hinzufügen" + +msgid "Delete action" +msgstr "Aktion löschen" + +msgid "OpenXR Action Map" +msgstr "OpenXR-Aktionszuweisung" + +msgid "Remove action from interaction profile" +msgstr "Aktion aus Interaktionsprofil entfernen" + +msgid "Add binding" +msgstr "Zuweisung hinzufügen" + +msgid "Remove binding" +msgstr "Zuweisung entfernen" + msgid "Pose" msgstr "Stellung kopieren" +msgid "Haptic" +msgstr "Haptik" + +msgid "Unknown" +msgstr "Unbekannt" + +msgid "Select an action" +msgstr "Eine Aktion auswählen" + msgid "Package name is missing." msgstr "Paketname fehlt." @@ -13329,6 +13871,13 @@ msgstr "" msgid "The package must have at least one '.' separator." msgstr "Das Paket muss mindestens einen Punkt-Unterteiler ‚.‘ haben." +msgid "" +"The project name does not meet the requirement for the package name format. " +"Please explicitly specify the package name." +msgstr "" +"Der Projektname entspricht nicht den Anforderungen eines Paketnamens. " +"Paketnamen bitte explizit angeben." + msgid "Select device from the list" msgstr "Gerät aus Liste auswählen" @@ -13416,10 +13965,32 @@ msgstr "Ungültiger öffentlicher Schlüssel für APK-Erweiterung." msgid "Invalid package name:" msgstr "Ungültiger Paketname:" +msgid "\"Use Gradle Build\" must be enabled to use the plugins." +msgstr "" +"„Gradle-Build verwenden“ muss aktiviert werden um die Plugins nutzen zu " +"können." + +msgid "OpenXR requires \"Use Gradle Build\" to be enabled" +msgstr "OpenXR benötigt ein aktiviertes „Gradle-Build verwenden“" + +msgid "\"Hand Tracking\" is only valid when \"XR Mode\" is \"OpenXR\"." +msgstr "" +"„Hand Tracking“ ist nur gültig wenn „XR Mode“ als „OpenXR“ gesetzt wurde." + msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"." msgstr "" "„Passthrough“ ist nur gültig wenn „XR Mode“ als „OpenXR“ gesetzt wurde." +msgid "\"Export AAB\" is only valid when \"Use Gradle Build\" is enabled." +msgstr "" +"„Export AAB“ ist nur gültig wenn „Gradle-Build verwenden“ aktiviert ist." + +msgid "" +"\"Min SDK\" can only be overridden when \"Use Gradle Build\" is enabled." +msgstr "" +"Das „Min SDK“ zu überschreiben ist nur möglich wenn „Gradle-Build verwenden“ " +"aktiviert ist." + msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid." msgstr "" "„Min SDK“ sollte eine gültige Ganzzahl sein, war aber „%s“, was ungültig ist." @@ -13432,9 +14003,15 @@ msgstr "" "Bibliothek benötigt." msgid "" +"\"Target SDK\" can only be overridden when \"Use Gradle Build\" is enabled." +msgstr "" +"„Target SDK“ kann nur überschrieben werden wenn „Gradle-Build verwenden“ " +"aktiviert ist." + +msgid "" "\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid." msgstr "" -"„Taret SDK“ sollte eine gültige Ganzzahl sein, war aber „%s“, was ungültig " +"„Target SDK“ sollte eine gültige Ganzzahl sein, war aber „%s“, was ungültig " "ist." msgid "" @@ -13449,10 +14026,30 @@ msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version." msgstr "" "Die „Target SDK“-Version muss größer gleich der „Min SDK“-Version sein." +msgid "" +"The \"%s\" renderer is designed for Desktop devices, and is not suitable for " +"Android devices." +msgstr "" +"Der „%s“-Renderer wurde für Desktop-Geräte entworfen und ist nicht für " +"Android-Geräte geeignet." + +msgid "\"Min SDK\" should be greater or equal to %d for the \"%s\" renderer." +msgstr "„Min SDK“ sollte größer gleich %d sein für den „%s“-Renderer." + msgid "Code Signing" msgstr "Code-Signieren" msgid "" +"All 'apksigner' tools located in Android SDK 'build-tools' directory failed " +"to execute. Please check that you have the correct version installed for " +"your target sdk version. The resulting %s is unsigned." +msgstr "" +"Alle ‚apksigner‘-Werkzeuge, welche im Android-SDK-‚build-tools‘-Verzeichnis " +"gefunden wurden, konnten nicht ausgeführt werden. Es ist zu überprüfen ob " +"die korrekte Version für das aktuelle Target-SDK installiert wurde. Das zur " +"Zeit resultierende %s ist nicht signiert." + +msgid "" "'apksigner' could not be found. Please check that the command is available " "in the Android SDK build-tools directory. The resulting %s is unsigned." msgstr "" @@ -13506,6 +14103,14 @@ msgid "Unsupported export format!" msgstr "Nicht unterstütztes Exportformat!" msgid "" +"Trying to build from a gradle built template, but no version info for it " +"exists. Please reinstall from the 'Project' menu." +msgstr "" +"Es wurde versucht aus einer Gradle-Build-Vorlage zu bauen aber es existieren " +"keine Versionsinformation für sie. Neuinstallation im ‚Projekt‘-Menü " +"benötigt." + +msgid "" "Android build version mismatch: Template installed: %s, Godot version: %s. " "Please reinstall Android build template from 'Project' menu." msgstr "" @@ -13585,6 +14190,29 @@ msgstr "Vorlagen vorbereiten" msgid "Export template not found." msgstr "Exportvorlage wurde nicht gefunden." +msgid "Code signing failed, see editor log for details." +msgstr "" +"Code-Signierung fehlgeschlagen, bitte weitere Details im Editor-Log " +"nachlesen." + +msgid "Xcode Build" +msgstr "Xcode-Build" + +msgid "Xcode project build failed, see editor log for details." +msgstr "" +"Xcode-Build fehlgeschlagen, bitte weitere Details im Editor-Log nachlesen." + +msgid ".ipa export failed, see editor log for details." +msgstr "" +".ipa-Export fehlgeschlagen, bitte weitere Details im Editor-Log nachlesen." + +msgid "" +".ipa can only be built on macOS. Leaving Xcode project without building the " +"package." +msgstr "" +".ipa können nur unter MacOS gebaut werden. Das Xcode-Projekt wird verlassen " +"ohne das Paket zu bauen." + msgid "App Store Team ID not specified - cannot configure the project." msgstr "" "App-Store-Team-ID nicht festgelegt – Projekt kann nicht konfiguriert werden." @@ -13598,6 +14226,15 @@ msgstr "Bezeichner fehlt." msgid "The character '%s' is not allowed in Identifier." msgstr "Das Zeichen ‚%s‘ ist in Bezeichnern nicht gestattet." +msgid "Debug Script Export" +msgstr "Skript-Export debuggen" + +msgid "Could not open file \"%s\"." +msgstr "Datei „%s“ konnte nicht geöffnet werden." + +msgid "Could not create console script." +msgstr "Konsolenskript konnte nicht erstellt werden." + msgid "Failed to open executable file \"%s\"." msgstr "Fehler beim Öffnen von ausführbarer Datei „%s“." @@ -13612,9 +14249,39 @@ msgstr "" msgid "Executable \"pck\" section not found." msgstr "„pck“-Sektor von ausführbarer Datei nicht gefunden." +msgid "Stop and uninstall" +msgstr "Beenden und deinstallieren" + +msgid "Run on remote Linux/BSD system" +msgstr "Auf fernem Linux/BSD-System ausführen" + +msgid "Stop and uninstall running project from the remote system" +msgstr "Laufendes Projekt auf Fernsystem beenden und deinstallieren" + +msgid "Run exported project on remote Linux/BSD system" +msgstr "Exportiertes Projekt auf fernem Linux/BSD-System ausführen" + +msgid "Running..." +msgstr "Wird ausgeführt…" + msgid "Could not create temp directory:" msgstr "Temporäres Verzeichnis konnte nicht erstellt werden:" +msgid "Exporting project..." +msgstr "Projekt wird exportiert…" + +msgid "Creating temporary directory..." +msgstr "Temporäres Verzeichnis wird erstellt…" + +msgid "Uploading archive..." +msgstr "Archiv wird hochgeladen…" + +msgid "Uploading scripts..." +msgstr "Skripte werden hochgeladen…" + +msgid "Starting project..." +msgstr "Projekt wird gestartet…" + msgid "Can't get filesystem access." msgstr "Dateisystemzugriff fehlgeschlagen." @@ -13678,9 +14345,32 @@ msgstr "Symbolbilddatei „%s“ konnte nicht geöffnet werden." msgid "Notarization" msgstr "Beglaubigung" +msgid "" +"rcodesign path is not set. Configure rcodesign path in the Editor Settings " +"(Export > macOS > rcodesign)." +msgstr "" +"‚rcodesign‘-Pfad wurde nicht festgelegt. Bitte ‚rcodesign‘-Pfad in den " +"Editoreinstellungen festlegen (Export > MacOS > rcodesign)." + +msgid "App Store Connect issuer ID name not specified." +msgstr "App-Store-Connect-Aussteller-ID nicht angegeben." + +msgid "App Store Connect API key ID not specified." +msgstr "App-Store-Connect-API-Schlüssel-ID nicht angegeben." + +msgid "Could not start rcodesign executable." +msgstr "‚rcodesign‘-Anwendung konnte nicht gestartet werden." + +msgid "Notarization failed, see editor log for details." +msgstr "" +"Beglaubigung fehlgeschlagen, bitte weitere Details im Editor-Log nachlesen." + msgid "Notarization request UUID: \"%s\"" msgstr "Beglaubigungsanfrage-UUID: „%s“" +msgid "The notarization process generally takes less than an hour." +msgstr "Der Beglaubigungsprozess dauert gewöhnlich weniger als eine Stunde." + msgid "" "You can check progress manually by opening a Terminal and running the " "following command:" @@ -13695,6 +14385,25 @@ msgstr "" "Mit folgendem Befehl kann die Beglaubigungsbescheinigung an die exportierte " "Anwendung geheftet werden (optional):" +msgid "Xcode command line tools are not installed." +msgstr "Xcode-Kommandozeilen-Hilfsprogramme sind nicht installiert." + +msgid "" +"Neither Apple ID name nor App Store Connect issuer ID name not specified." +msgstr "" +"Weder Apple-ID noch App-Store-Connect-Aussteller-ID-Name wurde angegeben." + +msgid "" +"Both Apple ID name and App Store Connect issuer ID name are specified, only " +"one should be set at the same time." +msgstr "" +"Sowohl Apple-ID als auch App-Store-Connect-Aussteller-ID-Name wurde " +"angegeben, allerdings sollte nur eins von beiden gleichzeitig festgelegt " +"werden." + +msgid "Apple ID password not specified." +msgstr "Apple-ID-Passwort nicht angegeben." + msgid "Could not start xcrun executable." msgstr "Xcrun-Anwendung konnte nicht gestartet werden." @@ -13712,6 +14421,13 @@ msgid "Built-in CodeSign require regex module." msgstr "Eingebettetes CodeSign benötigt Regex-Modul." msgid "" +"Xrcodesign path is not set. Configure rcodesign path in the Editor Settings " +"(Export > macOS > rcodesign)." +msgstr "" +"‚Xrcodesign‘-Pfad wurde nicht festgelegt. Bitte in den Projekteinstellungen " +"festlegen (Export > MacOS > rcodesign)." + +msgid "" "Could not start codesign executable, make sure Xcode command line tools are " "installed." msgstr "" @@ -13747,6 +14463,12 @@ msgstr "Es konnte keine Vorlagen-App zum Exportieren gefunden werden: „%s“." msgid "Invalid export format." msgstr "Ungültiges Exportformat." +msgid "Could not create directory: \"%s\"." +msgstr "Verzeichnis konnte nicht erstellt werden: „%s“." + +msgid "Could not create directory \"%s\"." +msgstr "Verzeichnis konnte nicht erstellt werden „%s“." + msgid "" "Relative symlinks are not supported on this OS, the exported project might " "be broken!" @@ -13754,6 +14476,12 @@ msgstr "" "Relative symbolische Links werden von diesem Betriebssystem nicht " "unterstützt, das exportierte Projekt könnte fehlerhaft sein!" +msgid "Could not created symlink \"%s\" -> \"%s\"." +msgstr "Symlink konnte nicht erstellt werden „%s“ → „%s“." + +msgid "Could not open \"%s\"." +msgstr "„%s“ konnte nicht geöffnet werden." + msgid "" "Requested template binary \"%s\" not found. It might be missing from your " "template archive." @@ -13764,6 +14492,9 @@ msgstr "" msgid "Making PKG" msgstr "Erzeuge PKG" +msgid "Entitlements Modified" +msgstr "Veränderte Berechtigungen" + msgid "" "Ad-hoc signed applications require the 'Disable Library Validation' " "entitlement to load dynamic libraries." @@ -13771,6 +14502,12 @@ msgstr "" "Ad-hoc signierte Anwendungen benötigen die ‚Disable Library Validation‘-" "Berechtigung um dynamische Bibliotheken zu laden." +msgid "Could not create entitlements file." +msgstr "Berechtigungsdatei konnte nicht erstellt werden." + +msgid "Could not create helper entitlements file." +msgstr "Berechtigungshelferdatei konnte nicht erstellt werden." + msgid "Code signing bundle" msgstr "Codesignierungs-Bundle" @@ -13803,9 +14540,44 @@ msgstr "" msgid "Notarization: Code signing is required for notarization." msgstr "Beglaubigung: Code-Signierung wird zur Beglaubigung benötigt." +msgid "Notarization: Xcode command line tools are not installed." +msgstr "" +"Beglaubigung: Die Xcode-Kommandozeilen-Hilfsprogramme sind nicht installiert." + +msgid "" +"Notarization: Neither Apple ID name nor App Store Connect issuer ID name not " +"specified." +msgstr "" +"Beglaubigung: Weder Apple-ID noch App-Store-Connect-Aussteller-ID-Name wurde " +"angegeben." + +msgid "" +"Notarization: Both Apple ID name and App Store Connect issuer ID name are " +"specified, only one should be set at the same time." +msgstr "" +"Beglaubigung: Sowohl Apple-ID als auch App-Store-Connect-Aussteller-ID-Name " +"wurde angegeben, allerdings sollte nur eins von beiden gleichzeitig " +"festgelegt werden." + msgid "Notarization: Apple ID password not specified." msgstr "Beglaubigung: Apple-ID-Passwort nicht angegeben." +msgid "Notarization: App Store Connect API key ID not specified." +msgstr "Beglaubigung: App-Store-Connect-API-Schlüssel-ID nicht angegeben." + +msgid "Notarization: Apple Team ID not specified." +msgstr "Beglaubigung: Apple-Team-ID nicht angegeben." + +msgid "Notarization: App Store Connect issuer ID name not specified." +msgstr "Beglaubigung: Apple-Store-Connect-Austeller-ID-Name nicht angegeben." + +msgid "" +"Notarization: rcodesign path is not set. Configure rcodesign path in the " +"Editor Settings (Export > macOS > rcodesign)." +msgstr "" +"Beglaubigung: rcodesign-Pfad wurde nicht festgelegt. In den " +"Editoreinstellungen festlegen (Export > MacOS > rcodesign)." + msgid "" "Warning: Notarization is disabled. The exported project will be blocked by " "Gatekeeper if it's downloaded from an unknown source." @@ -13822,6 +14594,25 @@ msgstr "" "Macs mit aktiviertem Gatekeeper oder Apple-Silicon-Macs ausführen lassen." msgid "" +"Code signing: Using ad-hoc signature. The exported project will be blocked " +"by Gatekeeper" +msgstr "" +"Code-Signieren: Benutze Ad-Hoc Signatur. Das exportierte Projekt wird von " +"Gatekeeper geblockt werden" + +msgid "Code signing: Xcode command line tools are not installed." +msgstr "" +"Code-Signieren: Die Xcode-Kommandozeilen-Hilfsprogramme sind nicht " +"installiert." + +msgid "" +"Code signing: rcodesign path is not set. Configure rcodesign path in the " +"Editor Settings (Export > macOS > rcodesign)." +msgstr "" +"Code-Signieren: rcodesig-Pfad nicht festgelegt. Bitte rcodesign-Pfad in " +"Editoreinstellungen festlegen (Export > MacOS >rcodesign)." + +msgid "" "Privacy: Microphone access is enabled, but usage description is not " "specified." msgstr "" @@ -13861,6 +14652,12 @@ msgstr "" "Privatsphäre: Photobibliothekszugriff ist aktiviert, aber keine " "Nutzungsbeschreibung angegeben." +msgid "Run on remote macOS system" +msgstr "Auf fernen MacOS-System ausführen" + +msgid "Run exported project on remote macOS system" +msgstr "Exportiertes Projekt auf fernen MacOS-System ausführen" + msgid "Invalid package short name." msgstr "Ungültiger Paket-Kurzname." @@ -13936,6 +14733,9 @@ msgstr "Führe exportiertes HTML im Standard-Browser des Betriebssystems aus." msgid "Resources Modification" msgstr "Ressourcen-Modifikationen" +msgid "Icon size \"%d\" is missing." +msgstr "Icon-Größe „%d“ fehlt." + msgid "Failed to rename temporary file \"%s\"." msgstr "Temporäre Datei „%s“ konnte nicht umbenannt werden." @@ -13945,6 +14745,19 @@ msgstr "Anwendung rcedit konnte nicht gefunden werden in „%s“." msgid "Could not find wine executable at \"%s\"." msgstr "Anwendung wine konnte nicht gefunden werden in „%s“." +msgid "Invalid icon file \"%s\"." +msgstr "Ungültige Symbolbilddatei „%s“." + +msgid "" +"Could not start rcedit executable. Configure rcedit path in the Editor " +"Settings (Export > Windows > rcedit), or disable \"Application > Modify " +"Resources\" in the export preset." +msgstr "" +"Anwendung rcedit konnte nicht gestartet werden. Bitte rcedit-Pfad in " +"Editoreinstellungen festlegen (Export > Windows > Rcedit) oder die " +"Einstellung „Application > Modify Resources“ in der Exportvorlage " +"deaktivieren." + msgid "rcedit failed to modify executable: %s." msgstr "Modifikation der Anwendung durch rcedit fehlgeschlagen: %s." @@ -13963,12 +14776,38 @@ msgstr "Ungültiger Identitäts-Typ." msgid "Invalid timestamp server." msgstr "Ungültiger Zeitstempelserver." +msgid "" +"Could not start signtool executable. Configure signtool path in the Editor " +"Settings (Export > Windows > signtool), or disable \"Codesign\" in the " +"export preset." +msgstr "" +"Anwendung signtool konnte nicht gestartet werden. Bitte signtool-Pfad in " +"Editoreinstellungen festlegen (Export > Windows > Signtool) oder Einstellung " +"„Codesign“ in Exportvorlage deaktivieren." + +msgid "" +"Could not start osslsigncode executable. Configure signtool path in the " +"Editor Settings (Export > Windows > osslsigncode), or disable \"Codesign\" " +"in the export preset." +msgstr "" +"Anwendung osslsigncode konnte nicht gestartet werden. Bitte signtool-Pfad in " +"Editoreinstellungen festlegen (Export > Windows > osslsigncode) oder " +"Einstellung „Codesign“ in Exportvorlage deaktivieren." + msgid "Signtool failed to sign executable: %s." msgstr "Signieren der Anwendung durch Signtool ist fehlgeschlagen: %s." msgid "Failed to remove temporary file \"%s\"." msgstr "Fehler beim entfernen temporärer Datei „%s“." +msgid "" +"The rcedit tool must be configured in the Editor Settings (Export > Windows " +"> rcedit) to change the icon or app information data." +msgstr "" +"Das Rcedit-Werkzeug muss in den Editoreinstellungen (Export > Windows > " +"Rcedit) festgelegt werden um Icon- oder Anwendungsinformation ändern zu " +"können." + msgid "Invalid icon path:" msgstr "Ungültiger Icon-Pfad:" @@ -13981,6 +14820,27 @@ msgstr "Ungültige Produktversion:" msgid "Windows executables cannot be >= 4 GiB." msgstr "Windows-Anwendungen können nicht größer als 4 GiB sein." +msgid "Run on remote Windows system" +msgstr "Auf fernem Windows-System ausführen" + +msgid "Run exported project on remote Windows system" +msgstr "Exportiertes Projekt auf fernem Windows-System ausführen" + +msgid "" +"A SpriteFrames resource must be created or set in the \"Frames\" property in " +"order for AnimatedSprite2D to display frames." +msgstr "" +"Eine SpriteFrames-Ressource muss in der „Frames“-Eigenschaft erzeugt oder " +"festgelegt werden, damit AnimatedSprite2D Einzelbilder anzeigen kann." + +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instantiated " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" +"Nur ein sichtbares CanvasModulate ist pro Szene (oder einem Satz von " +"instantiierten Szenen) erlaubt. Das zuerst erstellte wird verwendet, der " +"Rest wird ignoriert." + msgid "" "This node has no shape, so it can't collide or interact with other objects.\n" "Consider adding a CollisionShape2D or CollisionPolygon2D as a child to " @@ -13991,6 +14851,16 @@ msgstr "" "Es wird empfohlen, CollisionShape2D- oder CollisionPolygon2D-Unterobjekte " "hinzuzufügen, um seine Form festzulegen." +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, CharacterBody2D, etc. to give them a shape." +msgstr "" +"CollisionPolygon2D liefert nur eine Kollisionsform für einen von " +"CollisionObject2D abgeleiteten Node. Es kann nur als Unterobjekt von Area2D, " +"StaticBody2D, RigidBody2D, CharacterBody2D usw. eingehängt werden, um diesen " +"eine Form zu geben." + msgid "An empty CollisionPolygon2D has no effect on collision." msgstr "Ein leeres CollisionPolygon2D hat keinen Effekt auf Kollisionen." @@ -14011,11 +14881,21 @@ msgstr "" "Element ein Area2D ist." msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, CharacterBody2D, etc. to give them a shape." +msgstr "" +"CollisionShape2D liefert nur eine Kollisionsform für einen von " +"CollisionObject2D abgeleiteten Node. Es kann nur als Unterobjekt von Area2D, " +"StaticBody2D, RigidBody2D, CharacterBody2D usw. eingehängt werden, um diesen " +"eine Form zu geben." + +msgid "" "A shape must be provided for CollisionShape2D to function. Please create a " "shape resource for it!" msgstr "" -"Damit CollisionShape2D funktionieren kann, muss eine Form angegeben werden. " -"Bitte erzeuge eine Shape-Ressource dafür!" +"Ein CollisionShape2D benötigt zum Funktionieren eine zugeordnete Form. Um es " +"verwenden zu können, muss eine Shape-Ressource dafür erzeugt werden." msgid "" "Polygon-based shapes are not meant be used nor edited directly through the " @@ -14046,6 +14926,13 @@ msgstr "" "Particles2D-Animationen benötigen ein CanvasItemMaterial mit der Eigenschaft " "„Particles Animation“ aktiviert." +msgid "" +"Particle trails are only available when using the Forward+ or Mobile " +"rendering backends." +msgstr "" +"Partikelspuren werden nur vom Forward+ oder Mobile Rendering-Backend " +"unterstützt." + msgid "Node A and Node B must be PhysicsBody2Ds" msgstr "Node A und Node B müssen PhysicsBody2D-Nodes sein" @@ -14084,6 +14971,13 @@ msgid "" msgstr "NavigationAgent2D kann nur unter einem Node2D-Node genutzt werden." msgid "" +"NavigationLink2D start position should be different than the end position to " +"be useful." +msgstr "" +"Die Startposition eines NavigationLink2D sollte sich von seiner Endposition " +"unterscheiden um nützlich zu sein." + +msgid "" "The NavigationObstacle2D only serves to provide collision avoidance to a " "Node2D object." msgstr "" @@ -14091,6 +14985,14 @@ msgstr "" "für ein Node2D-Objekt bereitzustellen." msgid "" +"A NavigationMesh resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" +"Eine NavigationMesh-Ressource muss für dieses Node festgelegt oder erzeugt " +"werden. Bitte die entsprechende Eigenschaft eintragen oder ein Polygon " +"zeichnen." + +msgid "" "ParallaxLayer node only works when set as child of a ParallaxBackground node." msgstr "" "Das ParallaxLayer-Node lässt sich nur als Unterobjekt eines " @@ -14108,11 +15010,42 @@ msgstr "" "Ein PhysicalBone2D kann nur zusammen mit einem Skeleton2D oder einem anderen " "PhysicalBone2D als Eltern-Objekt funktionieren!" +msgid "" +"A PhysicalBone2D needs to be assigned to a Bone2D node in order to function! " +"Please set a Bone2D node in the inspector." +msgstr "" +"A PhysicalBone2D muss einem Bone2D-Node zugewiesen werden um funktionieren " +"zu können. Bitte ein Bone2D-Node im Inspektor zuweisen." + +msgid "" +"A PhysicalBone2D node should have a Joint2D-based child node to keep bones " +"connected! Please add a Joint2D-based node as a child to this node!" +msgstr "" +"Ein PhysicalBone2D-Node sollte ein Joint2D-basiertes Unterelement haben um " +"die Knochen zusammen zuhalten. Bitte ein Joint2D-basiertes Node als " +"Unterelement diesem Node hinzufügen." + +msgid "" +"Size changes to RigidBody2D will be overridden by the physics engine when " +"running.\n" +"Change the size in children collision shapes instead." +msgstr "" +"Größenänderungen an RigidBody2D werden von der Physikengine überschrieben " +"wenn sie läuft.\n" +"Die Größe der entsprechenden Collisionshape-Unterobjekte sollte stattdessen " +"geändert werden." + msgid "Path property must point to a valid Node2D node to work." msgstr "" "Die Pfad-Eigenschaft muss auf ein gültiges Node2D-Node zeigen, um zu " "funktionieren." +msgid "" +"This node cannot interact with other objects unless a Shape2D is assigned." +msgstr "" +"Dieses Node kann nicht mit andern Objekten interagieren solange es keinem " +"Shape2D-Node zugewiesen ist." + msgid "This Bone2D chain should end at a Skeleton2D node." msgstr "Diese Bone2D-Kette sollte an einem Skeleton2D-Node enden." @@ -14127,26 +15060,118 @@ msgstr "" "Dieser Knochen hat keine korrekte Ruhe-Pose. Diese kann am Skeleton2D-Node " "festgelegt werden." +msgid "" +"A Y-sorted layer has the same Z-index value as a not Y-sorted layer.\n" +"This may lead to unwanted behaviors, as a layer that is not Y-sorted will be " +"Y-sorted as a whole with tiles from Y-sorted layers." +msgstr "" +"Eine Y-sortierte Ebene hat den selben Z-Indexwert wie eine nicht Y-sortierte " +"Ebene.\n" +"Dies kann zu unerwünschtem Verhalten führen, da eine nicht-Y-sortierte Ebene " +"Y-sortiert wird, wenn sie zusammen mit Kacheln aus Y-sortierten Ebenen " +"verwendet wird." + +msgid "" +"A TileMap layer is set as Y-sorted, but Y-sort is not enabled on the TileMap " +"node itself." +msgstr "" +"Eine TileMap-Ebene wurde als Y-sortiert ausgewiesen, aber Y-Sortierung wurde " +"nicht im TileMap-Node aktiviert." + +msgid "" +"Isometric TileSet will likely not look as intended without Y-sort enabled " +"for the TileMap and all of its layers." +msgstr "" +"Ein isometrisches TileSet wird wahrscheinlich nicht wie erwünscht aussehen, " +"solange Y-Sortierung nicht für das TileMap und alle seiner Ebenen aktiviert " +"wurde." + +msgid "" +"External Skeleton3D node not set! Please set a path to an external " +"Skeleton3D node." +msgstr "" +"Externes Skeleton3D-Node nicht festgelegt! Bitte Pfad zu einem externen " +"Skeleton3D-Node festlegen." + +msgid "" +"Parent node is not a Skeleton3D node! Please use an external Skeleton3D if " +"you intend to use the BoneAttachment3D without it being a child of a " +"Skeleton3D node." +msgstr "" +"Das Überelement ist kein Skeleton3D-Node! Bitte ein externes Skeleton3D " +"benutzen, falls BoneAttachment3D benutzt werden soll, ohne zu einem " +"Skeleton3D-Node zu gehören." + +msgid "" +"BoneAttachment3D node is not bound to any bones! Please select a bone to " +"attach this node." +msgstr "" +"BoneAttachment3D-Node ist mit keinem Kochen verbunden. Bitte Knochen zum " +"Verbinden mit diesem Node auswählen." + +msgid "" +"This node has no shape, so it can't collide or interact with other objects.\n" +"Consider adding a CollisionShape3D or CollisionPolygon3D as a child to " +"define its shape." +msgstr "" +"Dieses Node besitzt keine untergeordneten Formen, er kann deshalb nicht mit " +"anderen Objekten kollidieren oder interagieren.\n" +"Es wird empfohlen, CollisionShape3D- oder CollisionPolygon3D-Unterobjekte " +"hinzuzufügen, um seine Form festzulegen." + +msgid "" +"With a non-uniform scale this node will probably not function as expected.\n" +"Please make its scale uniform (i.e. the same on all axes), and change the " +"size in children collision shapes instead." +msgstr "" +"Mit einer ungleichmäßigen Skalierung wird dieses Node wahrscheinlich nicht " +"wie erwartet funktionieren.\n" +"Es wird empfohlen die Skalierung gleichmäßig zu lassen (d.h. gleich in allen " +"Achsenrichtungen) und stattdessen die Ausmaße der untergeordneten " +"Kollisionsformen zu ändern." + +msgid "" +"CollisionPolygon3D only serves to provide a collision shape to a " +"CollisionObject3D derived node.\n" +"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, " +"CharacterBody3D, etc. to give them a shape." +msgstr "" +"CollisionPolygon3D liefert ausschließlich eine Kollisionsform für ein von " +"CollisionObject3D abgeleitetes Node.\n" +"Es kann nur als Unterobjekt von Area3D, StaticBody3D, RigidBody3D, " +"CharacterBody3D usw. eingehängt werden, um diesen eine Form zu geben." + msgid "An empty CollisionPolygon3D has no effect on collision." msgstr "Ein leeres CollisionPolygon3D hat keinen Effekt auf Kollisionen." msgid "" +"A non-uniformly scaled CollisionPolygon3D node will probably not function as " +"expected.\n" +"Please make its scale uniform (i.e. the same on all axes), and change its " +"polygon's vertices instead." +msgstr "" +"Ein ungleichmäßig skaliertes CollisionPolygon3D-Node wird wahrscheinlich " +"nicht wie gewünscht funktionieren.\n" +"Es wird empfohlen die Skalierung gleichmäßig zu lassen (d.h. gleich in allen " +"Achsenrichtungen) und stattdessen die Vertices seines Polygons zu ändern." + +msgid "" "CollisionShape3D only serves to provide a collision shape to a " "CollisionObject3D derived node.\n" "Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, " "CharacterBody3D, etc. to give them a shape." msgstr "" -"CollisionShape3D liefert nur eine Kollisionsform für einen von " -"CollisionObject3D abgeleiteten Node. Es kann nur als Unterobjekt von Area3D, " -"StaticBody3D, RigidBody3D, CharacterBody3D usw. eingehängt werden, um diesen " -"eine Form zu geben." +"CollisionShape3D liefert ausschließlich eine Kollisionsform für ein von " +"CollisionObject3D abgeleitetes Node.\n" +"Es kann nur als Unterobjekt von Area3D, StaticBody3D, RigidBody3D, " +"CharacterBody3D usw. eingehängt werden, um diesen eine Form zu geben." msgid "" "A shape must be provided for CollisionShape3D to function. Please create a " "shape resource for it." msgstr "" -"Zum Funktionieren eines CollisionShape3D benötigt es eine zugeordnete Form. " -"Zum Fortfahren ist eine Shape-Ressource dafür zu erzeugen." +"Ein CollisionShape3D benötigt zum Funktionieren eine zugeordnete Form. Um es " +"verwenden zu können, muss eine Shape-Ressource dafür erzeugt werden." msgid "" "ConcavePolygonShape3D doesn't support RigidBody3D in another mode than " @@ -14157,14 +15182,120 @@ msgid "" "WorldBoundaryShape3D doesn't support RigidBody3D in another mode than static." msgstr "WorldBoundaryShape3D unterstützt RigidBody3D nur im Modus Statisch." +msgid "" +"A non-uniformly scaled CollisionShape3D node will probably not function as " +"expected.\n" +"Please make its scale uniform (i.e. the same on all axes), and change the " +"size of its shape resource instead." +msgstr "" +"Ein ungleichmäßig skaliertes CollisionPolygon3D-Node wird wahrscheinlich " +"nicht wie gewünscht funktionieren.\n" +"Es wird empfohlen die Skalierung gleichmäßig zu lassen (d.h. gleich in allen " +"Achsenrichtungen) und stattdessen die Ausmaße seiner Shape-Ressource zu " +"ändern." + msgid "Nothing is visible because no mesh has been assigned." msgstr "Nichts ist sichtbar da kein Mesh zugewiesen wurden." msgid "" +"CPUParticles3D animation requires the usage of a StandardMaterial3D whose " +"Billboard Mode is set to \"Particle Billboard\"." +msgstr "" +"Eine CPUParticles3D-Animation benötigt ein StandardMaterial3D mit der " +"Eigenschaft „Billboard Mode“ festgelegt auf „Particle Billboard“." + +msgid "" +"Decals are only available when using the Forward+ or Mobile rendering " +"backends." +msgstr "" +"Decals stehen nur zur Verfügung wenn die Render-Backends Forward+ oder Mobil " +"verwendet werden." + +msgid "" +"The decal has no textures loaded into any of its texture properties, and " +"will therefore not be visible." +msgstr "" +"Für dieses Decal wurden keine Texturen in seinen Textureigenschaften " +"geladen, daher wird es nicht sichtbar sein." + +msgid "" +"The decal has a Normal and/or ORM texture, but no Albedo texture is set.\n" +"An Albedo texture with an alpha channel is required to blend the normal/ORM " +"maps onto the underlying surface.\n" +"If you don't want the Albedo texture to be visible, set Albedo Mix to 0." +msgstr "" +"Für dieses Decal wurde eine Normalen- und/oder ORM-Textur, allerdings keine " +"Albedo-Textur festgelegt.\n" +"Eine Albedo-Textur mit Alphakanal wird benötigt um die Normal/ORM-Maps in " +"die Zieloberfläche einzumischen.\n" +"Falls die Sichtbarkeit der Albedo-Textur nicht erwünscht sein sollte, kann " +"Albedo-Mix auf 0 gesetzt werden." + +msgid "" +"The decal's Cull Mask has no bits enabled, which means the decal will not " +"paint objects on any layer.\n" +"To resolve this, enable at least one bit in the Cull Mask property." +msgstr "" +"Die Aushöhlungsblende des Decals hat keine gesetzten Bits, das bedeutet dass " +"das Decal in keiner Ebene Objekte zeichnen wird.\n" +"Um dies zu beheben sollte zumindest ein Bit in der Aushöhlungsblende " +"aktiviert werden." + +msgid "Fog Volumes are only visible when using the Forward+ backend." +msgstr "Nebelvolumen sind nur mit dem Forward+-Backend sichtbar." + +msgid "" +"Fog Volumes need volumetric fog to be enabled in the scene's Environment in " +"order to be visible." +msgstr "" +"Damit Nebelvolumen sichtbar werden, muss die Einstellung „Volumetric Fog“ im " +"Environment der Szene aktiviert werden." + +msgid "" "Nothing is visible because meshes have not been assigned to draw passes." msgstr "" "Nichts ist sichtbar da keine Meshe den Zeichendurchläufen zugewiesen wurden." +msgid "" +"Particles animation requires the usage of a BaseMaterial3D whose Billboard " +"Mode is set to \"Particle Billboard\"." +msgstr "" +"Die Particles-Animation benötigt ein BaseMaterial3D mit der Eigenschaft " +"„Billboard Mode“ gesetzt zu „Particle Billboard“." + +msgid "" +"Using Trail meshes with a skin causes Skin to override Trail poses. Suggest " +"removing the Skin." +msgstr "" +"Spur-Meshes mit Skins lässt die Skins die Spur-Posen überschreiben. " +"Wahrscheinlich sollte das Skin entfernt werden." + +msgid "Trails active, but neither Trail meshes or a Skin were found." +msgstr "Spuren aktiv, aber weder Spur-Meshes noch Skins gefunden." + +msgid "" +"Only one Trail mesh is supported. If you want to use more than a single " +"mesh, a Skin is needed (see documentation)." +msgstr "" +"Es wird maximal ein Spur-Mesh unterstützt. Um mehrere Meshes zu verwenden " +"wird ein Skin benötigt (wie in Dokumentation beschrieben)." + +msgid "" +"Trails enabled, but one or more mesh materials are either missing or not set " +"for trails rendering." +msgstr "" +"Spuren aktiviert, aber ein oder mehrere Mesh-Materialen fehlen oder wurden " +"nicht für Spur-Rendern aktiviert." + +msgid "" +"The Bake Mask has no bits enabled, which means baking will not produce any " +"collision for this GPUParticlesCollisionSDF3D.\n" +"To resolve this, enable at least one bit in the Bake Mask property." +msgstr "" +"Die Back-Maske hat keine aktiven Bits, das bedeutet dass beim Backen keine " +"Kollisionen für dieses GPUParticlesCollisionSDF3D erzeugt werden.\n" +"Um dies zu beheben muss mindestens ein Bit in der Back-Maske gesetzt werden." + msgid "Node A and Node B must be PhysicsBody3Ds" msgstr "Node A und Node B müssen PhysicsBody3D-Nodes sein" @@ -14180,6 +15311,29 @@ msgstr "Gelenk ist nicht mit einem PhysicsBody3D-Node verbunden" msgid "Node A and Node B must be different PhysicsBody3Ds" msgstr "Node A und Node B müssen unterschiedliche PhysicsBody3D-Nodes sein" +msgid "" +"Shadows are not supported when using the GL Compatibility backend yet. " +"Support will be added in a future release." +msgstr "" +"Schatten werden vom GL-Kompatibilitäts-Backend noch nicht unterstützt. " +"Unterstützung wird mit einer zukünftigen Godot-Version erscheinen." + +msgid "A light's scale does not affect the visual size of the light." +msgstr "" +"Die Skalierung eines Lichtes hat keine Auswirkung auf die visuelle Größe des " +"Lichts." + +msgid "Projector texture only works with shadows active." +msgstr "Projektor-Texturen funktionieren nur bei aktiviertem Schatten." + +msgid "" +"Projector textures are not supported when using the GL Compatibility backend " +"yet. Support will be added in a future release." +msgstr "" +"Projektor-Texturen werden vom GL-Kompatibilitäts-Backend noch nicht " +"unterstützt. Unterstützung wird mit einer zukünftigen Godot-Version " +"erscheinen." + msgid "A SpotLight3D with an angle wider than 90 degrees cannot cast shadows." msgstr "" "Ein SpotLight3D mit einem Winkel von mehr als 90 Grad kann keine Schatten " @@ -14192,7 +15346,10 @@ msgid "Preparing geometry %d/%d" msgstr "Am Vorbereiten der Geometrie %d/%d" msgid "Creating probes" -msgstr "Erstelle Messungen" +msgstr "Erstelle Sonden" + +msgid "Creating probes from mesh %d/%d" +msgstr "Erstelle Sonden aus Mesh %d/%d" msgid "Preparing Lightmapper" msgstr "Am Vorbereiten der Beleuchtung" @@ -14207,6 +15364,14 @@ msgid "Generating Probe Acceleration Structures" msgstr "Generiere Messungs-Beschleunigungsstruktur" msgid "" +"LightmapGI nodes are not supported when using the GL Compatibility backend " +"yet. Support will be added in a future release." +msgstr "" +"LightmapGI-Nodes werden vom GL-Kompatibilitäts-Backend noch nicht " +"unterstützt. Unterstützung wird mit einer zukünftigen Godot-Version " +"erscheinen." + +msgid "" "The NavigationAgent3D can be used only under a Node3D inheriting parent node." msgstr "" "NavigationAgent3D kann nur unter einem von Node3D erbenden übergeordneten " @@ -14226,6 +15391,64 @@ msgstr "" "Der einzige Zweck eines NavigationObstacle3D ist es, Kollisionsvermeidung " "für ein von Node3D erbendes übergeordnetes Node bereitzustellen." +msgid "" +"Occlusion culling is disabled in the Project Settings, which means occlusion " +"culling won't be performed in the root viewport.\n" +"To resolve this, open the Project Settings and enable Rendering > Occlusion " +"Culling > Use Occlusion Culling." +msgstr "" +"Verdeckungsaushöhlung wurde in den Projekteinstellungen deaktiviert, das " +"bedeutet dass sie nicht im Wurzel-Viewport ausgeführt wird.\n" +"Aktivierbar in den Projekteinstellungen unter Rendering > Occlusion Culling " +"> Use Occlusion Culling." + +msgid "" +"The Bake Mask has no bits enabled, which means baking will not produce any " +"occluder meshes for this OccluderInstance3D.\n" +"To resolve this, enable at least one bit in the Bake Mask property." +msgstr "" +"Die Back-Maske hat keine aktiven Bits, das bedeutet dass beim Backen keine " +"Verdecker für dieses OccluderInstance3D erzeugt werden.\n" +"Um dies zu beheben muss mindestens ein Bit in der Back-Maske gesetzt werden." + +msgid "" +"No occluder mesh is defined in the Occluder property, so no occlusion " +"culling will be performed using this OccluderInstance3D.\n" +"To resolve this, set the Occluder property to one of the primitive occluder " +"types or bake the scene meshes by selecting the OccluderInstance3D and " +"pressing the Bake Occluders button at the top of the 3D editor viewport." +msgstr "" +"Kein Verdecker-Mesh in der Verdecker-Eigenschaft definiert, also wird kein " +"Verdeckungsaushöhlen mit diesem OccluderInstance3D durchgeführt werden.\n" +"Um dies zu beheben, muss die Verdecker-Eigenschaft zu einem einfachen " +"Verdeckertyp gesetzt werden oder die Szene gebacken werden, in dem das " +"OcluderInstance3D ausgewählt und die „Verdecker backen“-Schaltfläche im " +"oberen Bereich des 3D-Editor-Ansichtsfensters betätigt wird." + +msgid "" +"The occluder mesh has less than 3 vertices, so no occlusion culling will be " +"performed using this OccluderInstance3D.\n" +"To generate a proper occluder mesh, select the OccluderInstance3D then use " +"the Bake Occluders button at the top of the 3D editor viewport." +msgstr "" +"Das Verdecker-Mesh hat weniger als 3 Vertices, es kann kein " +"Verdeckungsaushöhlen mit diesem OccluderInstance3D durchgeführt werden.\n" +"Um ein brauchbares Verdecker-Mesh zu erzeugen, kann das OccluderInstance3D " +"ausgewählt und dann die „Verdecker backen“-Schaltfläche im oberen Bereich " +"des 3D-Editor-Ansischtsfenster betätigt werden." + +msgid "" +"The polygon occluder has less than 3 vertices, so no occlusion culling will " +"be performed using this OccluderInstance3D.\n" +"Vertices can be added in the inspector or using the polygon editing tools at " +"the top of the 3D editor viewport." +msgstr "" +"Der Polygon-Verdecker hat weniger als 3 Vertices, es kann kein " +"Verdeckungsaushöhlen mit diesem OccluderInstance3D durchgeführt werden.\n" +"Vertices können im Inspektor oder durch Verwenden des " +"Polygonbearbeitungswerkzeugs im oberen Bereich des 3D-Editor-" +"Ansichtsfensters erstellt werden." + msgid "PathFollow3D only works when set as a child of a Path3D node." msgstr "" "PathFollow3D funktioniert nur, wenn es als Unterobjekt eines Path3D-Nodes " @@ -14249,6 +15472,14 @@ msgstr "" "stattdessen geändert werden." msgid "" +"ReflectionProbes are not supported when using the GL Compatibility backend " +"yet. Support will be added in a future release." +msgstr "" +"ReflectionProbes werden vom GL-Kompatibilitäts-Backend noch nicht " +"unterstützt. Unterstützung wird mit einer zukünftigen Godot-Version " +"erscheinen." + +msgid "" "The \"Remote Path\" property must point to a valid Node3D or Node3D-derived " "node to work." msgstr "" @@ -14286,8 +15517,49 @@ msgstr "" "implementieren. Es sollte ausschließlich als Unterobjekt von VehicleBody3D " "verwendet werden." +msgid "" +"VisibleOnScreenNotifier3D nodes are not supported when using the GL " +"Compatibility backend yet. Support will be added in a future release." +msgstr "" +"VisibleOnScreenNotifier3D-Nodes werden vom GL-Kompatibilitäts-Backend noch " +"nicht unterstützt. Unterstützung wird mit einer zukünftigen Godot-Version " +"erscheinen." + +msgid "" +"The GeometryInstance3D visibility range's End distance is set to a non-zero " +"value, but is lower than the Begin distance.\n" +"This means the GeometryInstance3D will never be visible.\n" +"To resolve this, set the End distance to 0 or to a value greater than the " +"Begin distance." +msgstr "" +"Das Ende der GeometryInstance3D-Sichtgrenze wurde als nicht null festgelegt, " +"ist aber kleiner als der Start.\n" +"Das GeometryInstance3D wird daher niemals sichtbar sein.\n" +"Um dies zu beheben muss das Ende auf 0 oder einen Wert größer als der Start " +"gesetzt werden." + +msgid "" +"The GeometryInstance3D is configured to fade in smoothly over distance, but " +"the fade transition distance is set to 0.\n" +"To resolve this, increase Visibility Range Begin Margin above 0." +msgstr "" +"Das GeometryInstance3D wurde konfiguriert, über die Distanz sanft " +"einzublenden, jedoch ist die Übergangsdistanz auf Null festgelegt.\n" +"Um dies zu beheben, sollte der Sichtbarkeitsbereich-Startbegrenzung auf " +"einen Wert größer Null festgelegt werden." + +msgid "" +"The GeometryInstance3D is configured to fade out smoothly over distance, but " +"the fade transition distance is set to 0.\n" +"To resolve this, increase Visibility Range End Margin above 0." +msgstr "" +"Das GeometryInstance3D wurde konfiguriert, über die Distanz sanft " +"auszublenden, jedoch ist die Übergangsdistanz auf Null festgelegt.\n" +"Um dies zu beheben, sollte der Sichtbarkeitsbereich-Endbegrenzung auf einen " +"Wert größer Null festgelegt werden." + msgid "Plotting Meshes" -msgstr "Plotte Mesh" +msgstr "Plotte Meshes" msgid "Finishing Plot" msgstr "Stelle Plot fertig" @@ -14296,6 +15568,20 @@ msgid "Generating Distance Field" msgstr "Generiere Distanzfeld" msgid "" +"VoxelGI nodes are not supported when using the GL Compatibility backend yet. " +"Support will be added in a future release." +msgstr "" +"VoxelGI-Nodes werden vom GL-Kompatibilitäts-Backend noch nicht unterstützt. " +"Unterstützung wird mit einer zukünftigen Godot-Version erscheinen." + +msgid "" +"No VoxelGI data set, so this node is disabled. Bake static objects to enable " +"GI." +msgstr "" +"Keine VoxelGI-Daten festgelegt, daher ist dieses Node deaktiviert. Um GI zu " +"aktivieren sollten statische Objekte gebacken werden." + +msgid "" "To have any visible effect, WorldEnvironment requires its \"Environment\" " "property to contain an Environment, its \"Camera Attributes\" property to " "contain a CameraAttributes resource, or both." @@ -14339,6 +15625,9 @@ msgstr "In BlendTree-Node ‚%s‘, Animation nicht gefunden: ‚%s‘" msgid "Animation not found: '%s'" msgstr "Animation nicht gefunden: ‚%s‘" +msgid "Animation Apply Reset" +msgstr "Animation Zurücksetzen anwenden" + msgid "In node '%s', invalid animation: '%s'." msgstr "In Node ‚%s‘, ungültige Animation: ‚%s‘." @@ -14365,6 +15654,13 @@ msgid "The AnimationPlayer root node is not a valid node." msgstr "Die Wurzel des Animationsspielers ist kein gültiges Node." msgid "" +"ButtonGroup is intended to be used only with buttons that have toggle_mode " +"set to true." +msgstr "" +"ButtonGroup sollte nur mit Knöpfen verwendet werden deren toggle_mode als " +"wahr festgelegt wurde." + +msgid "" "Color: #%s\n" "LMB: Apply color\n" "RMB: Remove preset" @@ -14380,6 +15676,9 @@ msgstr "" "Farbe: #%s\n" "LMT: Farbe anwenden" +msgid "Pick a color from the application window." +msgstr "Eine Farbe innerhalb des Anwendungsfensters auswählen." + msgid "Select a picker shape." msgstr "Auswahlform wählen." @@ -14432,6 +15731,9 @@ msgstr "Keine Berechtigung um auf den Inhalt des Ordners zuzugreifen." msgid "All Files" msgstr "Alle Dateien" +msgid "Invalid extension, or empty filename." +msgstr "Ungültige Dateiendung oder leerer Dateiname." + msgid "" "Please be aware that GraphEdit and GraphNode will undergo extensive " "refactoring in a future 4.x version involving compatibility-breaking API " @@ -14484,6 +15786,9 @@ msgstr "Anfang von Links-nach-Rechts Überschrieb (LRO)" msgid "Start of Right-to-Left Override (RLO)" msgstr "Anfang von Rechts-nach-Links Überschrieb (RLO)" +msgid "Pop Direction Formatting (PDF)" +msgstr "Pop-Richtungsformatierung (PDF)" + msgid "Arabic Letter Mark (ALM)" msgstr "Arabische Buchstaben-Markierung (ALM)" @@ -14493,6 +15798,24 @@ msgstr "Links-nach-Rechts Isolierer (LRI)" msgid "Right-to-Left Isolate (RLI)" msgstr "Rechts-nach-Links Isolierer (RLI)" +msgid "First Strong Isolate (FSI)" +msgstr "Erstes starkes Isolate (FSI)" + +msgid "Pop Direction Isolate (PDI)" +msgstr "Pop-Richtung-Isolate (PDI)" + +msgid "Zero-Width Joiner (ZWJ)" +msgstr "Nullbreitenverbinder (ZWJ)" + +msgid "Zero-Width Non-Joiner (ZWNJ)" +msgstr "Nullbreitennichtverbinder (ZWNJ)" + +msgid "Word Joiner (WJ)" +msgstr "Wortverbinder (WJ)" + +msgid "Soft Hyphen (SHY)" +msgstr "Weicher Bindestrich (SHY)" + msgid "Text Writing Direction" msgstr "Schreibrichtung" @@ -14610,6 +15933,9 @@ msgstr "Version %d von BMFont wird nicht unterstützt (sollte 3 sein)." msgid "Invalid BMFont info block size." msgstr "Ungültige BMFont Infoblockgröße." +msgid "Invalid BMFont common block size." +msgstr "Ungültige BMFont Common-Blockgröße." + msgid "Can't load font texture: %s." msgstr "Schriftarttextur kann nicht geladen werden: %s." @@ -14626,6 +15952,9 @@ msgstr "" "Shader-Schlüsselwörter können nicht als Parameternamen genutzt werden.\n" "Wählen Sie einen anderen Namen." +msgid "This parameter type does not support the '%s' qualifier." +msgstr "Dieser Parametertyp unterstützt keinen ‚%s‘-Kennzeichner." + msgid "" "Global parameter '%s' does not exist.\n" "Create it in the Project Settings." @@ -14656,6 +15985,14 @@ msgstr "Ungültige Quelle für Shader." msgid "Invalid operator for that type." msgstr "Ungültiger Operator für diesen Typ." +msgid "" +"`%s` precision mode is not available for `gl_compatibility` profile.\n" +"Reverted to `None` precision." +msgstr "" +"Der Präzisionsmodus ‚%s‘ steht für das Profil ‚gl_compatiblity‘ nicht zur " +"Verfügung.\n" +"Es wird auf ‚None‘-Präzision zurückgefallen." + msgid "Default Color" msgstr "Standardfarbe" @@ -14677,9 +16014,33 @@ msgstr "Nutze alle Oberflächen" msgid "Surface Index" msgstr "Oberflächenindex" +msgid "" +"Invalid number of arguments when calling stage function '%s', which expects " +"%d arguments." +msgstr "" +"Ungültige Anzahl an Argumenten beim Aufruf der Stage-Funktion ‚%s‘, welche " +"%d Argumente erwartet." + +msgid "" +"Invalid argument type when calling stage function '%s', type expected is " +"'%s'." +msgstr "" +"Ungültiger Argumenttyp beim Aufruf der Stage-Funktion ‚%s‘, der erwartete " +"Typ ist ‚%s‘." + +msgid "Expected integer constant within [%d..%d] range." +msgstr "Ganzzahlkonstante im Intervall [%d..%d] erwartet." + +msgid "Argument %d of function '%s' is not a variable, array, or member." +msgstr "Argument %d von Funktion ‚%s‘ ist keine Variable, Array, oder Feld." + msgid "Varyings cannot be passed for the '%s' parameter." msgstr "Varyings dürfen nicht für den Parameter ‚%s‘ übergeben werden." +msgid "A constant value cannot be passed for the '%s' parameter." +msgstr "" +"Ein konstanter Wert kann nicht als Parameter für ‚%s‘ übergeben werden." + msgid "" "Argument %d of function '%s' can only take a local variable, array, or " "member." @@ -14755,15 +16116,61 @@ msgstr "" msgid "Assignment to function." msgstr "Zuweisung an Funktion." +msgid "Swizzling assignment contains duplicates." +msgstr "Swizzling-Zuweisung enthält Duplikate." + msgid "Assignment to uniform." msgstr "Zuweisung an Uniform." msgid "Constants cannot be modified." msgstr "Konstanten können nicht verändert werden." +msgid "" +"Sampler argument %d of function '%s' called more than once using both built-" +"ins and uniform textures, this is not supported (use either one or the " +"other)." +msgstr "" +"Sampler-Argument %d von Funktion ‚%s‘ wurde mehr als einmal aufgerufen von " +"sowohl Built-Ins als auch Uniform-Texturen. Dies wird nicht unterstützt, " +"bitte nur eines von beiden benutzen." + +msgid "" +"Sampler argument %d of function '%s' called more than once using textures " +"that differ in either filter or repeat setting." +msgstr "" +"Sampler-Argument %d von Funktion ‚%s‘ wurde mehr als einmal aufgerufen mit " +"Texturen die sich entweder in Filter- oder Wiederholungs-Einstellungen " +"unterscheiden." + +msgid "" +"Sampler argument %d of function '%s' called more than once using different " +"built-ins. Only calling with the same built-in is supported." +msgstr "" +"Sampler-Argument %d von Funktion ‚%s‘ wurde mehr als einmal aufgerufen mit " +"unterschiedlichen Built-Ins. Es werden nur wiederholte Aufrufe des selben " +"Built-Ins unterstützt." + +msgid "Array size is already defined." +msgstr "Arraygröße wurde bereits festgelegt." + +msgid "Unknown array size is forbidden in that context." +msgstr "Unbekannte Arraygröße wird in diesem Fall nicht unterstützt." + +msgid "Array size expressions are not supported." +msgstr "Arraygrößenausdrücke werden nicht unterstützt." + +msgid "Expected a positive integer constant." +msgstr "Positive Ganzzahlkonstante erwartet." + msgid "Invalid data type for the array." msgstr "Ungültiger Datentyp für das Array." +msgid "Array size mismatch." +msgstr "Arraygrößendiskrepanz." + +msgid "Expected array initialization." +msgstr "Array-Initialisierung erwartet." + msgid "Cannot convert from '%s' to '%s'." msgstr "Kann nicht zwischen ‚%s‘ und ‚%s‘ konvertieren." @@ -14773,6 +16180,9 @@ msgstr "‚)‘ im Ausdruck erwartet." msgid "Void value not allowed in expression." msgstr "Void-Wert im Ausdruck nicht zulässig." +msgid "Expected '(' after the type name." +msgstr "›(‹ nach Typnamen erwartet." + msgid "No matching constructor found for: '%s'." msgstr "Kein passender Konstruktor gefunden für ‚%s‘." @@ -14793,6 +16203,31 @@ msgstr "" "Varying ‚%s‘ darf in diesem Kontext nicht als Parameter ‚%s‘ übergeben " "werden." +msgid "A constant value cannot be passed for '%s' parameter." +msgstr "Ein konstanter Wert kann nicht als ‚%s‘-Parameter übergeben werden." + +msgid "" +"Unable to pass a multiview texture sampler as a parameter to custom " +"function. Consider to sample it in the main function and then pass the " +"vector result to it." +msgstr "" +"Ein Multiview-Textur-Sampler kann nicht als Parameter einer " +"benutzerdefinierten Funktion übergeben werden. Es wird empfohlen in der Main-" +"Funktion zu samplen und das Ergebnis als Vektor zu übergeben." + +msgid "Unknown identifier in expression: '%s'." +msgstr "Unbekannter Bezeichner in Ausdruck: ‚%s‘." + +msgid "" +"%s has been removed in favor of using hint_%s with a uniform.\n" +"To continue with minimal code changes add 'uniform sampler2D %s : hint_%s, " +"filter_linear_mipmap;' near the top of your shader." +msgstr "" +"%s wurde entfernt um hint_% mittels Uniform Vorzug zu geben.\n" +"Um mit minimalen Code-Änderungen fortzufahren, sollte ›uniform sampler2D " +"%s : hint_%s, filter_linear_mipmap;‹ am Anfang des Shaders hinzugefügt " +"werden." + msgid "" "Varying with '%s' data type may only be used in the 'fragment' function." msgstr "" @@ -14802,54 +16237,238 @@ msgstr "" msgid "Varying '%s' must be assigned in the 'fragment' function first." msgstr "Varying ‚%s‘ muss zuerst in der ‚fragment‘-Funktion zugewiesen werden." +msgid "" +"Varying with integer data type must be declared with `flat` interpolation " +"qualifier." +msgstr "" +"Ein Varying mit Ganzzahldatentyp muss mit dem ›flat‹-" +"Interpolationskennzeichner deklariert werden." + +msgid "Can't use function as identifier: '%s'." +msgstr "Funktion kann nicht als Bezeichner verwendet werden: ‚%s‘." + +msgid "Only integer expressions are allowed for indexing." +msgstr "Nur Ganzzahlausdrücke zur Indizierung gestattet." + +msgid "Index [%d] out of range [%d..%d]." +msgstr "Index [%d] ist außerhalb des Intervalls [%d..%d]." + +msgid "Expected expression, found: '%s'." +msgstr "Ausdruck erwartet, gefunden wurde: ‚%s‘." + +msgid "Empty statement. Remove ';' to fix this warning." +msgstr "Leere Anweisung. ›;‹ entfernen um Warnung zu beheben." + +msgid "Expected an identifier as a member." +msgstr "Bezeichner als Member erwartet." + +msgid "Cannot combine symbols from different sets in expression '.%s'." +msgstr "" +"Symbole aus verschiedenen Mengen können nicht in einem Ausdruck kombiniert " +"werden ‚.%s‘." + +msgid "Invalid member for '%s' expression: '.%s'." +msgstr "Ungültiger Member für Ausdruck ‚%s‘: ‚.%s‘." + msgid "An object of type '%s' can't be indexed." msgstr "Ein Objekt des Typs ‚%s‘ kann nicht indiziert werden." msgid "Invalid base type for increment/decrement operator." msgstr "Ungültiger Basistyp für Inkrement-/Dekrement-Operator." +msgid "Invalid use of increment/decrement operator in a constant expression." +msgstr "" +"Ungültige Verwendung von Inkrement-/Dekrement-Operator in konstantem " +"Ausdruck." + +msgid "Invalid token for the operator: '%s'." +msgstr "Ungültiges Zeichen für Operator: ‚%s‘." + msgid "Unexpected end of expression." msgstr "Unerwartetes Ende des Ausdrucks." msgid "Invalid arguments to unary operator '%s': %s." msgstr "Ungültige Parameter für den unären Operator ‚%s‘: %s." +msgid "Missing matching ':' for select operator." +msgstr "Fehlendes ›:‹ für select-Operator." + msgid "Invalid argument to ternary operator: '%s'." msgstr "Ungültiger Parameter für den ternären Operator: ‚%s‘." msgid "Invalid arguments to operator '%s': '%s'." msgstr "Ungültige Parameter für den Operator ‚%s‘: ‚%s‘." +msgid "A switch may only contain '%s' and '%s' blocks." +msgstr "Ein switch kann lediglich ‚%s‘ und ‚%s‘ Blöcke beinhalten." + +msgid "Expected variable type after precision modifier." +msgstr "Variablentyp nach Präzisionsmodifikator erwartet." + +msgid "Invalid variable type (samplers are not allowed)." +msgstr "Ungültiger Variablentyp (Sampler sind nicht zulässig)." + +msgid "Expected an identifier or '[' after type." +msgstr "Bezeichner oder ›[‹ nach Typ erwartet." + +msgid "Expected an identifier." +msgstr "Bezeichner erwartet." + +msgid "Expected array initializer." +msgstr "Array-Initialisierer erwartet." + +msgid "Expected data type after precision modifier." +msgstr "Datentyp nach Präzisionsmodifikator erwartet." + +msgid "Expected a constant expression." +msgstr "Konstanten Ausdruck erwartet." + +msgid "Expected initialization of constant." +msgstr "Initialisierung der Konstante erwartet." + +msgid "" +"Expected constant expression for argument %d of function call after '='." +msgstr "" +"Konstanter Ausdruck für Argument %d des Funktionsaufrufs nach ‚=‘ erwartet." + +msgid "Expected a boolean expression." +msgstr "Boolescher Ausdruck erwartet." + +msgid "Expected an integer expression." +msgstr "Ganzzahlausdruck erwartet." + +msgid "Cases must be defined before default case." +msgstr "Fälle müssen vor dem default-Fall definiert werden." + +msgid "Default case must be defined only once." +msgstr "Default-Fall darf nur einmal definiert werden." + msgid "Duplicated case label: %d." msgstr "Doppelte Fallbeschriftung: %d." +msgid "'%s' must be placed within a '%s' block." +msgstr "‚%s‘ muss in einem ‚%s‘-Block platziert werden." + msgid "Expected an integer constant." msgstr "Ganzzahlkonstante erwartet." +msgid "Using '%s' in the '%s' processor function is incorrect." +msgstr "" +"Die Verwendung von ‚%s‘ in der Prozessorfunktion ‚%s‘ ist nicht gestattet." + +msgid "Expected '%s' with an expression of type '%s'." +msgstr "‚%s‘ mit einem Ausdruck des Typs ‚%s‘ erwartet." + +msgid "Expected return with an expression of type '%s'." +msgstr "Rückgabe eines Ausdrucks des Typs ‚%s‘ erwartet." + msgid "Use of '%s' is not allowed here." msgstr "Die Verwendung von ‚%s‘ ist hier nicht zulässig." +msgid "'%s' is not allowed outside of a loop or '%s' statement." +msgstr "" +"‚%s‘ ist nicht außerhalb einer Schleife oder einer ‚%s‘-Anweisung gestattet." + +msgid "'%s' is not allowed outside of a loop." +msgstr "‚%s‘ ist nicht außerhalb einer Schleife gestattet." + +msgid "The middle expression is expected to be a boolean operator." +msgstr "Der mittlere Ausdruck muss ein boolescher Operator sein." + +msgid "The left expression is expected to be a variable declaration." +msgstr "Der linke Ausdruck muss eine Variablendeklaration sein." + +msgid "The precision modifier cannot be used on structs." +msgstr "Der Präzisionsmodifikator kann nicht auf Strutcs angewandt werden." + +msgid "The precision modifier cannot be used on boolean types." +msgstr "" +"Der Präzisionsmodifikator kann nicht auf boolesche Typen angewandt werden." + +msgid "Expected '%s' at the beginning of shader. Valid types are: %s." +msgstr "‚%s‘ am Anfang eines Shaders erwartet. Gültige Typen sind: %s." + +msgid "" +"Expected an identifier after '%s', indicating the type of shader. Valid " +"types are: %s." +msgstr "" +"Bezeichner nach ‚%s‘ erwartet, welcher den Typ des Shaders deklariert. " +"Gültige Typen sind: %s." + msgid "Invalid shader type. Valid types are: %s" msgstr "Ungültiger Shadertyp. Zulässige Typen sind: %s" +msgid "Expected an identifier for render mode." +msgstr "Bezeichner nach Rendermodus erwartet." + msgid "Duplicated render mode: '%s'." msgstr "Doppelter Rendermodus: ‚%s‘." +msgid "" +"Redefinition of render mode: '%s'. The '%s' mode has already been set to " +"'%s'." +msgstr "" +"Erneute Definition von Rendermodus: ‚%s‘. Der ‚%s‘-Modus wurde bereits auf " +"‚%s‘ festgelegt." + msgid "Invalid render mode: '%s'." msgstr "Ungültiger Rendermodus: ‚%s‘." +msgid "Unexpected token: '%s'." +msgstr "Unerwartetes Zeichen: ‚%s‘." + +msgid "Expected a struct identifier." +msgstr "Struct-Bezeichner erwartet." + +msgid "Nested structs are not allowed." +msgstr "Verschachtelte Structs sind nicht gestattet." + msgid "Expected data type." msgstr "Datentyp erwartet." +msgid "A '%s' data type is not allowed here." +msgstr "Ein ‚%s‘-Datentyp ist hier nicht gestattet." + +msgid "Expected an identifier or '['." +msgstr "Bezeichner oder ›[‹ erwartet." + +msgid "Empty structs are not allowed." +msgstr "Leere Structs sind nicht gestattet." + +msgid "Uniform instances are not yet implemented for '%s' shaders." +msgstr "Uniform-Instanzen sind nicht implementiert für ‚%s‘-Shader." + +msgid "Uniform instances are not supported in gl_compatibility shaders." +msgstr "" +"Uniform-Instanzen werden nicht von gl_compatibility-Shadern unterstützt." + msgid "Varyings cannot be used in '%s' shaders." msgstr "Varyings können in ‚%s‘-Shadern nicht verwendet werden." +msgid "Interpolation qualifiers are not supported for uniforms." +msgstr "Interpolationskennzeichner werden nicht von Uniforms unterstützt." + +msgid "The '%s' data type is not supported for uniforms." +msgstr "Der ‚%s‘-Datentyp wird nicht von Uniforms unterstützt." + msgid "The '%s' data type is not allowed here." msgstr "Der Datentyp ‚%s‘ ist hier nicht zulässig." +msgid "Interpolation modifier '%s' cannot be used with boolean types." +msgstr "" +"Interpolationsmodifizierer ‚%s‘ kann nicht mit booleschen Typen verwendet " +"werden." + msgid "Invalid data type for varying." msgstr "Ungültiger Datentyp für Varying." +msgid "Global uniform '%s' does not exist. Create it in Project Settings." +msgstr "" +"Globales Uniform ‚%s‘ existiert nicht. In Projekteinstellungen erstellen." + +msgid "Global uniform '%s' must be of type '%s'." +msgstr "Globales Uniform ‚%s‘ muss von Typ ‚%s‘ sein." + msgid "The '%s' qualifier is not supported for sampler types." msgstr "Der ‚%s‘-Kennzeichner wird nicht für Sampler-Typen unterstützt." @@ -14889,6 +16508,12 @@ msgstr "Der Instanzindex kann nicht negativ sein." msgid "Allowed instance uniform indices must be within [0..%d] range." msgstr "Erlaubte Instanz-Uniform-Indices müssen im Intervall [0..%d] liegen." +msgid "" +"'hint_normal_roughness_texture' is not supported in gl_compatibility shaders." +msgstr "" +"‚hint_normal_roughness_texture‘ wird nicht unterstützt in gl_compatiblilty-" +"Shadern." + msgid "This hint is only for sampler types." msgstr "Dieser Hinweis ist nur für Sampler-Typen gültig." @@ -15057,6 +16682,9 @@ msgstr "Ungültiges ifdef." msgid "Invalid ifndef." msgstr "Ungültiges ifndef." +msgid "Shader include file does not exist: " +msgstr "Shader-Include-Datei existiert nicht: " + msgid "" "Shader include load failed. Does the shader include exist? Is there a cyclic " "dependency?" @@ -15071,7 +16699,7 @@ msgid "Cyclic include found." msgstr "Zyklisches Include erkannt." msgid "Shader max include depth exceeded." -msgstr "Maximale Include-Tiefe für Shader überschritten." +msgstr "Maximale include-Tiefe des Shaders wurde überschritten." msgid "Invalid pragma directive." msgstr "Ungültige Pragmaanweisung." @@ -15092,7 +16720,7 @@ msgid "Invalid macro argument count." msgstr "Ungültige Makro-Argumentanzahl." msgid "Can't find matching branch directive." -msgstr "Passende Verzweigungsanweisung konnte nicht gefunden werden." +msgstr "Keine passende Verzweigungsanweisung vorhanden." msgid "Invalid symbols placed before directive." msgstr "Ungültige Zeichen befinden sich vor Anweisung." diff --git a/editor/translations/editor/el.po b/editor/translations/editor/el.po index 659717c609..303b760c66 100644 --- a/editor/translations/editor/el.po +++ b/editor/translations/editor/el.po @@ -25,7 +25,7 @@ msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-08 18:01+0000\n" +"PO-Revision-Date: 2023-03-08 16:35+0000\n" "Last-Translator: \"Overloaded @ Orama Interactive\" <manoschool@yahoo.gr>\n" "Language-Team: Greek <https://hosted.weblate.org/projects/godot-engine/godot/" "el/>\n" @@ -34,7 +34,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.2-dev\n" msgid "Physical" msgstr "Φυσικό" @@ -2058,6 +2058,9 @@ msgstr "Κοινότητα" msgid "Support Godot Development" msgstr "Υποστηρίξτε την ανάπτυξη του Godot" +msgid "Choose a renderer." +msgstr "Επιλέξτε έναν οδηγό βίντεο." + msgid "Update Continuously" msgstr "Συνεχόμενη Ανανέωση" diff --git a/editor/translations/editor/es.po b/editor/translations/editor/es.po index 0ef5e6835d..c280cdf979 100644 --- a/editor/translations/editor/es.po +++ b/editor/translations/editor/es.po @@ -98,13 +98,18 @@ # andres gallegos <andresgg.prog@gmail.com>, 2023. # maipley <pablovgv@gmail.com>, 2023. # The0Show <62229104+The0Show@users.noreply.github.com>, 2023. +# bipo38 <bipoben7@gmail.com>, 2023. +# Benjamin Zomvr <zomvroficial@gmail.com>, 2023. +# Federico Sebastián Florentin <federicoflorentin6@gmail.com>, 2023. +# Joinner Medina <devjoi2018@gmail.com>, 2023. +# Pedro Torcatt <pedrotorcattsoto@gmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-28 22:26+0000\n" -"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n" +"PO-Revision-Date: 2023-03-12 22:47+0000\n" +"Last-Translator: Pedro Torcatt <pedrotorcattsoto@gmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" "Language: es\n" @@ -112,7 +117,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-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Unset" msgstr "Desactivar" @@ -211,7 +216,7 @@ msgid "Guide, Sony PS, Xbox Home" msgstr "Guía, Sony PS, Xbox Inicio" msgid "Start, Nintendo +" -msgstr "Start, Nintendo +" +msgstr "Iniciar, Nintendo +" msgid "Left Stick, Sony L3, Xbox L/LS" msgstr "Stick Izquierdo, Sony L3, Xbox L/LS" @@ -219,6 +224,12 @@ msgstr "Stick Izquierdo, Sony L3, Xbox L/LS" msgid "Right Stick, Sony R3, Xbox R/RS" msgstr "Stick Derecho, Sony R3, Xbox R/RS" +msgid "Left Shoulder, Sony L1, Xbox LB" +msgstr "Botón de Hombro Izquierdo, Sony R1, Xbox RB" + +msgid "Right Shoulder, Sony R1, Xbox RB" +msgstr "Botón de Hombro Derecho, Sony R1, Xbox RB" + msgid "D-pad Up" msgstr "Pad Direccional Arriba" @@ -231,6 +242,21 @@ msgstr "Pad direccional Izquierda" msgid "D-pad Right" msgstr "Pad Direccional Derecha" +msgid "Xbox Share, PS5 Microphone, Nintendo Capture" +msgstr "Xbox Share, Micrófono PS5, Nintendo Capture" + +msgid "Xbox Paddle 1" +msgstr "Palanca 1 de Xbox" + +msgid "Xbox Paddle 2" +msgstr "Palanca 2 de Xbox" + +msgid "Xbox Paddle 3" +msgstr "Palanca 3 de Xbox" + +msgid "Xbox Paddle 4" +msgstr "Palanca 4 de Xbox" + msgid "PS4/5 Touchpad" msgstr "PS4/5 Pad Táctil" @@ -240,9 +266,33 @@ msgstr "Botón del Mando %d" msgid "Pressure:" msgstr "Presión:" +msgid "touched" +msgstr "tocado" + msgid "released" msgstr "liberado" +msgid "Screen %s at (%s) with %s touch points" +msgstr "Pantalla %s en (%s) en (%s) con %s puntos de toque" + +msgid "" +"Screen dragged with %s touch points at position (%s) with velocity of (%s)" +msgstr "" +"Pantalla arrastrada con %s puntos de toque en la posición (%s) con una " +"velocidad de (%s)" + +msgid "Magnify Gesture at (%s) with factor %s" +msgstr "Gesto de Ampliación en (%s) con factor %s" + +msgid "Pan Gesture at (%s) with delta (%s)" +msgstr "Gesto de Paneo en (%s) con delta (%s)" + +msgid "MIDI Input on Channel=%s Message=%s" +msgstr "Entrada MIDI en el Canal=%s Mensaje=%s" + +msgid "Input Event with Shortcut=%s" +msgstr "Evento de Entrada con Acceso Directo=%s" + msgid "Accept" msgstr "Aceptar" @@ -387,6 +437,9 @@ msgstr "Seleccionar Todo" msgid "Select Word Under Caret" msgstr "Seleccionar Palabra Debajo del Cursor" +msgid "Add Selection for Next Occurrence" +msgstr "Añadir Selección para la Siguiente Ocurrencia" + msgid "Clear Carets and Selection" msgstr "Borrar Cursores y Selección" @@ -402,6 +455,9 @@ msgstr "Duplicar Nodos" msgid "Delete Nodes" msgstr "Eliminar Nodos" +msgid "Go Up One Level" +msgstr "Ir al Nivel Superior" + msgid "Refresh" msgstr "Recargar" @@ -477,6 +533,9 @@ msgstr "" msgid "An action with the name '%s' already exists." msgstr "Ya existe una acción con el nombre '%s'." +msgid "Cannot Revert - Action is same as initial" +msgstr "No se Puede Revertir - La acción es la misma que la inicial" + msgid "Revert Action" msgstr "Revertir Acción" @@ -535,7 +594,22 @@ msgid "Delete Selected Key(s)" msgstr "Eliminar Clave(s) Seleccionada(s)" msgid "Make Handles Free" -msgstr "Hacer los Manipuladores libres" +msgstr "Hacer Manipuladores libres" + +msgid "Make Handles Linear" +msgstr "Hacer Manipuladores lineales" + +msgid "Make Handles Balanced" +msgstr "Hacer Manipuladores equilibrados" + +msgid "Make Handles Mirrored" +msgstr "Hacer Manipuladores simétricos" + +msgid "Make Handles Balanced (Auto Tangent)" +msgstr "Hacer Manipuladores balanceados (Tangentes Automáticas)" + +msgid "Make Handles Mirrored (Auto Tangent)" +msgstr "Hacer Manipuladores simétricos (Tangentes Automáticas)" msgid "Add Bezier Point" msgstr "Añadir Punto Bezier" @@ -588,6 +662,16 @@ msgstr "Cambiar Duración de la Animación" msgid "Change Animation Loop" msgstr "Cambiar Loop de la Animación" +msgid "Can't change loop mode on animation instanced from imported scene." +msgstr "" +"No se puede cambiar el modo de bucle en una animación creada a partir de una " +"escena importada." + +msgid "Can't change loop mode on animation embedded in another scene." +msgstr "" +"No se puede cambiar el modo de bucle en una animación incrustada en otra " +"escena." + msgid "Property Track" msgstr "Pista de Propiedades" @@ -687,6 +771,18 @@ msgstr "In-Handle:" msgid "Out-Handle:" msgstr "Mango de Salida:" +msgid "Handle mode: Free\n" +msgstr "Modo de manejo: Libre\n" + +msgid "Handle mode: Linear\n" +msgstr "Modo de manejo: Lineal\n" + +msgid "Handle mode: Balanced\n" +msgstr "Modo de manejo: Equilibrado\n" + +msgid "Handle mode: Mirrored\n" +msgstr "Modo de manejo: Reflejado\n" + msgid "Stream:" msgstr "Flujo:" @@ -702,6 +798,9 @@ msgstr "Clip de Animación:" msgid "Toggle Track Enabled" msgstr "Act./Desact. Pista" +msgid "Don't Use Blend" +msgstr "No Usar Mezcla" + msgid "Continuous" msgstr "Continuo" @@ -756,6 +855,13 @@ msgstr "Cambiar Modo Loop de Animación" msgid "Change Animation Use Blend" msgstr "Cambiar Uso de Mezcla en la Animación" +msgid "" +"Compressed tracks can't be edited or removed. Re-import the animation with " +"compression disabled in order to edit." +msgstr "" +"Las pistas comprimidas no pueden editarse ni eliminarse. Vuelve a importar " +"la animación con la compresión desactivada para poder editarla." + msgid "Remove Anim Track" msgstr "Eliminar Pista de Animación" @@ -927,6 +1033,9 @@ msgstr "Selecciona un nodo AnimationPlayer para crear y editar animaciones." msgid "Imported Scene" msgstr "Escena Importada" +msgid "Toggle between the bezier curve editor and track editor." +msgstr "Alterna entre el editor de curvas bezier y el editor de trazados." + msgid "Only show tracks from nodes selected in tree." msgstr "Mostrar solo las pistas de los nodos seleccionados en el árbol." @@ -1032,6 +1141,9 @@ msgstr "Limpiar" msgid "Scale Ratio:" msgstr "Relación de Escala:" +msgid "Select Transition and Easing" +msgstr "Seleccione Transición y Easing" + msgid "Animation Baker" msgstr "Baker de Animación" @@ -1148,6 +1260,9 @@ msgstr "Seleccionar Método" msgid "Filter Methods" msgstr "Filtrar Métodos" +msgid "No method found matching given filters." +msgstr "No se ha encontrado ningún método que coincida con los filtros dados." + msgid "Script Methods Only" msgstr "Solo Métodos de Script" @@ -1163,6 +1278,9 @@ msgstr "Añadir un Argumento de Llamada extra:" msgid "Extra Call Arguments:" msgstr "Argumentos extras de llamada:" +msgid "Allows to drop arguments sent by signal emitter." +msgstr "Permite soltar los argumentos enviados por el emisor de señales." + msgid "Unbind Signal Arguments:" msgstr "Desvincular Argumentos de Señal:" @@ -1402,6 +1520,9 @@ msgstr "CPU" msgid "GPU" msgstr "GPU" +msgid "Execution resumed." +msgstr "Se ha reanudado la ejecución." + msgid "Bytes:" msgstr "Bytes:" @@ -1587,6 +1708,11 @@ msgstr "Propietarios de: %s (Total: %d)" msgid "Localization remap" msgstr "Redirección de Localización" +msgid "Localization remap for path '%s' and locale '%s'." +msgstr "" +"Reasignación de localización para la ruta '%s' y la configuración regional " +"'%s'." + msgid "" "Remove the selected files from the project? (Cannot be undone.)\n" "Depending on your filesystem configuration, the files will either be moved " @@ -1947,6 +2073,9 @@ msgstr "Añadir Autoload" msgid "Path:" msgstr "Ruta:" +msgid "Set path or press \"%s\" to create a script." +msgstr "Establece la ruta o pulsa \"%s\" para crear un script." + msgid "Node Name:" msgstr "Nombre del Nodo:" @@ -1980,26 +2109,108 @@ msgstr "Vulkan" msgid "Text Server: Fallback" msgstr "Servidor de Texto: Fallback" +msgid "Text Server: Advanced" +msgstr "Servidor de texto: Avanzado" + +msgid "TTF, OTF, Type 1, WOFF1 Fonts" +msgstr "TTF, OTF, Type 1, WOFF1 Fonts" + msgid "WOFF2 Fonts" msgstr "Fuentes WOFF2" msgid "SIL Graphite Fonts" msgstr "Fuentes SIL Graphite" +msgid "Multi-channel Signed Distance Field Font Rendering" +msgstr "Renderizado de fuentes de campo de distancia con signo multicanal" + +msgid "3D Nodes as well as RenderingServer access to 3D features." +msgstr "" +"Los nodos 3D, así como el RenderingServer, tienen acceso a las " +"características en 3D." + msgid "2D Physics nodes and PhysicsServer2D." msgstr "Nodos de física 2D y PhysicsServer2D." +msgid "3D Physics nodes and PhysicsServer3D." +msgstr "Nodos de Física 3D y PhysicsServer3D." + msgid "Navigation, both 2D and 3D." msgstr "Navigation, tanto en 2D como en 3D." +msgid "XR (AR and VR)." +msgstr "XR (AR y VR)." + +msgid "" +"RenderingDevice based rendering (if disabled, the OpenGL back-end is " +"required)." +msgstr "" +"RenderingDevice basado en dispositivos (si está desactivado, se requiere el " +"back-end OpenGL)." + +msgid "" +"OpenGL back-end (if disabled, the RenderingDevice back-end is required)." +msgstr "" +"OpenGL back-end (si está desactivado, se requiere el back-end " +"RenderingDevice)." + +msgid "Vulkan back-end of RenderingDevice." +msgstr "Vulkan back-end de RenderingDevice." + +msgid "" +"Fallback implementation of Text Server\n" +"Supports basic text layouts." +msgstr "" +"Implementación alternativa del Text Server\n" +"Admite diseños de texto básicos." + +msgid "" +"Text Server implementation powered by ICU and HarfBuzz libraries.\n" +"Supports complex text layouts, BiDi, and contextual OpenType font features." +msgstr "" +"Implementación del Text Server mediante las bibliotecas ICU y HarfBuzz.\n" +"Admite diseños de texto complejos, BiDi y funciones contextuales de fuentes " +"OpenType." + +msgid "" +"TrueType, OpenType, Type 1, and WOFF1 font format support using FreeType " +"library (if disabled, WOFF2 support is also disabled)." +msgstr "" +"Compatibilidad con los formatos de fuente TrueType, OpenType, Type 1 y WOFF1 " +"mediante la biblioteca FreeType (si se desactiva, también se desactiva la " +"compatibilidad con WOFF2)." + +msgid "WOFF2 font format support using FreeType and Brotli libraries." +msgstr "" +"Compatibilidad con el formato de fuente WOFF2 utilizando las bibliotecas " +"FreeType y Brotli." + +msgid "" +"SIL Graphite smart font technology support (supported by Advanced Text " +"Server only)." +msgstr "" +"Compatibilidad con la tecnología de fuentes inteligentes SIL Graphite (sólo " +"compatible con Advanced Text Server)." + +msgid "" +"Multi-channel signed distance field font rendering support using msdfgen " +"library (pre-rendered MSDF fonts can be used even if this option disabled)." +msgstr "" +"Soporte de renderizado de fuentes de campo de distancia con signo multicanal " +"mediante la biblioteca msdfgen (se pueden utilizar fuentes MSDF pre-" +"renderizadas incluso si esta opción está desactivada)." + msgid "General Features:" msgstr "Características Generales:" +msgid "Text Rendering and Font Options:" +msgstr "Renderizado de texto y opciones de fuente:" + msgid "File saving failed." msgstr "Error al guardar el archivo." msgid "Nodes and Classes:" -msgstr "Clases y Nodos:" +msgstr "Nodos y Clases:" msgid "File '%s' format is invalid, import aborted." msgstr "" @@ -2032,12 +2243,18 @@ msgstr "Configurar Perfil de Construcción del Motor:" msgid "Please Confirm:" msgstr "Confirma, por favor:" +msgid "Engine Build Profile" +msgstr "Perfil de construcción del motor" + msgid "Load Profile" msgstr "Cargar Perfil" msgid "Export Profile" msgstr "Exportar Perfil" +msgid "Forced classes on detect:" +msgstr "Clases forzadas para detectar:" + msgid "Edit Build Configuration Profile" msgstr "Editar Perfil de Configuración de Compilación" @@ -2138,6 +2355,11 @@ msgstr "" "Permite configurar los ajustes de importación para assets individuales. " "Requiere el dock FileSystem para funcionar." +msgid "Provides an overview of the editor's and each scene's undo history." +msgstr "" +"Proporciona una visión general del historial de deshacer del editor y de " +"cada escena." + msgid "(current)" msgstr "(actual)" @@ -2238,6 +2460,19 @@ msgstr "Abrir" msgid "Select Current Folder" msgstr "Seleccionar Carpeta Actual" +msgid "Cannot save file with an empty filename." +msgstr "No se puede guardar un archivo con un nombre vacío." + +msgid "Cannot save file with a name starting with a dot." +msgstr "No se puede guardar un archivo cuyo nombre empiece por punto." + +msgid "" +"File \"%s\" already exists.\n" +"Do you want to overwrite it?" +msgstr "" +"El fichero \"%s\" ya existe.\n" +"¿Desea sobrescribirlo?" + msgid "Select This Folder" msgstr "Seleccionar Esta Carpeta" @@ -2274,6 +2509,9 @@ msgstr "Abrir un archivo o directorio" msgid "Save a File" msgstr "Guardar un Archivo" +msgid "Favorited folder does not exist anymore and will be removed." +msgstr "La carpeta favorita ya no existe y será eliminada." + msgid "Go Back" msgstr "Retroceder" @@ -2445,6 +2683,9 @@ msgstr "" msgid "Description" msgstr "Descripción" +msgid "There is currently no description for this class." +msgstr "Actualmente no hay descripción para esta clase." + msgid "" "There is currently no description for this class. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" @@ -2500,6 +2741,9 @@ msgstr "Enumeraciones" msgid "Annotations" msgstr "Anotaciones" +msgid "There is currently no description for this annotation." +msgstr "Actualmente no hay descripción para esta anotación." + msgid "" "There is currently no description for this annotation. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" @@ -2513,6 +2757,9 @@ msgstr "Descripciones de Propiedades" msgid "(value)" msgstr "(valor)" +msgid "There is currently no description for this property." +msgstr "Actualmente no hay descripción para esta propiedad." + msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" @@ -2601,6 +2848,12 @@ msgstr "Propiedad" msgid "Theme Property" msgstr "Propiedades del Theme" +msgid "This member is marked as deprecated." +msgstr "Este miembro está marcado como obsoleto." + +msgid "This member is marked as experimental." +msgstr "Este miembro está marcado como experimental." + msgid "Property:" msgstr "Propiedad:" @@ -2617,6 +2870,9 @@ msgstr "Fijar un valor obliga a guardarlo aunque sea igual al predeterminado." msgid "Open Documentation" msgstr "Abrir Documentación" +msgid "Element %d: %s%d*" +msgstr "Elemento %d: %s%d*" + msgid "Move Up" msgstr "Subir" @@ -2668,12 +2924,20 @@ msgstr "Desfijado %s" msgid "Add metadata %s" msgstr "Añadir Metadatos %s" +msgid "Metadata name can't be empty." +msgstr "El nombre de los metadatos no puede estar vacío." + msgid "Metadata name must be a valid identifier." msgstr "El nombre de los metadatos debe ser un identificador válido." msgid "Metadata with name \"%s\" already exists." msgstr "Los metadatos con el nombre \"%s\" ya existen." +msgid "Names starting with _ are reserved for editor-only metadata." +msgstr "" +"Los nombres que empiezan por _ están reservados para metadatos exclusivos " +"del editor." + msgid "Metadata name is valid." msgstr "El nombre de los metadatos es válido." @@ -2751,6 +3015,12 @@ msgstr "Limpiar Salida" msgid "Copy Selection" msgstr "Copiar Selección" +msgid "" +"Collapse duplicate messages into one log entry. Shows number of occurrences." +msgstr "" +"Agrupa los mensajes duplicados en una sola entrada de registro. Muestra el " +"número de apariciones." + msgid "Toggle visibility of standard output messages." msgstr "Cambiar visibilidad de los mensajes de salida estándar." @@ -3609,6 +3879,9 @@ msgstr "Abrir Editor siguiente" msgid "Open the previous Editor" msgstr "Abrir Editor anterior" +msgid "Ok" +msgstr "Ok" + msgid "Warning!" msgstr "¡Advertencia!" @@ -3681,12 +3954,31 @@ msgstr "Editar Nombres de Capas" msgid "<empty>" msgstr "<vacío>" +msgid "Temporary Euler may be changed implicitly!" +msgstr "¡El Euler temporal puede cambiarse implícitamente!" + +msgid "" +"Temporary Euler will not be stored in the object with the original value. " +"Instead, it will be stored as Quaternion with irreversible conversion.\n" +"This is due to the fact that the result of Euler->Quaternion can be " +"determined uniquely, but the result of Quaternion->Euler can be multi-" +"existent." +msgstr "" +"El Euler temporal no se almacenará en el objeto con el valor original. En su " +"lugar, se almacenará como Quaternion con conversión irreversible.\n" +"Esto se debe al hecho de que el resultado de Euler->Quaternion se puede " +"determinar de forma única, pero el resultado de Quaternion->Euler puede ser " +"multi-existente." + msgid "Assign..." msgstr "Asignar..." msgid "Invalid RID" msgstr "RID inválido" +msgid "Recursion detected, unable to assign resource to property." +msgstr "Recursión detectada, no se puede asignar el recurso a la propiedad." + msgid "" "Can't create a ViewportTexture on resources saved as a file.\n" "Resource needs to belong to a scene." @@ -3712,6 +4004,12 @@ msgstr "Selecciona un Viewport" msgid "Selected node is not a Viewport!" msgstr "¡El nodo seleccionado no es un Viewport!" +msgid "(Nil) %s" +msgstr "(Nulo) %s" + +msgid "%s (size %s)" +msgstr "%s (tamaño %s)" + msgid "Size:" msgstr "Tamaño:" @@ -3721,6 +4019,9 @@ msgstr "Eliminar Elemento" msgid "Dictionary (Nil)" msgstr "Diccionario (Nulo)" +msgid "Dictionary (size %d)" +msgstr "Diccionario (tamaño %d)" + msgid "New Key:" msgstr "Nueva Clave:" @@ -3773,6 +4074,9 @@ msgstr "Extender Script" msgid "New Shader" msgstr "Nuevo Shader" +msgid "No Remote Debug export presets configured." +msgstr "No hay preajustes de exportación de depuración remota configurados." + msgid "Remote Debug" msgstr "Depuración Remota" @@ -3844,6 +4148,42 @@ msgstr "Mostrar notificaciones." msgid "Silence the notifications." msgstr "Silenciar notificaciones." +msgid "Joystick 2 Left" +msgstr "Joystick 2 Izquierda" + +msgid "Left Trigger, Sony L2, Xbox LT, Joystick 2 Right" +msgstr "Gatillo Izquierdo, Sony L2, Xbox LT, Joystick 2, Derecho" + +msgid "Joystick 2 Up" +msgstr "Joystick 2 Arriba" + +msgid "Right Trigger, Sony R2, Xbox RT, Joystick 2 Down" +msgstr "Gatillo Derecho, Sony R2, Xbox RT, Joystick 2, Abajo" + +msgid "Joystick 3 Left" +msgstr "Joystick 3 Izquierda" + +msgid "Joystick 3 Right" +msgstr "Joystick 3 Derecha" + +msgid "Joystick 3 Up" +msgstr "Joystick 3 Arriba" + +msgid "Joystick 3 Down" +msgstr "Joystick 3 Abajo" + +msgid "Joystick 4 Left" +msgstr "Joystick 4 Izquierda" + +msgid "Joystick 4 Right" +msgstr "Joystick 4 Derecha" + +msgid "Joystick 4 Up" +msgstr "Joystick 4 Arriba" + +msgid "Joystick 4 Down" +msgstr "Joystick 4 Abajo" + msgid "Joypad Axis %d %s (%s)" msgstr "Eje del Joypad %d %s (%s)" @@ -3853,6 +4193,9 @@ msgstr "Todos los Dispositivos" msgid "Device" msgstr "Dispositivo" +msgid "Listening for input..." +msgstr "Esperando entrada..." + msgid "Filter by event..." msgstr "Filtrar por evento..." @@ -4220,12 +4563,18 @@ msgid "Export all resources in the project except resources checked below" msgstr "" "Exportar todos los recursos del proyecto, excepto los marcados a continuación" +msgid "Export as dedicated server" +msgstr "Exportar como servidor dedicado" + msgid "Export Mode:" msgstr "Modo de Exportación:" msgid "Resources to export:" msgstr "Recursos a exportar:" +msgid "Strip Visuals" +msgstr "Strip Visuals" + msgid "Keep" msgstr "Conservar" @@ -4255,6 +4604,12 @@ msgstr "Lista de Características:" msgid "Encryption" msgstr "Cifrado" +msgid "Encrypt Exported PCK" +msgstr "Cifrar PCK exportados" + +msgid "Encrypt Index (File Names and Info)" +msgstr "Índice de encriptación (nombres de archivos e información)" + msgid "" "Filters to include files/folders\n" "(comma-separated, e.g: *.tscn, *.tres, scenes/*)" @@ -4319,15 +4674,31 @@ msgstr "Administrar Plantillas de Exportación" msgid "Export With Debug" msgstr "Exportar Con Depuración" +msgid "Path to FBX2glTF executable is empty." +msgstr "La ruta al ejecutable FBX2glTF está vacía." + msgid "Path to FBX2glTF executable is invalid." msgstr "La ruta al ejecutable FBX2glTF es inválida." +msgid "Error executing this file (wrong version or architecture)." +msgstr "Error al ejecutar este archivo (versión o arquitectura incorrecta)." + msgid "FBX2glTF executable is valid." msgstr "El ejecutable FBX2glTF es válido." msgid "Configure FBX Importer" msgstr "Configurar el Importador de FBX" +msgid "" +"FBX2glTF is required for importing FBX files.\n" +"Please download it and provide a valid path to the binary:" +msgstr "" +"FBX2glTF es necesario para importar archivos FBX.\n" +"Por favor, descárguelo y proporcione una ruta válida al binario:" + +msgid "Click this link to download FBX2glTF" +msgstr "Haga clic en este enlace para descargar FBX2glTF" + msgid "Browse" msgstr "Examinar" @@ -4611,6 +4982,9 @@ msgstr "Editor de Grupos" msgid "Manage Groups" msgstr "Administrar Grupos" +msgid "The Beginning" +msgstr "El principio" + msgid "Global" msgstr "Global" @@ -4626,12 +5000,49 @@ msgstr "Activar bucle." msgid "Offset:" msgstr "Offset:" +msgid "" +"Loop offset (from beginning). Note that if BPM is set, this setting will be " +"ignored." +msgstr "" +"Offset del bucle (desde el principio). Tenga en cuenta que si se establece " +"BPM, este ajuste será ignorado." + msgid "Loop:" msgstr "Bucle:" +msgid "BPM:" +msgstr "BPM:" + +msgid "" +"Configure the Beats Per Measure (tempo) used for the interactive streams.\n" +"This is required in order to configure beat information." +msgstr "" +"Configure los tiempos por compás (tempo) utilizados para las secuencias " +"interactivas.\n" +"Esto es necesario para configurar la información de compás." + msgid "Beat Count:" msgstr "Recuento de Tiempos:" +msgid "" +"Configure the amount of Beats used for music-aware looping. If zero, it will " +"be autodetected from the length.\n" +"It is recommended to set this value (either manually or by clicking on a " +"beat number in the preview) to ensure looping works properly." +msgstr "" +"Configura la cantidad de Beats utilizados para el looping music-aware. Si es " +"cero, se autodetectará a partir de la duración.\n" +"Se recomienda ajustar este valor (ya sea manualmente o haciendo clic en un " +"número de compás en la vista previa) para garantizar que el bucle funcione " +"correctamente." + +msgid "" +"Configure the Beats Per Bar. This used for music-aware transitions between " +"AudioStreams." +msgstr "" +"Configure los beats por barra. Se utiliza para transiciones musicales entre " +"AudioStreams." + msgid "Music Playback:" msgstr "Reproducción de Música:" @@ -4641,12 +5052,59 @@ msgstr "Nueva Configuración" msgid "Remove Variation" msgstr "Eliminar Variación" +msgid "Preloaded glyphs: %d" +msgstr "Glifos precargados: %d" + +msgid "" +"Warning: There are no configurations specified, no glyphs will be pre-" +"rendered." +msgstr "" +"Advertencia: No hay configuraciones especificadas, ningún glifo será pre-" +"renderizado." + +msgid "" +"Warning: Multiple configurations have identical settings. Duplicates will be " +"ignored." +msgstr "" +"Advertencia: Varias configuraciones tienen ajustes idénticos. Se ignorarán " +"los duplicados." + +msgid "" +"Note: LCD Subpixel antialiasing is selected, each of the glyphs will be pre-" +"rendered for all supported subpixel layouts (5x)." +msgstr "" +"Nota: LCD Antialiasing de subpíxeles está seleccionado, cada uno de los " +"glifos será pre-renderizado para todos los diseños de subpíxeles soportados " +"(5x)." + +msgid "" +"Note: Subpixel positioning is selected, each of the glyphs might be pre-" +"rendered for multiple subpixel offsets (up to 4x)." +msgstr "" +"Nota: Si se selecciona el posicionamiento por subpíxeles, cada uno de los " +"glifos puede ser pre-renderizado para múltiples desplazamientos de " +"subpíxeles (hasta 4x)." + +msgid "Advanced Import Settings for '%s'" +msgstr "Configuración avanzada de importación para '%s" + msgid "Rendering Options" msgstr "Opciones de Renderizado" +msgid "Select font rendering options, fallback font, and metadata override:" +msgstr "" +"Seleccione las opciones de representación de la fuente, la fuente " +"alternativa y la anulación de metadatos:" + msgid "Pre-render Configurations" msgstr "Configuraciones de Prerenderizado" +msgid "" +"Add font size, and variation coordinates, and select glyphs to pre-render:" +msgstr "" +"Añada el tamaño de la fuente y las coordenadas de variación, y seleccione " +"los glifos que desea pre-renderizar:" + msgid "Configuration:" msgstr "Configuración:" @@ -4659,6 +5117,57 @@ msgstr "Borrar Lista de Glifos" msgid "Glyphs from the Translations" msgstr "Glifos de las Traducciones" +msgid "Select translations to add all required glyphs to pre-render list:" +msgstr "" +"Seleccione traducciones para añadir todos los glifos necesarios a la lista " +"de pre-renderizado:" + +msgid "Shape all Strings in the Translations and Add Glyphs" +msgstr "Dar forma a todas las cadenas en las traducciones y añadir glifos" + +msgid "Glyphs from the Text" +msgstr "Glifos del texto" + +msgid "" +"Enter a text and select OpenType features to shape and add all required " +"glyphs to pre-render list:" +msgstr "" +"Introduzca un texto y seleccione las características OpenType para dar forma " +"y añadir todos los glifos requeridos a la lista de pre-renderizado:" + +msgid "Shape Text and Add Glyphs" +msgstr "Dar forma al texto y añadir glifos" + +msgid "Glyphs from the Character Map" +msgstr "Glifos del mapa de caracteres" + +msgid "" +"Add or remove glyphs from the character map to pre-render list:\n" +"Note: Some stylistic alternatives and glyph variants do not have one-to-one " +"correspondence to character, and not shown in this map, use \"Glyphs from " +"the text\" tab to add these." +msgstr "" +"Añada o elimine glifos del mapa de caracteres a la lista de pre-" +"renderizado:\n" +"Nota: Algunas alternativas estilísticas y variantes de glifos no tienen " +"correspondencia uno a uno con el carácter, y no se muestran en este mapa, " +"utilice la pestaña \"Glifos del texto\" para añadirlos." + +msgid "Dynamically rendered TrueType/OpenType font" +msgstr "Fuente TrueType/OpenType renderizada dinámicamente" + +msgid "Prerendered multichannel(+true) signed distance field" +msgstr "Campo de distancia con signo preprocesado multicanal(+true)" + +msgid "Can't load font texture:" +msgstr "No se puede cargar la textura de la fuente:" + +msgid "Image margin too big." +msgstr "Margen de imagen demasiado grande." + +msgid "Character margin too bit." +msgstr "Margen de caracteres demasiado pequeño." + msgid "Pre-Import Scene" msgstr "Pre-Importar Escena" @@ -4732,12 +5241,45 @@ msgstr "<Material sin Nombre>" msgid "Import ID: %s" msgstr "ID de Importación: %s" +msgid "" +"Type: %s\n" +"Import ID: %s" +msgstr "" +"Tipo: %s\n" +"ID de importación: %s" + msgid "Error opening scene" msgstr "Error al abrir la escena" +msgid "Advanced Import Settings for AnimationLibrary '%s'" +msgstr "Configuración avanzada de importación para AnimationLibrary '%s'" + +msgid "Advanced Import Settings for Scene '%s'" +msgstr "Configuración avanzada de importación para la escena \"%s" + msgid "Select folder to extract material resources" msgstr "Selecciona una carpeta para extraer los recursos de material" +msgid "Select folder where mesh resources will save on import" +msgstr "" +"Seleccione la carpeta en la que se guardarán los recursos del Mesh al " +"importarlos" + +msgid "Select folder where animations will save on import" +msgstr "" +"Seleccione la carpeta donde se guardarán las animaciones al importarlas" + +msgid "Existing file with the same name will be replaced." +msgstr "Se sustituirá el archivo existente con el mismo nombre." + +msgid "" +"This material already references an external file, no action will be taken.\n" +"Disable the external property for it to be extracted again." +msgstr "" +"Este material ya hace referencia a un fichero externo, no se realizará " +"ninguna acción.\n" +"Desactive la propiedad externa para que se vuelva a extraer." + msgid "" "Material has no name nor any other way to identify on re-import.\n" "Please name it or ensure it is exported with an unique ID." @@ -4746,9 +5288,30 @@ msgstr "" "reimportación.\n" "Por favor, dale un nombre o asegúrese de exportarlo con un ID único." +msgid "Extract Materials to Resource Files" +msgstr "Extraer materiales a archivos de recursos" + msgid "Extract" msgstr "Extraer" +msgid "" +"This mesh already saves to an external resource, no action will be taken." +msgstr "" +"Este Mesh ya está guardado en un recurso externo, no se realizará ninguna " +"acción." + +msgid "Existing file with the same name will be replaced on import." +msgstr "" +"El archivo existente con el mismo nombre será sustituido en la importación." + +msgid "" +"Mesh has no name nor any other way to identify on re-import.\n" +"Please name it or ensure it is exported with an unique ID." +msgstr "" +"El Mesh no tiene nombre ni ninguna otra forma de identificarlo al " +"reimportarlo.\n" +"Por favor, ponle un nombre o asegúrate de que se exporta con un ID único." + msgid "Set paths to save meshes as resource files on Reimport" msgstr "" "Establecer rutas para guardar las mallas como archivos de recursos al " @@ -4757,11 +5320,21 @@ msgstr "" msgid "Set Paths" msgstr "Establecer Rutas" +msgid "" +"This animation already saves to an external resource, no action will be " +"taken." +msgstr "" +"Esta animación ya está guardada en un recurso externo, no se realizará " +"ninguna acción." + msgid "Set paths to save animations as resource files on Reimport" msgstr "" "Establecer rutas para guardar animaciones como archivos de recursos al " "Reimportar" +msgid "Can't make material external to file, write error:" +msgstr "No se puede hacer material externo al archivo, error de escritura:" + msgid "Actions..." msgstr "Acciones..." @@ -4771,6 +5344,9 @@ msgstr "Extraer Materiales" msgid "Set Animation Save Paths" msgstr "Establecer Rutas de Guardado de Animaciones" +msgid "Set Mesh Save Paths" +msgstr "Establecer rutas de guardado del Mesh" + msgid "Meshes" msgstr "Mallas" @@ -4877,6 +5453,32 @@ msgstr "Dispositivo:" msgid "Command / Control (auto)" msgstr "Comando / Control (auto)" +msgid "" +"Automatically remaps between 'Meta' ('Command') and 'Control' depending on " +"current platform." +msgstr "" +"Reasigna automáticamente entre 'Meta' ('Command') y 'Control' dependiendo de " +"la plataforma actual." + +msgid "Keycode (Latin Equivalent)" +msgstr "Código de tecla (equivalente latino)" + +msgid "Physical Keycode (Position on US QWERTY Keyboard)" +msgstr "Código de teclas físicas (posición en el teclado QWERTY de EE.UU.)" + +msgid "Key Label (Unicode, Case-Insensitive)" +msgstr "Etiqueta de tecla (Unicode, distingue mayúsculas de minúsculas)" + +msgid "" +"The following resources will be duplicated and embedded within this resource/" +"object." +msgstr "" +"Los siguientes recursos serán duplicados e incrustados dentro de este " +"recurso/objeto." + +msgid "This object has no resources." +msgstr "Este objeto no tiene recursos." + msgid "Failed to load resource." msgstr "Error al cargar el recurso." @@ -4890,7 +5492,7 @@ msgid "Property Name Style" msgstr "Estilo de Nombre de Propiedad" msgid "Raw" -msgstr "Raw" +msgstr "Crudo" msgid "Capitalized" msgstr "Capitalización" @@ -4952,6 +5554,9 @@ msgstr "Filtrar Propiedades" msgid "Manage object properties." msgstr "Administrar propiedades de los objetos." +msgid "This cannot be undone. Are you sure?" +msgstr "Esto no se puede deshacer. ¿Estás seguro?" + msgid "Add %d Translations" msgstr "Añadir %d Traducciones" @@ -4973,6 +5578,12 @@ msgstr "Eliminar Remapeo de Recursos" msgid "Remove Resource Remap Option" msgstr "Eliminar Opción de Remapeo de Recursos" +msgid "Add %d file(s) for POT generation" +msgstr "Añadir archivo(s) %d para la generación de POT" + +msgid "Remove file from POT generation" +msgstr "Eliminar archivo de la generación POT" + msgid "Removed" msgstr "Eliminado" @@ -5000,6 +5611,9 @@ msgstr "Idioma" msgid "POT Generation" msgstr "Generación de POT" +msgid "Files with translation strings:" +msgstr "Archivos con cadenas de traducción:" + msgid "Generate POT" msgstr "Generar POT" @@ -5012,6 +5626,14 @@ msgstr "%s (%d Seleccionado)" msgid "Select a single node to edit its signals and groups." msgstr "Selecciona un único nodo para editar sus señales y grupos." +msgid "Plugin name cannot be blank." +msgstr "El nombre del plugin no puede estar en blanco." + +msgid "Script extension must match chosen language extension (.%s)." +msgstr "" +"La extensión del script debe coincidir con la extensión del idioma elegido (." +"%s)." + msgid "Subfolder name is not a valid folder name." msgstr "El nombre de la subcarpeta no es un nombre de carpeta válido." @@ -5277,6 +5899,9 @@ msgstr "" msgid "Animation with the same name already exists." msgstr "Ya existe una animación con el mismo nombre." +msgid "Enter a library name." +msgstr "Introduzca el nombre de la biblioteca." + msgid "Library name contains invalid characters: '/', ':', ',' or '['." msgstr "" "Nombre de librería contiene caracteres inválidos: '/', ':', ',' or '['." @@ -5287,6 +5912,9 @@ msgstr "Ya existe una librería con el mismo nombre." msgid "Animation name is valid." msgstr "El nombre de la animación es válido." +msgid "Global library will be created." +msgstr "Se creará una biblioteca global." + msgid "Library name is valid." msgstr "El nombre de la librería es válido." @@ -5316,6 +5944,9 @@ msgstr "" msgid "Save Library" msgstr "Guardar Librería" +msgid "Make Animation Library Unique: %s" +msgstr "Hacer que la biblioteca de animación sea única: %s" + msgid "" "This animation can't be saved because it does not belong to the edited " "scene. Make it unique first." @@ -5339,9 +5970,15 @@ msgstr "Hacer Animación Única: %s" msgid "Invalid AnimationLibrary file." msgstr "Archivo AnimationLibrary inválido." +msgid "This library is already added to the player." +msgstr "Esta biblioteca ya está añadida al reproductor." + msgid "Invalid Animation file." msgstr "Archivo Animation inválido." +msgid "This animation is already added to the library." +msgstr "Esta animación ya está añadida a la biblioteca." + msgid "Load Animation into Library: %s" msgstr "Cargar Animación en Librería: %s" @@ -5378,12 +6015,21 @@ msgstr "Eliminar Librería de Animación: %s" msgid "Remove Animation from Library: %s" msgstr "Eliminar Animación de la Librería: %s" +msgid "[built-in]" +msgstr "[incorporado]" + +msgid "[foreign]" +msgstr "[foráneo]" + msgid "[imported]" msgstr "[importado]" msgid "Add Animation to Library" msgstr "Añadir Animación a la Librería" +msgid "Load animation from file and add to library" +msgstr "Cargar animación desde archivo y añadir a biblioteca" + msgid "Paste Animation to Library from clipboard" msgstr "Pegar Animación a la Biblioteca desde el portapapeles" @@ -5533,6 +6179,10 @@ msgstr "Forzar Modulación en Blanco" msgid "Include Gizmos (3D)" msgstr "Incluir Gizmos (3D)" +msgid "Onion Skinning temporarily disabled due to rendering bug." +msgstr "" +"Desactivación temporal de Onion Skinning debido a un error de renderizado." + msgid "Pin AnimationPlayer" msgstr "Fijar AnimationPlayer" @@ -5587,6 +6237,17 @@ msgstr "Nodo Eliminado" msgid "Transition Removed" msgstr "Transición Eliminada" +msgid "" +"Select and move nodes.\n" +"RMB: Add node at position clicked.\n" +"Shift+LMB+Drag: Connects the selected node with another node or creates a " +"new node if you select an area without nodes." +msgstr "" +"Seleccionar y mover nodos.\n" +"RMB: Añade un nodo en la posición seleccionada.\n" +"Shift+LMB+Drag: Conecta el nodo seleccionado con otro nodo o crea un nuevo " +"nodo si seleccionas un área sin nodos." + msgid "Create new nodes." msgstr "Crear nuevos nodos." @@ -5605,6 +6266,9 @@ msgstr "Eliminar el nodo o transición seleccionado/a." msgid "Transition:" msgstr "Transición:" +msgid "New Transitions Should Auto Advance" +msgstr "Nuevas transiciones en Auto Advance" + msgid "Play Mode:" msgstr "Modo de Reproducción:" @@ -5767,6 +6431,15 @@ msgstr "" "No se encontraron resultados para \"%s\" para el(los) nivel(es) de soporte: " "%s." +msgid "" +"No results compatible with %s %s for support level(s): %s.\n" +"Check the enabled support levels using the 'Support' button in the top-right " +"corner." +msgstr "" +"No hay resultados compatibles con %s %s para nivel(es) de soporte: %s.\n" +"Compruebe los niveles de compatibilidad activados mediante el botón " +"\"Compatibilidad\" situado en la esquina superior derecha." + msgid "Search Templates, Projects, and Demos" msgstr "Buscar Plantillas, Proyectos y Demostraciones" @@ -5803,6 +6476,9 @@ msgstr "Previsualización de Audio Reproducir/Pausar" msgid "Bone Picker:" msgstr "Selector de Hueso:" +msgid "Clear mappings in current group." +msgstr "Borra las asignaciones del grupo actual." + msgid "Preview" msgstr "Vista Previa" @@ -5902,6 +6578,12 @@ msgstr "Pegar Nodo(s) Aquí" msgid "Move Node(s) Here" msgstr "Mover Nodo(s) Aquí" +msgid "px" +msgstr "px" + +msgid "units" +msgstr "unidades" + msgid "Moving:" msgstr "Moviendo:" @@ -6023,6 +6705,12 @@ msgstr "Haz clic para cambiar el pivote de rotación de un objeto." msgid "Pan Mode" msgstr "Modo desplazamiento lateral" +msgid "" +"You can also use Pan View shortcut (Space by default) to pan in any mode." +msgstr "" +"También puede utilizar el atajo de vista Panorámica (Espacio por defecto) " +"para desplazarse en cualquier modo." + msgid "Ruler Mode" msgstr "Modo de Regla" @@ -6077,6 +6765,9 @@ msgstr "Ajustar a Otros Nodos" msgid "Snap to Guides" msgstr "Ajustar a las Guías" +msgid "Lock selected node, preventing selection and movement." +msgstr "Bloquea el nodo seleccionado, impidiendo la selección y el movimiento." + msgid "Lock Selected Node(s)" msgstr "Bloquear Nodo(s) Seleccionado(s)" @@ -6201,11 +6892,25 @@ msgstr "Dividir paso de cuadrícula por 2" msgid "Adding %s..." msgstr "Añadiendo %s..." +msgid "Drag and drop to add as child of current scene's root node." +msgstr "" +"Arrastrar y soltar para añadir como hijo del nodo raíz de la escena actual." + msgid "Hold Ctrl when dropping to add as child of selected node." msgstr "" "Mantén presionado Ctrl al soltar para agregar como hijo del nodo " "seleccionado." +msgid "Hold Shift when dropping to add as sibling of selected node." +msgstr "" +"Mantenga pulsada la tecla Shift al soltar para añadir como hermano del nodo " +"seleccionado." + +msgid "Hold Alt when dropping to add as a different node type." +msgstr "" +"Mantenga pulsada la tecla Alt al soltar para añadir como un tipo de nodo " +"diferente." + msgid "Cannot instantiate multiple nodes without root." msgstr "No se pueden instanciar varios nodos sin un nodo raíz." @@ -6224,6 +6929,28 @@ msgstr "Establecer Posición del Objetivo" msgid "Set Handle" msgstr "Establecer Manipulador" +msgid "This node doesn't have a control parent." +msgstr "Este nodo no tiene un control Padre." + +msgid "" +"Use the appropriate layout properties depending on where you are going to " +"put it." +msgstr "" +"Utilice las propiedades de diseño adecuadas en función de dónde vaya a " +"colocarlo." + +msgid "This node is a child of a container." +msgstr "Este nodo es hijo de un Contenedor." + +msgid "Use container properties for positioning." +msgstr "Utilice las propiedades del contenedor para el posicionamiento." + +msgid "This node is a child of a regular control." +msgstr "Este nodo es hijo de un control normal." + +msgid "Use anchors and the rectangle for positioning." +msgstr "Utilice anclajes y el rectángulo para el posicionamiento." + msgid "Container Default" msgstr "Contenedor Predeterminado" @@ -6293,6 +7020,13 @@ msgstr "Ancho Derecha" msgid "Full Rect" msgstr "Completo" +msgid "Some parents of the selected nodes do not support the Expand flag." +msgstr "" +"Algunos padres de los nodos seleccionados no admiten la opción Expandir." + +msgid "Align with Expand" +msgstr "Alinear y Expandir" + msgid "Change Vertical Size Flags" msgstr "Cambiar Indicadores de Tamaño Vertical" @@ -6599,7 +7333,7 @@ msgid "Generate Visibility AABB" msgstr "Generar AABB de visibilidad" msgid "GPUParticles3D" -msgstr "GPUParticles3D" +msgstr "GPUParticulas3D" msgid "Generate AABB" msgstr "Generar AABB" @@ -7451,7 +8185,7 @@ msgid "4 Viewports" msgstr "4 Viewports" msgid "Gizmos" -msgstr "Gizmos" +msgstr "Artilugio" msgid "View Origin" msgstr "Ver Origen" @@ -7893,6 +8627,9 @@ msgstr "No se pudo cargar el archivo en:" msgid "Save File As..." msgstr "Guardar Archivo Como..." +msgid "Can't obtain the script for reloading." +msgstr "No se puede obtener el script para recargar." + msgid "Can't obtain the script for running." msgstr "No se puede obtener el script para ejecutarlo." @@ -7929,6 +8666,9 @@ msgstr "Buscar Siguiente" msgid "Find Previous" msgstr "Buscar Anterior" +msgid "Filter Scripts" +msgstr "Filtrar Scripts" + msgid "Toggle alphabetical sorting of the method list." msgstr "Alternar la ordenación alfabética de la lista de métodos." @@ -7953,6 +8693,9 @@ msgstr "Reabrir Script Cerrado" msgid "Save All" msgstr "Guardar Todo" +msgid "Soft Reload Tool Script" +msgstr "Herramienta de Recarga Suave de Script" + msgid "Copy Script Path" msgstr "Copiar Ruta del Script" @@ -8020,6 +8763,9 @@ msgstr "Limpiar Scripts Recientes" msgid "Standard" msgstr "Estándar" +msgid "Plain Text" +msgstr "Texto Sin Formato" + msgid "Connections to method:" msgstr "Conexiones al método:" @@ -8047,6 +8793,9 @@ msgstr "Ir a Función" msgid "Only resources from filesystem can be dropped." msgstr "Sólo se pueden arrastrar/soltar recursos del sistema de archivos." +msgid "Can't drop nodes without an open scene." +msgstr "No se pueden soltar nodos sin una escena abierta." + msgid "Can't drop nodes because script '%s' is not used in this scene." msgstr "" "No se pueden soltar nodos porque el script '%s' no es usado en esta escena." @@ -8057,6 +8806,12 @@ msgstr "Buscar Símbolo" msgid "Pick Color" msgstr "Seleccionar Color" +msgid "Folding" +msgstr "Plegado" + +msgid "Indentation" +msgstr "Sangría" + msgid "Uppercase" msgstr "Mayúsculas" @@ -8081,6 +8836,9 @@ msgstr "Ir A" msgid "Delete Line" msgstr "Eliminar Línea" +msgid "Unindent" +msgstr "Sin Sangría" + msgid "Toggle Comment" msgstr "Act./Desact. Comentario" @@ -8156,9 +8914,18 @@ msgstr "Cargar Archivo de Shader" msgid "Load Shader Include File" msgstr "Cargar Archivo de Inclusión de Shader" +msgid "Save File" +msgstr "Guardar Archivo" + msgid "Save File As" msgstr "Guardar Archivo Como" +msgid "Open File in Inspector" +msgstr "Abrir Archivo en el Inspector" + +msgid "Close File" +msgstr "Cerrar Archivo" + msgid "Shader Editor" msgstr "Editor de Shader" @@ -8189,15 +8956,54 @@ msgstr "Reiniciar a la Pose de Reposo" msgid "Overwrite Rest Pose" msgstr "Sobrescribir la Pose de Reposo" +msgid "Set Bone Transform" +msgstr "Establecer Transformación de Hueso" + +msgid "Set Bone Rest" +msgstr "Establecer Pose de Descanso de los Huesos" + msgid "Create physical bones" msgstr "Crear huesos físicos" msgid "Export Skeleton Profile As..." msgstr "Exportar Perfil de Esqueleto Como..." +msgid "Set Bone Parentage" +msgstr "Establecer Parentesco de Huesos" + +msgid "Skeleton3D" +msgstr "Esqueleto3D" + +msgid "Reset All Bone Poses" +msgstr "Restablecer Todas las Poses de Huesos" + +msgid "Reset Selected Poses" +msgstr "Restablecer Poses Seleccionadas" + +msgid "Create Physical Skeleton" +msgstr "Crear Esqueleto Físico" + +msgid "Export Skeleton Profile" +msgstr "Exportar Perfil del Esqueleto" + +msgid "Insert key of all bone poses." +msgstr "Insertar clave de todas las poses de los huesos." + +msgid "Insert Key (All Bones)" +msgstr "Insertar Clave (Todos los Huesos)" + +msgid "Bone Transform" +msgstr "Transformación de Hueso" + msgid "Play IK" msgstr "Reproducir IK" +msgid "Create MeshInstance2D" +msgstr "Crear MeshInstance2D" + +msgid "MeshInstance2D Preview" +msgstr "Vista Previa de MeshInstance2D" + msgid "Create Polygon2D" msgstr "Crear Polygon2D" @@ -8219,6 +9025,9 @@ msgstr "Vista Previa de LightOccluder2D" msgid "Can't convert a Sprite2D from a foreign scene." msgstr "No se puede convertir un Sprite2D de una escena externa." +msgid "Sprite2D is empty!" +msgstr "¡Sprite2D está vacío!" + msgid "Can't convert a sprite using animation frames to mesh." msgstr "" "No se puede convertir en malla un sprite usando fotogramas de animación." @@ -8247,6 +9056,9 @@ msgstr "Geometría inválida, no es posible crear un oclusor de luz." msgid "Create LightOccluder2D Sibling" msgstr "Crear hermano de LightOccluder2D" +msgid "Sprite2D" +msgstr "Sprite2D" + msgid "Simplification:" msgstr "Simplificación:" @@ -8295,12 +9107,21 @@ msgstr "¿Eliminar Animación?" msgid "Change Animation FPS" msgstr "Cambiar FPS de Animación" +msgid "Set Frame Duration" +msgstr "Establecer Duración del Fotograma" + msgid "(empty)" msgstr "(vacío)" msgid "Animations:" msgstr "Animaciones:" +msgid "Animation Speed" +msgstr "Velocidad de Animación" + +msgid "Filter Animations" +msgstr "Filtrar Animaciones" + msgid "Delete Animation" msgstr "Eliminar Animación" @@ -8313,6 +9134,30 @@ msgstr "Duración del Fotograma:" msgid "Zoom Reset" msgstr "Resetear Zoom" +msgid "Add frame from file" +msgstr "Añadir fotograma desde archivo" + +msgid "Add frames from sprite sheet" +msgstr "Añadir fotogramas desde una hoja de sprites" + +msgid "Delete Frame" +msgstr "Eliminar Fotograma" + +msgid "Copy Frame" +msgstr "Copiar Fotograma" + +msgid "Insert Empty (Before Selected)" +msgstr "Insertar Vacío (Antes de Seleccionado)" + +msgid "Insert Empty (After Selected)" +msgstr "Insertar Vacío (Después de Seleccionado)" + +msgid "Move Frame Left" +msgstr "Mover Fotograma a Izquierda" + +msgid "Move Frame Right" +msgstr "Mover Fotograma a Derecha" + msgid "Select Frames" msgstr "Seleccionar Fotogramas" @@ -8341,6 +9186,15 @@ msgstr "" "Este shader ha sido modificado en el disco.\n" "¿Qué acción debe tomarse?" +msgid "%s Mipmaps" +msgstr "%s Mipmaps" + +msgid "Memory: %s" +msgstr "Memoria: %s" + +msgid "No Mipmaps" +msgstr "Sin Mipmaps" + msgid "Set Region Rect" msgstr "Establecer Region Rect" @@ -8362,6 +9216,12 @@ msgstr "Corte Automático" msgid "Step:" msgstr "Paso:" +msgid "Region Editor" +msgstr "Editor de Región" + +msgid "Edit Region" +msgstr "Editar Región" + msgid "Styleboxes" msgstr "Cajas de estilo" @@ -8389,6 +9249,9 @@ msgid_plural "{num} font sizes" msgstr[0] "1 tamaño de fuente" msgstr[1] "{num} tamaño de fuentes" +msgid "No font sizes found." +msgstr "No se han encontrado tamaños de fuente." + msgid "No icons found." msgstr "No se han encontrado icons." @@ -8420,6 +9283,12 @@ msgstr "Actualización del editor" msgid "Finalizing" msgstr "Finalizando" +msgid "Import Theme Items" +msgstr "Importar Elementos del Theme" + +msgid "Filter Items" +msgstr "Filtrar Elementos" + msgid "With Data" msgstr "Con Datos" @@ -8453,6 +9322,19 @@ msgstr "Seleccionar todos los elementos font visibles y sus datos." msgid "Deselect all visible font items." msgstr "Deseleccionar todos los elementos font visibles." +msgid "Font sizes" +msgstr "Tamaño de fuente" + +msgid "Select all visible font size items." +msgstr "Seleccionar todos los elementos de tamaño de fuente visibles." + +msgid "Select all visible font size items and their data." +msgstr "" +"Seleccionar todos los elementos de tamaño de fuente visibles y sus datos." + +msgid "Deselect all visible font size items." +msgstr "Deseleccionar todos los elementos de tamaño de fuente visibles." + msgid "Select all visible icon items." msgstr "Seleccionar todos los elementos icon visibles." @@ -8534,6 +9416,9 @@ msgstr "Eliminar Todos los Elementos Constant" msgid "Remove All Font Items" msgstr "Eliminar Todos los Elementos Font" +msgid "Remove All Font Size Items" +msgstr "Eliminar Todos los Elementos de Tamaño de Fuente" + msgid "Remove All Icon Items" msgstr "Eliminar Todos los Elementos de Iconos" @@ -8547,15 +9432,30 @@ msgstr "" "Este Theme está vacío.\n" "Añade más propiedades manualmente o impórtalas desde otro Theme." +msgid "Remove Theme Item" +msgstr "Eliminar Elemento de Theme" + msgid "Add Theme Type" msgstr "Añadir Tipo de Theme" +msgid "Create Theme Item" +msgstr "Crear Elemento de Theme" + msgid "Remove Theme Type" msgstr "Eliminar Tipo de Theme" msgid "Remove Data Type Items From Theme" msgstr "Eliminar Elementos de Tipo de Datos del Tema" +msgid "Remove Class Items From Theme" +msgstr "Eliminar Elementos de Clase del Theme" + +msgid "Remove Custom Items From Theme" +msgstr "Eliminar Elementos Personalizados del Theme" + +msgid "Remove All Items From Theme" +msgstr "Eliminar Todos los Elementos del Theme" + msgid "Add Color Item" msgstr "Añadir Elemento Color" @@ -8565,11 +9465,14 @@ msgstr "Añadir Elemento Constant" msgid "Add Font Item" msgstr "Añadir Elemento Font" +msgid "Add Font Size Item" +msgstr "Añadir Elemento de Tamaño de Fuente" + msgid "Add Icon Item" -msgstr "Añadir Elemento Icono" +msgstr "Añadir Elemento de Icono" msgid "Add Stylebox Item" -msgstr "Añadir Elemento Stylebox" +msgstr "Añadir Elemento de Stylebox" msgid "Rename Color Item" msgstr "Cambiar Nombre del Elemento Color" @@ -8580,11 +9483,17 @@ msgstr "Cambiar Nombre del Elemento Constant" msgid "Rename Font Item" msgstr "Renombrar Elemento Font" +msgid "Rename Font Size Item" +msgstr "Renombrar Elemento de Tamaño de Fuente" + msgid "Rename Icon Item" -msgstr "Renombrar Elemento Icon" +msgstr "Renombrar Elemento de Icono" msgid "Rename Stylebox Item" -msgstr "Renombrar Elemento Stylebox" +msgstr "Renombrar Elemento de Stylebox" + +msgid "Rename Theme Item" +msgstr "Renombrar Elemento del Theme" msgid "Invalid file, not a Theme resource." msgstr "Archivo inválido, no es un recurso del Theme." @@ -8687,6 +9596,30 @@ msgstr "Añadir Tipo" msgid "Override All Default Theme Items" msgstr "Sobreescribir Todos los Elementos del Tema por Defecto" +msgid "Override Theme Item" +msgstr "Anular Elemento del Theme" + +msgid "Set Color Item in Theme" +msgstr "Establecer Elemento de Color en el Theme" + +msgid "Set Constant Item in Theme" +msgstr "Establecer Elemento Constante en el Theme" + +msgid "Set Font Item in Theme" +msgstr "Establecer Elemento de Fuente en el Theme" + +msgid "Set Stylebox Item in Theme" +msgstr "Establecer Elemento Stylebox en el Theme" + +msgid "Pin Stylebox" +msgstr "Anclar Stylebox" + +msgid "Unpin Stylebox" +msgstr "Desanclar Stylebox" + +msgid "Set Theme Type Variation" +msgstr "Establecer Variante de Tipo de Theme" + msgid "Set Variation Base Type" msgstr "Establecer tipo de base de variación" @@ -8826,6 +9759,54 @@ msgstr "Archivo inválido, no es un recurso PackedScene." msgid "Reload the scene to reflect its most actual state." msgstr "Recargar la escena para reflejar su estado actual." +msgid "Atlas Merging" +msgstr "Combinar Atlas" + +msgid "Merge" +msgstr "Combinar" + +msgid "Please select two atlases or more." +msgstr "Por favor, selecciona dos o más atlas." + +msgid "Center View" +msgstr "Centrar Vista" + +msgid "Base Tiles" +msgstr "Tiles Base" + +msgid "Alternative Tiles" +msgstr "Tiles Alternativos" + +msgid "Reset Polygons" +msgstr "Restablecer Polígonos" + +msgid "Clear Polygons" +msgstr "Eliminar Polígonos" + +msgid "Rotate Polygons Right" +msgstr "Rotar Polígonos a la Derecha" + +msgid "Rotate Polygons Left" +msgstr "Rotar Polígonos a la Izquierda" + +msgid "Flip Polygons Horizontally" +msgstr "Invertir Polígonos Horizontalmente" + +msgid "Flip Polygons Vertically" +msgstr "Invertir Polígonos Verticalmente" + +msgid "Edit Polygons" +msgstr "Editar Polígonos" + +msgid "Add polygon tool" +msgstr "Añadir herramienta de polígonos" + +msgid "Delete points tool" +msgstr "Herramienta de eliminación de puntos" + +msgid "Reset to default tile shape" +msgstr "Restablecer forma del tile predeterminada" + msgid "Rotate Right" msgstr "Rotar a la Derecha" @@ -8838,24 +9819,128 @@ msgstr "Voltear Horizontalmente" msgid "Flip Vertically" msgstr "Voltear Verticalmente" +msgid "Snap to half-pixel" +msgstr "Ajustar a medio píxel" + +msgid "Painting Tiles Property" +msgstr "Propiedad de Pintar Tiles" + msgid "Painting:" msgstr "Pintando:" +msgid "Picker" +msgstr "Selector" + +msgid "Painting Terrain Set" +msgstr "Set de Pintura del Terreno" + +msgid "Painting Terrain" +msgstr "Pintura del Terreno" + +msgid "Add TileSet pattern" +msgstr "Añadir Patrón de TileSet" + +msgid "Remove TileSet patterns" +msgstr "Eliminar Patrones de TileSet" + +msgid "Tile with Invalid Scene" +msgstr "Tile con Escena Inválida" + +msgid "Delete tiles" +msgstr "Eliminar tiles" + +msgid "Change selection" +msgstr "Cambiar selección" + +msgid "Move tiles" +msgstr "Mover tiles" + +msgid "Paint tiles" +msgstr "Pintar tiles" + +msgid "Paste tiles" +msgstr "Pegar tiles" + +msgid "Selection" +msgstr "Selección" + +msgid "Paint" +msgstr "Pintar" + msgid "Shift+Ctrl: Draw rectangle." msgstr "Shift+Ctrl: Dibujar rectángulo." +msgctxt "Tool" +msgid "Line" +msgstr "Línea" + +msgid "Rect" +msgstr "Rectángulo" + +msgid "Contiguous" +msgstr "Contiguo" + msgid "Place Random Tile" msgstr "Colocar Tile Aleatorio" +msgid "" +"Modifies the chance of painting nothing instead of a randomly selected tile." +msgstr "" +"Modifica la probabilidad de pintar nada en lugar de un tile seleccionado al " +"azar." + msgid "Scattering:" msgstr "Dispersión:" msgid "Tiles" msgstr "Tiles" +msgid "" +"This TileMap's TileSet has no source configured. Edit the TileSet resource " +"to add one." +msgstr "" +"El TileSet de este TileMap no tiene una fuente configurada. Edita el recurso " +"de TileSet para agregar una." + +msgid "Sort sources" +msgstr "Ordenar recursos" + +msgid "Sort by ID (Ascending)" +msgstr "Ordenar por ID (Ascendente)" + +msgid "Sort by ID (Descending)" +msgstr "Ordenar por ID (Descendente)" + msgid "Invalid source selected." msgstr "Fuente seleccionada inválida." +msgid "Patterns" +msgstr "Patrones" + +msgid "Paint terrain" +msgstr "Pintar terreno" + +msgid "Matches Corners Only" +msgstr "Coincide Solo con las Esquinas" + +msgid "Matches Sides Only" +msgstr "Coincide Solo con los Lados" + +msgid "Replace Tiles with Proxies" +msgstr "Reemplazar Tiles con Proxies" + +msgid "No Layers" +msgstr "Sin Capas" + +msgid "Select Next Tile Map Layer" +msgstr "Seleccionar Siguiente Capa del Mapa de Tiles" + +msgid "Select Previous Tile Map Layer" +msgstr "Seleccionar Anterior Capa del Mapa de Tiles" + +msgid "TileMap Layers" +msgstr "Capas del TileMap" + msgid "Toggle grid visibility." msgstr "Cambiar visibilidad de la cuadrícula." @@ -10264,6 +11349,9 @@ msgstr "Traducciones" msgid "Autoload" msgstr "Autoload" +msgid "Shader Globals" +msgstr "Shaders Globales" + msgid "Plugins" msgstr "Plugins" @@ -10423,6 +11511,9 @@ msgstr "Nombre de Escena:" msgid "Root Name:" msgstr "Nombre de Raíz:" +msgid "Leave empty to use scene name" +msgstr "Dejar vacío para utilizar el nombre de la escena" + msgid "Create New Scene" msgstr "Crear Nueva Escena" @@ -10573,6 +11664,9 @@ msgstr "Nueva Raíz de Escena" msgid "Create Root Node:" msgstr "Crear Nodo Raíz:" +msgid "Switch to Favorite Nodes" +msgstr "Cambiar a Nodos Favoritos" + msgid "Other Node" msgstr "Otro Nodo" @@ -11014,6 +12108,9 @@ msgstr "" "No hay suficientes bytes para decodificar los bytes, o el formato es " "inválido." +msgid "Failed to load .NET runtime" +msgstr "Error al cargar el tiempo de ejecución .NET" + msgid "%s/s" msgstr "%s/s" @@ -12260,6 +13357,12 @@ msgstr "Tipo de datos esperado." msgid "Duplicated hint: '%s'." msgstr "Sugerencia duplicada: '%s'." +msgid "" +"'hint_normal_roughness_texture' is not supported in gl_compatibility shaders." +msgstr "" +"'hint_normal_roughness_texture' no és compatible con los shaders de " +"gl_compatibility." + msgid "Duplicated filter mode: '%s'." msgstr "Modo de filtro duplicado: '%s'." @@ -12290,6 +13393,9 @@ msgstr "Condición perdida." msgid "Condition evaluation error." msgstr "Error de evaluación de la condición." +msgid "Shader include file does not exist: " +msgstr "Archivo de inclusión de shader no existe: " + msgid "Invalid macro argument count." msgstr "Contador de argumentos de macro inválido." diff --git a/editor/translations/editor/fr.po b/editor/translations/editor/fr.po index 46ac028c3d..f05408d47f 100644 --- a/editor/translations/editor/fr.po +++ b/editor/translations/editor/fr.po @@ -119,13 +119,15 @@ # Ponthieu <7hip.po6@orange.fr>, 2023. # Hipolyte Ponthieu <7hip.po6@orange.fr>, 2023. # Dricom Dragon <dev@jovian-hersemeule.eu>, 2023. +# t8y <contact@t3y.eu>, 2023. +# Jean-Michel Bernard <jmb462@gmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-28 17:36+0000\n" -"Last-Translator: Dricom Dragon <dev@jovian-hersemeule.eu>\n" +"PO-Revision-Date: 2023-03-12 20:08+0000\n" +"Last-Translator: Jean-Michel Bernard <jmb462@gmail.com>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" "Language: fr\n" @@ -133,7 +135,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-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Unset" msgstr "Non défini" @@ -1104,12 +1106,36 @@ msgstr "Aller à l'étape précédente" msgid "Apply Reset" msgstr "Appliquer la réinitialisation" +msgid "Bake Animation" +msgstr "Précalculer l'animation" + +msgid "Optimize Animation (no undo)" +msgstr "Optimiser l'animation (pas de retour en arrière)" + +msgid "Clean-Up Animation (no undo)" +msgstr "Nettoyer l'animation (pas de retour en arrière)" + +msgid "Pick a node to animate:" +msgstr "Choisir le nœud à animer :" + msgid "Use Bezier Curves" msgstr "Utiliser les courbes de Bézier" msgid "Create RESET Track(s)" msgstr "Créer des pistes RESET" +msgid "Animation Optimizer" +msgstr "Optimiseur d'animation" + +msgid "Max Velocity Error:" +msgstr "Erreur de vélocité max. :" + +msgid "Max Angular Error:" +msgstr "Erreur angulaire max. :" + +msgid "Max Precision Error:" +msgstr "Erreur de précision max. :" + msgid "Optimize" msgstr "Optimiser" @@ -1134,12 +1160,18 @@ msgstr "Ratio d'échelle :" msgid "Select Transition and Easing" msgstr "Sélectionner transition et fondu" +msgid "Animation Baker" +msgstr "Précalcul de l'animation" + msgid "Select Tracks to Copy" msgstr "Sélectionner les pistes à copier" msgid "Select All/None" msgstr "Tout Sélectionner/Désélectionner" +msgid "Animation Change Keyframe Time" +msgstr "Modifier le temps de la clé d'animation" + msgid "Add Audio Track Clip" msgstr "Ajouter un clip audio" @@ -1217,6 +1249,9 @@ msgstr "" "La méthode cible n'a pas été trouvée. Spécifiez une méthode valide ou " "attachez un script au nœud cible." +msgid "Attached Script" +msgstr "Script attaché" + msgid "Connect to Node:" msgstr "Connecter au nœud :" @@ -1226,15 +1261,27 @@ msgstr "Connecter au script :" msgid "From Signal:" msgstr "Depuis le signal :" +msgid "Filter Nodes" +msgstr "Filtrer les nœuds" + msgid "Scene does not contain any script." msgstr "La scène ne comprend pas de script." msgid "Select Method" msgstr "Sélectionner une méthode" +msgid "Filter Methods" +msgstr "Filtrer les méthodes" + msgid "No method found matching given filters." msgstr "Aucune méthode ne correspond aux filtres sélectionnés." +msgid "Script Methods Only" +msgstr "Méthodes de script seulement" + +msgid "Compatible Methods Only" +msgstr "Méthodes compatibles seulement" + msgid "Remove" msgstr "Supprimer" @@ -1244,6 +1291,9 @@ msgstr "Ajouter un argument supplémentaire :" msgid "Extra Call Arguments:" msgstr "Arguments supplémentaires :" +msgid "Allows to drop arguments sent by signal emitter." +msgstr "Permet d'ignorer les arguments envoyés par l'émetteur du signal." + msgid "Receiver Method:" msgstr "Méthode du récepteur :" @@ -1298,24 +1348,36 @@ msgstr "Déconnecter" msgid "Connect a Signal to a Method" msgstr "Connecter un signal à une méthode" +msgid "Edit Connection: '%s'" +msgstr "Modifier la connexion : '%s'" + msgid "Are you sure you want to remove all connections from the \"%s\" signal?" msgstr "Voulez-vous vraiment supprimer toutes les connexions de ce signal ?" msgid "Signals" msgstr "Signaux" +msgid "Filter Signals" +msgstr "Filtrer les signaux" + msgid "Are you sure you want to remove all connections from this signal?" msgstr "Voulez-vous vraiment supprimer toutes les connexions de ce signal ?" msgid "Disconnect All" msgstr "Tout déconnecter" +msgid "Copy Name" +msgstr "Copier le nom" + msgid "Edit..." msgstr "Édition..." msgid "Go to Method" msgstr "Aller à la méthode" +msgid "Change Type of \"%s\"" +msgstr "Changer le type de \"%s\"" + msgid "Change" msgstr "Changer" @@ -1325,6 +1387,12 @@ msgstr "Créer un nouveau %s" msgid "No results for \"%s\"." msgstr "Aucun résultats pour \"%s\"." +msgid "This class is marked as deprecated." +msgstr "Cette classe a été annotée comme étant obsolète." + +msgid "This class is marked as experimental." +msgstr "Cette classe a été annotée comme étant expérimentale." + msgid "No description available for %s." msgstr "Pas de description disponible pour %s." @@ -1334,6 +1402,9 @@ msgstr "Favoris :" msgid "Recent:" msgstr "Récents :" +msgid "(Un)favorite selected item." +msgstr "Ajouter ou supprimer aux favoris l'élément sélectionné." + msgid "Search:" msgstr "Rechercher :" @@ -1361,6 +1432,15 @@ msgstr "Copier le chemin du nœud" msgid "Instance:" msgstr "Instance :" +msgid "" +"This node has been instantiated from a PackedScene file:\n" +"%s\n" +"Click to open the original file in the Editor." +msgstr "" +"Ce nœud a été instancié depuis un fichier PackedScene :\n" +"%s\n" +"Cliquez pour ouvrir le fichier d'origine dans l'Éditeur." + msgid "Toggle Visibility" msgstr "Basculer la visibilité" @@ -1438,6 +1518,21 @@ msgstr "Temps" msgid "Calls" msgstr "Appels" +msgid "Fit to Frame" +msgstr "Ajuster à la trame" + +msgid "Linked" +msgstr "Relié" + +msgid "CPU" +msgstr "CPU" + +msgid "GPU" +msgstr "GPU" + +msgid "Execution resumed." +msgstr "L'exécution a repris." + msgid "Bytes:" msgstr "Octets :" @@ -1450,12 +1545,33 @@ msgstr "Erreur :" msgid "%s Error" msgstr "Erreur %s" +msgid "%s Error:" +msgstr "Erreur %s :" + +msgid "%s Source" +msgstr "Source %s" + +msgid "%s Source:" +msgstr "Source %s :" + msgid "Stack Trace" msgstr "Pile des appels" msgid "Stack Trace:" msgstr "Pile des appels :" +msgid "Line %d" +msgstr "Ligne %d" + +msgid "Delete Breakpoint" +msgstr "Supprimer le point d'arrêt" + +msgid "Delete All Breakpoints in:" +msgstr "Supprimer tous les points d'arrêt dans :" + +msgid "Delete All Breakpoints" +msgstr "Supprimer tous les points d'arrêt" + msgid "Copy Error" msgstr "Copier l'erreur" @@ -1498,6 +1614,9 @@ msgstr "Réduire tout" msgid "Profiler" msgstr "Profileur" +msgid "Visual Profiler" +msgstr "Profileur visuel" + msgid "List of Video Memory Usage by Resource:" msgstr "Liste de l'utilisation de la mémoire vidéo par ressource :" @@ -1809,6 +1928,12 @@ msgstr "Contourner" msgid "Bus Options" msgstr "Options de bus" +msgid "Duplicate Bus" +msgstr "Dupliquer le bus" + +msgid "Delete Bus" +msgstr "Supprimer le bus" + msgid "Reset Volume" msgstr "Réinitialiser le volume" @@ -1938,6 +2063,9 @@ msgstr "Nom de nœud :" msgid "Global Variable" msgstr "Variable globale" +msgid "3D Engine" +msgstr "Moteur 3D" + msgid "2D Physics" msgstr "Physique 2D" @@ -1947,12 +2075,27 @@ msgstr "Physique 3D" msgid "Navigation" msgstr "Navigation" +msgid "XR" +msgstr "XR" + msgid "OpenGL" msgstr "OpenGL" msgid "Vulkan" msgstr "Vulkan" +msgid "Text Server: Advanced" +msgstr "Serveur de Texte : Avancé" + +msgid "TTF, OTF, Type 1, WOFF1 Fonts" +msgstr "TTF, OTF, Type 1, Polices WOFF1" + +msgid "WOFF2 Fonts" +msgstr "Polices WOFF2" + +msgid "SIL Graphite Fonts" +msgstr "Polices SIL Graphite" + msgid "Multi-channel Signed Distance Field Font Rendering" msgstr "Rendu de police multicanal par champ de distance signée" @@ -2486,12 +2629,21 @@ msgstr "Tout afficher" msgid "Classes Only" msgstr "Classes seulement" +msgid "Constructors Only" +msgstr "Constructeurs seulement" + msgid "Methods Only" msgstr "Méthodes seulement" +msgid "Operators Only" +msgstr "Opérateurs seulement" + msgid "Signals Only" msgstr "Signaux seulement" +msgid "Annotations Only" +msgstr "Annotations seulement" + msgid "Constants Only" msgstr "Constantes seulement" @@ -2504,6 +2656,9 @@ msgstr "Propriétés du thème seulement" msgid "Member Type" msgstr "Type de membre" +msgid "(constructors)" +msgstr "(constructeurs)" + msgid "Class" msgstr "Classe" @@ -2513,6 +2668,9 @@ msgstr "Méthode" msgid "Signal" msgstr "Signaux" +msgid "Annotation" +msgstr "Annotation" + msgid "Constant" msgstr "Constante" @@ -2531,6 +2689,12 @@ msgstr "Ce membre est signalé comme expérimental." msgid "Property:" msgstr "Propriété :" +msgid "Pin Value" +msgstr "Épingler la valeur" + +msgid "Pin Value [Disabled because '%s' is editor-only]" +msgstr "Épingler la valeur [Désactivé parce que '%s' n'est que dans l'éditeur]" + msgid "" "Pinning a value forces it to be saved even if it's equal to the default." msgstr "" @@ -2549,9 +2713,27 @@ msgstr "Déplacer vers le haut" msgid "Move Down" msgstr "Déplacer vers le bas" +msgid "Clear Array" +msgstr "Vider le tableau" + +msgid "Resize Array..." +msgstr "Redimensionner le tableau..." + +msgid "Add Element" +msgstr "Ajouter un élément" + msgid "Resize Array" msgstr "Redimensionner le tableau" +msgid "New Size:" +msgstr "Nouvelle Taille :" + +msgid "Element %s" +msgstr "Élément %s" + +msgid "Add Metadata" +msgstr "Ajouter des métadonnées" + msgid "Set %s" msgstr "Définir %s" @@ -2567,12 +2749,24 @@ msgstr "Désépinglé %s" msgid "Add metadata %s" msgstr "Ajouter métadonnée %s" +msgid "Copy Value" +msgstr "Copier la valeur" + +msgid "Paste Value" +msgstr "Coller la valeur" + msgid "Copy Property Path" msgstr "Copier le chemin de la propriété" msgid "Changed Locale Filter Mode" msgstr "Mode de filtrage des langues modifié" +msgid "[Default]" +msgstr "[Par défaut]" + +msgid "Select a Locale" +msgstr "Sélectionner un language" + msgid "Show All Locales" msgstr "Afficher toutes les langues" @@ -2585,6 +2779,19 @@ msgstr "Modifier les filtres" msgid "Language:" msgstr "Langage :" +msgid "Country:" +msgstr "Pays :" + +msgid "Language" +msgstr "Langage" + +msgctxt "Locale" +msgid "Script" +msgstr "Script" + +msgid "Country" +msgstr "Pays" + msgid "Variant" msgstr "Variant" @@ -2693,7 +2900,7 @@ msgid "" msgstr "" "Mise en page par défaut de l'éditeur modifiée.\n" "Pour rétablir la mise en page par défaut dans ses paramètres de base, " -"utilisez l'option Supprimer la mise en page et supprimez la mise en page par " +"utilisez l'option Supprimer la mise en page et Supprimer la mise en page par " "défaut." msgid "Layout name not found!" @@ -2725,6 +2932,24 @@ msgstr "Les modifications risquent d'être perdues !" msgid "This object is read-only." msgstr "Cet objet est en lecture-seule." +msgid "" +"Movie Maker mode is enabled, but no movie file path has been specified.\n" +"A default movie file path can be specified in the project settings under the " +"Editor > Movie Writer category.\n" +"Alternatively, for running single scenes, a `movie_file` string metadata can " +"be added to the root node,\n" +"specifying the path to a movie file that will be used when recording that " +"scene." +msgstr "" +"Le mode Movie Maker est activé, mais aucun chemin d'accès vers un fichier de " +"cinématique n'a été spécifié.\n" +"Un chemin d'accès par défaut peut-être spécifié dans les paramètres du " +"projet sous la catégorie Éditeur > Movie Writer.\n" +"Autrement, pour exécuter des scènes seules, une chaine de caractères " +"métadonnée `movie_file` peut être ajoutée au nœud racine,\n" +"spécifiant le chemin d'accès au fichier de cinématique qui sera utilisé lors " +"de l'enregistrement de la scène." + msgid "There is no defined scene to run." msgstr "Il n'y a pas de scène définie pour être lancée." @@ -6798,6 +7023,9 @@ msgstr "Rechercher un symbole" msgid "Pick Color" msgstr "Prélever une couleur" +msgid "Folding" +msgstr "Permettre de replier le code" + msgid "Uppercase" msgstr "Tout en majuscule" @@ -8380,6 +8608,18 @@ msgstr "" msgid "Couldn't save project at '%s' (error %d)." msgstr "Impossible d'enregistrer le projet à \"%s\" (erreur %d)." +msgid "" +"You are about to create a Godot project in a non-empty folder.\n" +"The entire contents of this folder will be imported as project resources!\n" +"\n" +"Are you sure you wish to continue?" +msgstr "" +"Vous êtes sur le point de créer un projet Godot dans un dossier non vide.\n" +"L'entièreté du contenu du dossier sera importée en tant que ressources du " +"projet !\n" +"\n" +"Êtes-vous sûr de vouloir continuer ?" + msgid "Couldn't create project.godot in project path." msgstr "Impossible de créer le fichier project.godot dans le chemin du projet." @@ -8467,6 +8707,39 @@ msgstr "" "versions du moteur." msgid "" +"The selected project \"%s\" was generated by Godot 3.x, and needs to be " +"converted for Godot 4.x.\n" +"\n" +"Project path: %s\n" +"\n" +"You have three options:\n" +"- Convert only the configuration file (\"project.godot\"). Use this to open " +"the project without attempting to convert its scenes, resources and " +"scripts.\n" +"- Convert the entire project including its scenes, resources and scripts " +"(recommended if you are upgrading).\n" +"- Do nothing and go back.\n" +"\n" +"Warning: If you select a conversion option, you won't be able to open the " +"project with previous versions of the engine anymore." +msgstr "" +"Le projet sélectionné \"%s\" a été généré par Godot 3.x et a besoin d'être " +"converti pour Godot 4.x.\n" +"\n" +"Chemin d'accès du projet : %s\n" +"\n" +"Vous avez trois options :\n" +"- Convertir seulement le fichier de configuration (\"project.godot\"). " +"Utiliser cette option pour ouvrir le projet sans tenter de convertir ses " +"scènes, ressources et scripts.\n" +"- Convertir le projet entier comprenant ses scènes, ressources et scripts " +"(recommandé si vous effectuez une mise à jour).\n" +"- Ne rien faire et revenir en arrière.\n" +"\n" +"Avertissement : Si vous sélectionnez une option de conversion, vous ne serez " +"pas en état d'ouvrir le projet avec les versions antérieures du moteur." + +msgid "" "The selected project \"%s\" was generated by an older engine version, and " "needs to be converted for this version.\n" "\n" @@ -8503,6 +8776,17 @@ msgstr "" "du moteur, dont les paramètres ne sont pas compatibles avec cette version." msgid "" +"Warning: This project uses C#, but this build of Godot does not have\n" +"the Mono module. If you proceed you will not be able to use any C# scripts.\n" +"\n" +msgstr "" +"Avertissement : Ce projet utilise du C# alors que cette compilation de Godot " +"ne contient pas\n" +"le module Mono. Si vous continuez, vous ne pourrez utiliser aucun script en " +"C#.\n" +"\n" + +msgid "" "Can't run project: no main scene defined.\n" "Please edit the project and set the main scene in the Project Settings under " "the \"Application\" category." @@ -8603,6 +8887,29 @@ msgstr "Supprimer tout" msgid "Also delete project contents (no undo!)" msgstr "Supprimer les contenus du projet également (pas d'annulation !)" +msgid "" +"This option will perform full project conversion, updating scenes, resources " +"and scripts from Godot 3.x to work in Godot 4.0.\n" +"\n" +"Note that this is a best-effort conversion, i.e. it makes upgrading the " +"project easier, but it will not open out-of-the-box and will still require " +"manual adjustments.\n" +"\n" +"IMPORTANT: Make sure to backup your project before converting, as this " +"operation makes it impossible to open it in older versions of Godot." +msgstr "" +"Cette option effectuera une conversion complète du projet, mettant à jour " +"les scènes, ressources et scripts de Godot 3.x pour travailler avec Godot 4." +"x.\n" +"\n" +"Veuillez noter que ceci est une conversion faite au mieux, c'est-à-dire que " +"la mise à jour du projet est facilité mais qu'il ne s'ouvrira pas en l'état " +"et demandera des ajustements manuels.\n" +"\n" +"IMPORTANT : Veuillez vous assurer de faire une copie de votre projet avant " +"de le convertir puisque cette opération rend impossible son ouverture dans " +"les versions antérieures de Godot." + msgid "Can't run project" msgstr "Impossible de lancer le projet" @@ -9321,9 +9628,36 @@ msgstr "Compiler la solution" msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Pas assez d’octets pour le décodage, ou format invalide." +msgid "" +"Unable to load .NET runtime, no compatible version was found.\n" +"Attempting to create/edit a project will lead to a crash.\n" +"\n" +"Please install the .NET SDK 6.0 or later from https://dotnet.microsoft.com/" +"en-us/download and restart Godot." +msgstr "" +"Impossible de charger l'environnement d'exécution .NET, aucune version " +"compatible n'a été trouvé.\n" +"Tenter de créer/modifier un projet mènera à un crash.\n" +"\n" +"Veuillez installer le SDK .NET 6.0 ou ultérieur depuis https://dotnet." +"microsoft.com/en-us/download et redémarrer Godot." + msgid "Failed to load .NET runtime" msgstr "Impossible de charger l'environnement d'exécution .NET" +msgid "" +"Unable to load .NET runtime, specifically hostfxr.\n" +"Attempting to create/edit a project will lead to a crash.\n" +"\n" +"Please install the .NET SDK 6.0 or later from https://dotnet.microsoft.com/" +"en-us/download and restart Godot." +msgstr "" +"Impossible de charger l'environnement d'exécution .NET, notamment hostfxr.\n" +"Tenter de créer/modifier un projet mènera à un crash.\n" +"\n" +"Veuillez installer le SDK .NET 6.0 ou ultérieur depuis https://dotnet." +"microsoft.com/en-us/download et redémarrer Godot." + msgid "%s/s" msgstr "%s/s" @@ -10105,6 +10439,14 @@ msgstr "La signature de l’exécutable avec Signtool a échoué : %s." msgid "Failed to remove temporary file \"%s\"." msgstr "Impossible de supprimer le fichier temporaire \"%s\"." +msgid "" +"The rcedit tool must be configured in the Editor Settings (Export > Windows " +"> rcedit) to change the icon or app information data." +msgstr "" +"L'outil « rcedit » doit être configuré dans les paramètres de l'éditeur " +"(Exporter > Windows > rcedit) pour modifier l'icône ou les informations de " +"l'application." + msgid "Invalid icon path:" msgstr "Chemin d'icône invalide :" @@ -10584,6 +10926,9 @@ msgstr "Condition manquante." msgid "Condition evaluation error." msgstr "Erreur d'évaluation de la condition." +msgid "Shader include file does not exist: " +msgstr "Le fichier appelé par \"include\" dans le shader n'existe pas : " + msgid "Macro expansion limit exceeded." msgstr "Limite d'expansion de macro dépassée." diff --git a/editor/translations/editor/he.po b/editor/translations/editor/he.po index 2e94adbc31..7a54712887 100644 --- a/editor/translations/editor/he.po +++ b/editor/translations/editor/he.po @@ -27,13 +27,15 @@ # moshe mil <milgmoshe@gmail.com>, 2022. # Blawnode <blawnode@gmail.com>, 2022. # Yoni m <yoni.meirov08@gmail.com>, 2023. +# Ronelo <Santatv9@gmail.com>, 2023. +# BM Lapidus <boruchmendel.lapidus@gmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-08 07:34+0000\n" -"Last-Translator: Ram Tourgeman <ramtorgeman@gmail.com>\n" +"PO-Revision-Date: 2023-03-14 01:22+0000\n" +"Last-Translator: BM Lapidus <boruchmendel.lapidus@gmail.com>\n" "Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/" "godot/he/>\n" "Language: he\n" @@ -42,7 +44,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " "n % 10 == 0) ? 2 : 3));\n" -"X-Generator: Weblate 4.16-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Unset" msgstr "ביטול הגדרה" @@ -50,18 +52,42 @@ msgstr "ביטול הגדרה" msgid "Physical" msgstr "פיזי" -msgid "Left Mouse Button" -msgstr "לחצן עכבר שמאלי" - msgid "Right Mouse Button" msgstr "כפתור עכבר ימני" +msgid "Middle Mouse Button" +msgstr "כפתור עכבר אמצעי" + +msgid "Mouse Wheel Up" +msgstr "גלגלת למעלה." + +msgid "Mouse Wheel Down" +msgstr "גלגלת למטה." + msgid "Button" msgstr "כפתור" +msgid "Mouse motion at position (%s) with velocity (%s)" +msgstr "תנועת העכבר במיקום (%s) עם מהירות (%s)" + +msgid "D-pad Left" +msgstr "כרית כיוונית שמאל" + +msgid "D-pad Right" +msgstr "כרית כיוונית ימין" + +msgid "touched" +msgstr "ננגע" + +msgid "released" +msgstr "שוחרר" + msgid "Select" msgstr "בחירה" +msgid "Cancel" +msgstr "ביטול" + msgid "Up" msgstr "העלאה" @@ -72,10 +98,10 @@ msgid "End" msgstr "סוף" msgid "Cut" -msgstr "גזירה" +msgstr "גזור" msgid "Copy" -msgstr "העתקה" +msgstr "העתק" msgid "Paste" msgstr "הדבק" @@ -86,6 +112,12 @@ msgstr "ביטול" msgid "Redo" msgstr "ביצוע חוזר" +msgid "New Blank Line" +msgstr "שורה חדשה ריקה" + +msgid "New Line Above" +msgstr "שורה חדשה מעל" + msgid "Delete" msgstr "מחיקה" diff --git a/editor/translations/editor/it.po b/editor/translations/editor/it.po index a99a51f7d1..e0c4f2eb2e 100644 --- a/editor/translations/editor/it.po +++ b/editor/translations/editor/it.po @@ -81,12 +81,13 @@ # Andrea Migliaccio <andrea.migliaccio@gmail.com>, 2023. # gianmarco malandra <giamminho12@gmail.com>, 2023. # Francesco Franchina <cescus92@gmail.com>, 2023. +# "Matteo A." <psyduck.boh@gmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-25 00:15+0000\n" +"PO-Revision-Date: 2023-03-12 20:08+0000\n" "Last-Translator: Mirko <miknsop@gmail.com>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" @@ -95,7 +96,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.2-dev\n" msgid "Unset" msgstr "Non impostato" @@ -740,23 +741,17 @@ msgid "Stream:" msgstr "Flusso:" msgid "Start (s):" -msgstr "inizia:" +msgstr "Inizio (s):" msgid "End (s):" -msgstr "finisci:" +msgstr "Fine (s):" msgid "Animation Clip:" -msgstr "clip delle animazioni:" +msgstr "Clip di animazione:" msgid "Toggle Track Enabled" msgstr "Abilita/Disabilita una traccia" -msgid "Continuous" -msgstr "Continua" - -msgid "Discrete" -msgstr "Discreta" - msgid "Capture" msgstr "Cattura" @@ -1442,9 +1437,6 @@ msgstr "Sorgente %s" msgid "%s Source:" msgstr "Sorgente %s:" -msgid "Stack Trace" -msgstr "Analisi dello stack" - msgid "Debug session started." msgstr "Sessione di debug iniziata." @@ -3587,6 +3579,9 @@ msgstr "" msgid "Choose a renderer." msgstr "Scegli un renderer." +msgid "Forward+" +msgstr "Forward+" + msgid "Mobile" msgstr "Mobile" @@ -9709,6 +9704,9 @@ msgstr "Disegna i tasselli" msgid "Paste tiles" msgstr "Incolla i tasselli" +msgid "Selection" +msgstr "Selezione" + msgid "Paint" msgstr "Disegna" @@ -11117,9 +11115,6 @@ msgstr "I dati GI Voxel fanno parte di una risorsa importata." msgid "Voxel GI data is an imported resource." msgstr "I dati GI Voxel sono una risorsa importata." -msgid "Bake VoxelGI" -msgstr "Cuoci VoxelGI" - msgid "Select path for VoxelGI Data File" msgstr "Selezionare un percorso per il file di dati VoxelGI" diff --git a/editor/translations/editor/ja.po b/editor/translations/editor/ja.po index e1775c626e..02dc6fa937 100644 --- a/editor/translations/editor/ja.po +++ b/editor/translations/editor/ja.po @@ -15,7 +15,7 @@ # Tohru Ike (rokujyouhitoma) <rokujyouhitomajp@gmail.com>, 2017-2018. # yu tang <0011solo@gmail.com>, 2018. # zukkun <zukkun@gmail.com>, 2018. -# sugusan <sugusan.development@gmail.com>, 2018, 2019, 2021. +# sugusan <sugusan.development@gmail.com>, 2018, 2019, 2021, 2023. # Nathan Lovato <nathan.lovato.art@gmail.com>, 2018. # nyanode <akaruooyagi@yahoo.co.jp>, 2018. # nitenook <admin@alterbaum.net>, 2018, 2019, 2020, 2021, 2022, 2023. @@ -57,8 +57,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-28 17:36+0000\n" -"Last-Translator: nitenook <admin@alterbaum.net>\n" +"PO-Revision-Date: 2023-03-09 00:25+0000\n" +"Last-Translator: ueshita <nalto32@gmail.com>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/" "godot/ja/>\n" "Language: ja\n" @@ -66,7 +66,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.16-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Unset" msgstr "未設定" @@ -2922,7 +2922,7 @@ msgid "Variant" msgstr "バリアント" msgid "Filter Messages" -msgstr "メッセージでフィルタ" +msgstr "メッセージをフィルタ" msgid "Clear Output" msgstr "出力をクリア" @@ -5167,13 +5167,56 @@ msgstr "" msgid "Error opening scene" msgstr "シーンを開く際にエラーが発生しました" +msgid "Advanced Import Settings for AnimationLibrary '%s'" +msgstr "AnimationLibrary '%s' の高度なインポート設定" + +msgid "Advanced Import Settings for Scene '%s'" +msgstr "シーン '%s' の高度なインポート設定" + +msgid "Select folder where mesh resources will save on import" +msgstr "インポート時にメッシュリソースを保存するフォルダを選択" + +msgid "Select folder where animations will save on import" +msgstr "インポート時にアニメーションを保存するフォルダを選択" + +msgid "Existing file with the same name will be replaced." +msgstr "同じ名前の既存のファイルは置き換えられます。" + +msgid "" +"This mesh already saves to an external resource, no action will be taken." +msgstr "" +"このメッシュはすでに外部リソースに保存されているため、何も実行されません。" + +msgid "Existing file with the same name will be replaced on import." +msgstr "同じ名前の既存のファイルは、インポート時に置き換えられます。" + +msgid "" +"Mesh has no name nor any other way to identify on re-import.\n" +"Please name it or ensure it is exported with an unique ID." +msgstr "" +"メッシュには再インポート時に識別するための名前やその他の方法がありません。\n" +"名前を付けるか、ユニークなIDでエクスポートされていることを確認してください。" + +msgid "Set paths to save meshes as resource files on Reimport" +msgstr "再インポート時にメッシュをリソースファイルとして保存するパスを設定" + +msgid "" +"This animation already saves to an external resource, no action will be " +"taken." +msgstr "" +"このアニメーションはすでに外部リソースに保存されているため、何も実行されませ" +"ん。" + msgid "Set paths to save animations as resource files on Reimport" msgstr "" -"再インポート時にアニメーションをリソース ファイルとして保存するパスを設定" +"再インポート時にアニメーションをリソースファイルとして保存するパスを設定" msgid "Actions..." msgstr "操作..." +msgid "Set Mesh Save Paths" +msgstr "メッシュの保存パスを設定" + msgid "Meshes" msgstr "メッシュ" @@ -5240,12 +5283,49 @@ msgstr "" "ファイルシステムやインスペクターにあるリソースファイルを選択してインポート設" "定を調整します。" +msgid "No Event Configured" +msgstr "イベント未設定" + +msgid "Keyboard Keys" +msgstr "キーボードのキー" + +msgid "Mouse Buttons" +msgstr "マウスのボタン" + msgid "Joypad Buttons" msgstr "ジョイパッドのボタン" +msgid "Event Configuration" +msgstr "イベントの設定" + +msgid "Filter Inputs" +msgstr "インプットを絞り込む" + +msgid "Additional Options" +msgstr "追加のオプション" + msgid "Device:" msgstr "デバイス:" +msgid "Command / Control (auto)" +msgstr "Command / Control (自動)" + +msgid "" +"Automatically remaps between 'Meta' ('Command') and 'Control' depending on " +"current platform." +msgstr "" +"現在のプラットフォームに応じて、'Meta' ('Command') と 'Control' の間で自動的" +"に再マップします。" + +msgid "Physical Keycode (Position on US QWERTY Keyboard)" +msgstr "物理キーコード (US QWERTYキーボード上の位置)" + +msgid "Key Label (Unicode, Case-Insensitive)" +msgstr "キーラベル (Unicode、大文字と小文字を区別しない)" + +msgid "This object has no resources." +msgstr "このオブジェクトにはリソースがありません。" + msgid "Failed to load resource." msgstr "リソースの読み込みに失敗しました。" @@ -5342,12 +5422,22 @@ msgstr "ロケールに従い再マップ:" msgid "Locale" msgstr "ロケール" +msgid "Files with translation strings:" +msgstr "翻訳文字列を含むファイル:" + msgid "Set %s on %d nodes" msgstr "%d ノードに %s を設定" msgid "Select a single node to edit its signals and groups." msgstr "ノードを1つ選択してシグナルとグループを編集します。" +msgid "Plugin name cannot be blank." +msgstr "プラグイン名を空白にすることはできません。" + +msgid "Script extension must match chosen language extension (.%s)." +msgstr "" +"スクリプトの拡張子は、選択した言語の拡張子 (.%s) と一致させる必要があります。" + msgid "Subfolder name is not a valid folder name." msgstr "サブフォルダ名は有効なフォルダ名ではありません。" @@ -10541,6 +10631,27 @@ msgstr "APKを最適化..." msgid "Could not unzip temporary unaligned APK." msgstr "temporary unaligned APKを展開できませんでした。" +msgid "Code signing failed, see editor log for details." +msgstr "コード署名に失敗しました。詳細はエディターログを確認してください。" + +msgid "Xcode Build" +msgstr "Xcodeビルド" + +msgid "Xcode project build failed, see editor log for details." +msgstr "" +"Xcodeプロジェクトの作成に失敗しました。詳細はエディターログを確認してくださ" +"い。" + +msgid ".ipa export failed, see editor log for details." +msgstr "" +".ipaのエクスポートに失敗しました。詳細はエディターログを確認してください。" + +msgid "" +".ipa can only be built on macOS. Leaving Xcode project without building the " +"package." +msgstr "" +".ipa は macOS でしかビルドできません。パッケージをビルドせずに終了します。" + msgid "App Store Team ID not specified - cannot configure the project." msgstr "App Store チームID が未指定 - プロジェクトを構成できません。" diff --git a/editor/translations/editor/ko.po b/editor/translations/editor/ko.po index efe4709735..8eb7b18d99 100644 --- a/editor/translations/editor/ko.po +++ b/editor/translations/editor/ko.po @@ -44,13 +44,14 @@ # 오지훈 <jule1130@naver.com>, 2023. # 이정희 <daemul72@gmail.com>, 2023. # nulta <un5450@naver.com>, 2023. +# jaehun choe <jayden.choe@gmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-26 20:44+0000\n" -"Last-Translator: Godoto <aicompose@gmail.com>\n" +"PO-Revision-Date: 2023-03-05 01:38+0000\n" +"Last-Translator: jaehun choe <jayden.choe@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot/ko/>\n" "Language: ko\n" @@ -58,7 +59,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.16-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Unset" msgstr "설정 해제" @@ -210,6 +211,9 @@ msgstr "압력:" msgid "touched" msgstr "터치" +msgid "released" +msgstr "출시된" + msgid "Screen %s at (%s) with %s touch points" msgstr "터치 포인트가 %s개인 (%s)의 %s 화면" @@ -257,6 +261,15 @@ msgstr "위" msgid "Down" msgstr "아래" +msgid "Page Up" +msgstr "페이지 업" + +msgid "Page Down" +msgstr "페이지 다운" + +msgid "Home" +msgstr "홈" + msgid "End" msgstr "끝" @@ -275,12 +288,21 @@ msgstr "실행 취소" msgid "Redo" msgstr "다시 실행" +msgid "New Line" +msgstr "뉴라인" + msgid "New Blank Line" -msgstr "새로운 빈 줄" +msgstr "뉴라인(Blank)" + +msgid "New Line Above" +msgstr "뉴라인(위로)" msgid "Indent" msgstr "들여쓰기" +msgid "Backspace" +msgstr "백스페이스" + msgid "Backspace Word" msgstr "백스페이스 단어" @@ -290,6 +312,9 @@ msgstr "모두 왼쪽으로 백스페이스" msgid "Delete" msgstr "삭제" +msgid "Delete Word" +msgstr "단어 삭제" + msgid "Caret Add Above" msgstr "위에 캐럿 추가" @@ -453,7 +478,7 @@ msgstr "애니메이션 루프 바꾸기" msgid "Can't change loop mode on animation instanced from imported scene." msgstr "" -"임포트된 씬에서 인스턴스화된 애니메이션의 루프 모드를 변경할 수 없습니다." +"가져온 씬에서 인스턴스화된 애니메이션의 루프 모드를 변경할 수 없습니다." msgid "Can't change loop mode on animation embedded in another scene." msgstr "다른 장면에 임베드된 애니메이션의 루프 모드를 변경할 수 없습니다." @@ -3651,7 +3676,7 @@ msgid "" "FBX2glTF is required for importing FBX files.\n" "Please download it and provide a valid path to the binary:" msgstr "" -"FBX 파일을 임포트하려면 FBX2glTF가 필요합니다.\n" +"FBX 파일을 가져오려면 FBX2glTF가 필요합니다.\n" "다운로드하고 바이너리의 유효한 경로를 제공하세요:" msgid "Click this link to download FBX2glTF" @@ -9226,6 +9251,9 @@ msgstr "식별자가 누락되어 있습니다." msgid "The character '%s' is not allowed in Identifier." msgstr "문자 '%s'은(는) 식별자에 쓸 수 없습니다." +msgid "Stop and uninstall" +msgstr "멈춤 및 설치 제거" + msgid "Could not open icon file \"%s\"." msgstr "아이콘 파일 \"%s\"를 열 수 없습니다." diff --git a/editor/translations/editor/lv.po b/editor/translations/editor/lv.po index 13041ba95c..6a8c053534 100644 --- a/editor/translations/editor/lv.po +++ b/editor/translations/editor/lv.po @@ -10,13 +10,14 @@ # Rihards Kubilis <oldcar@inbox.lv>, 2020. # M E <gruffy7932@gmail.com>, 2021, 2022. # D āvis <dlektauers@gmail.com>, 2022. +# Agnis Aldiņš <agnis16@gmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-05-07 16:08+0000\n" -"Last-Translator: D āvis <dlektauers@gmail.com>\n" +"PO-Revision-Date: 2023-03-09 00:25+0000\n" +"Last-Translator: Agnis Aldiņš <agnis16@gmail.com>\n" "Language-Team: Latvian <https://hosted.weblate.org/projects/godot-engine/" "godot/lv/>\n" "Language: lv\n" @@ -25,7 +26,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= " "19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n" -"X-Generator: Weblate 4.12.1\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Select" msgstr "Izvēlēties" @@ -1400,6 +1401,9 @@ msgstr "pārraksta %s:" msgid "default:" msgstr "pēc noklusējuma:" +msgid "Operators" +msgstr "Operātors" + msgid "Theme Properties" msgstr "Motīva iestatījumi" @@ -2008,7 +2012,7 @@ msgid "Send Docs Feedback" msgstr "Sūtīt dokumentu atsauksmi" msgid "Community" -msgstr "Komūns" +msgstr "Komūna" msgid "About Godot" msgstr "Par Godot" diff --git a/editor/translations/editor/nl.po b/editor/translations/editor/nl.po index 39afb4a6e7..83deb4acbc 100644 --- a/editor/translations/editor/nl.po +++ b/editor/translations/editor/nl.po @@ -62,13 +62,14 @@ # Nnn <irri2020@outlook.com>, 2022. # Jasper <jasper@dj-dj.be>, 2023. # Kevin Nijmeijer <Kevinchrisnij@gmail.com>, 2023. +# Mike Rombout <mike.rombout1@gmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-25 00:15+0000\n" -"Last-Translator: Kevin Nijmeijer <Kevinchrisnij@gmail.com>\n" +"PO-Revision-Date: 2023-03-03 23:47+0000\n" +"Last-Translator: Mike Rombout <mike.rombout1@gmail.com>\n" "Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/" "nl/>\n" "Language: nl\n" @@ -76,7 +77,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.2-dev\n" msgid "Unset" msgstr "Niet ingesteld" @@ -177,12 +178,57 @@ msgstr "Gids, Sony PS, Xbox Thuis" msgid "Start, Nintendo +" msgstr "Start, Nintendo +" +msgid "Left Stick, Sony L3, Xbox L/LS" +msgstr "Linker Joystick, Sony L3, Xbox L/LS" + +msgid "Right Stick, Sony R3, Xbox R/RS" +msgstr "Rechter Joystick, Sony R3, Xbox R/RS" + +msgid "Left Shoulder, Sony L1, Xbox LB" +msgstr "Linker Schouder, Sony L1, Xbox LB" + +msgid "Right Shoulder, Sony R1, Xbox RB" +msgstr "Rechter Schouder, Sony R1, Xbox RB" + +msgid "D-pad Up" +msgstr "D-pad Boven" + +msgid "D-pad Down" +msgstr "D-pad Onder" + +msgid "D-pad Left" +msgstr "D-pad Links" + +msgid "D-pad Right" +msgstr "D-pad Rechts" + +msgid "Xbox Share, PS5 Microphone, Nintendo Capture" +msgstr "Xbox Delen, PS5 Microfoon, Nintendo Opname" + +msgid "Joypad Button %d" +msgstr "Controllerknop %d" + +msgid "Accept" +msgstr "Accepteren" + msgid "Select" msgstr "Selecteer" msgid "Cancel" msgstr "Annuleer" +msgid "Focus Next" +msgstr "Focus Volgende" + +msgid "Focus Prev" +msgstr "Focus Vorige" + +msgid "Left" +msgstr "Links" + +msgid "Right" +msgstr "Rechts" + msgid "Up" msgstr "Omhoog" @@ -192,6 +238,9 @@ msgstr "Omlaag" msgid "Page Up" msgstr "Pagina Omhoog" +msgid "Page Down" +msgstr "Pagina Omlaag" + msgid "End" msgstr "Einde" @@ -210,12 +259,27 @@ msgstr "Ongedaan maken" msgid "Redo" msgstr "Opnieuw" +msgid "New Line" +msgstr "Nieuwe regel" + +msgid "New Blank Line" +msgstr "Nieuwe lege regel" + msgid "Delete" msgstr "Verwijder" +msgid "Delete Word" +msgstr "Woord Verwijderen" + msgid "Caret Page Up" msgstr "Caret Pagina Omhoog" +msgid "Scroll Up" +msgstr "Scroll Omhoog" + +msgid "Scroll Down" +msgstr "Scroll Omlaag" + msgid "Select All" msgstr "Alles selecteren" @@ -225,6 +289,9 @@ msgstr "Knopen dupliceren" msgid "Delete Nodes" msgstr "VisualShader-knoop/knopen verwijderen" +msgid "Go Up One Level" +msgstr "Ga Een Niveau Omhoog" + msgid "Refresh" msgstr "Verversen" @@ -248,6 +315,12 @@ msgstr "Ongeldig argument in constructie '%s'" msgid "On call to '%s':" msgstr "Tijdens invocatie van '%s':" +msgid "Built-in script" +msgstr "Ingebouwd script" + +msgid "Built-in" +msgstr "Ingebouwd" + msgid "B" msgstr "B" @@ -269,6 +342,9 @@ msgstr "PiB" msgid "EiB" msgstr "EiB" +msgid "Example: %s" +msgstr "Voorbeeld: %s" + msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'" @@ -1826,6 +1902,9 @@ msgstr "overschrijft %s:" msgid "default:" msgstr "standaard:" +msgid "Constructors" +msgstr "Constructors" + msgid "Operators" msgstr "Operatoren" @@ -1863,9 +1942,15 @@ msgstr "" "Er is momenteel geen beschrijving voor deze eigenschap. Help ons alstublieft " "door [color=$color][url=$url]een bijdrage te leveren[/url][/color]!" +msgid "Constructor Descriptions" +msgstr "Constructorbeschrijvingen" + msgid "Method Descriptions" msgstr "Methodebeschrijvingen" +msgid "Operator Descriptions" +msgstr "Operatorbeschrijvingen" + msgid "%d match." msgstr "%d overeenkomst(en) gevonden." diff --git a/editor/translations/editor/pl.po b/editor/translations/editor/pl.po index 22e84abdc5..554f964283 100644 --- a/editor/translations/editor/pl.po +++ b/editor/translations/editor/pl.po @@ -39,7 +39,7 @@ # Maciej Chamera <chameramaciej@gmail.com>, 2019. # Cezary Stasiak <cezary.p.stasiak@gmail.com>, 2019. # Jan Ligudziński <jan.ligudzinski@gmail.com>, 2020, 2021. -# Adam Jagoda <kontakt@lukasz.xyz>, 2020. +# Adam Jagoda <kontakt@lukasz.xyz>, 2020, 2023. # Filip Glura <mcmr.slendy@gmail.com>, 2020. # Roman Skiba <romanskiba0@gmail.com>, 2020, 2022. # Piotr Grodzki <ziemniakglados@gmail.com>, 2020. @@ -74,12 +74,14 @@ # Michał Walczak <mjf.walczak@gmail.com>, 2023. # Lukas <ox86udoo@duck.com>, 2023. # Marcin Sokołowski <sokolekster@gmail.com>, 2023. +# Jakub Marcowski <chubercikbattle@gmail.com>, 2023. +# "Janusz G." <400@poczta.fm>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-28 17:36+0000\n" +"PO-Revision-Date: 2023-03-15 01:17+0000\n" "Last-Translator: Tomek <kobewi4e@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/pl/>\n" @@ -89,7 +91,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.16-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Unset" msgstr "Wymaż" @@ -2005,22 +2007,22 @@ msgid "Autoload '%s' already exists!" msgstr "Autoładowanie \"%s\" już istnieje!" msgid "Rename Autoload" -msgstr "Zmień nazwę Autoload" +msgstr "Zmień nazwę autoładowania" msgid "Toggle Autoload Globals" msgstr "Przełącz globalne autoładowanie" msgid "Move Autoload" -msgstr "Przemieść Autoload" +msgstr "Przemieść autoładowanie" msgid "Remove Autoload" -msgstr "Usuń Autoload" +msgstr "Usuń autoładowanie" msgid "Enable" msgstr "Włącz" msgid "Rearrange Autoloads" -msgstr "Przestaw Autoloady" +msgstr "Przestaw autoładowania" msgid "Can't add Autoload:" msgstr "Nie można dodać autoładowania:" @@ -2887,7 +2889,7 @@ msgid "Names starting with _ are reserved for editor-only metadata." msgstr "Nazwy zaczynające się od _ są zarezerwowane dla metadanych edytora." msgid "Metadata name is valid." -msgstr "Nazwa metadanej jest nieprawidłowa." +msgstr "Nazwa metadanej jest prawidłowa." msgid "Add Metadata Property for \"%s\"" msgstr "Dodaj właściwość metadanych dla \"%s\"" @@ -2985,7 +2987,7 @@ msgid "Toggle visibility of editor messages." msgstr "Przełącz widoczność wiadomości edytora." msgid "Native Shader Source Inspector" -msgstr "Inspektor źródła natywnego szadera" +msgstr "Inspektor źródła natywnego shadera" msgid "New Window" msgstr "Nowe okno" @@ -3767,7 +3769,7 @@ msgid "Export Library" msgstr "Wyeksportuj bibliotekę" msgid "Merge With Existing" -msgstr "Połącz z Istniejącym" +msgstr "Połącz z istniejącym" msgid "Apply MeshInstance Transforms" msgstr "Zastosuj transformacje MeshInstance" @@ -4006,7 +4008,7 @@ msgid "Extend Script" msgstr "Rozszerz skrypt" msgid "New Shader" -msgstr "Nowy szader" +msgstr "Nowy shader" msgid "No Remote Debug export presets configured." msgstr "Brak skonfigurowanych profili zdalnego debugowania." @@ -4580,7 +4582,7 @@ msgstr "" "Nieprawidłowy klucz szyfrowania (długość musi wynosić 64 znaki szesnastkowe)" msgid "Encryption Key (256-bits as hexadecimal):" -msgstr "Klucz szyfrujący (256 bitów jako szesnastkowy):" +msgstr "Klucz szyfrujący (256 bitów szesnastkowo):" msgid "" "Note: Encryption key needs to be stored in the binary,\n" @@ -5151,7 +5153,7 @@ msgid "" "Error importing GLSL shader file: '%s'. Open the file in the filesystem dock " "in order to see the reason." msgstr "" -"Błąd importowania pliku szadera GLSL: \"%s\". Otwórz plik w doku systemu " +"Błąd importowania pliku shadera GLSL: \"%s\". Otwórz plik w doku systemu " "plików w celu zobaczenia powodu." msgid "" @@ -5266,12 +5268,32 @@ msgstr "" msgid "Set Paths" msgstr "Ustaw ścieżki" +msgid "" +"This animation already saves to an external resource, no action will be " +"taken." +msgstr "" +"Ta animacja już się zapisuje do zewnętrznego zasobu, żadna akcja nie " +"zostanie podjęta." + +msgid "Set paths to save animations as resource files on Reimport" +msgstr "" +"Ustaw ścieżki do zapisu animacji jako pliki zasobów przy ponownym imporcie" + +msgid "Can't make material external to file, write error:" +msgstr "Nie można uczynić materiału zewnętrznym plikiem, błąd zapisu:" + msgid "Actions..." msgstr "Akcje..." msgid "Extract Materials" msgstr "Wypakuj Materiały" +msgid "Set Animation Save Paths" +msgstr "Ustaw ścieżki zapisu animacji" + +msgid "Set Mesh Save Paths" +msgstr "Ustaw ścieżki zapisu siatek" + msgid "Meshes" msgstr "Siatki" @@ -5350,6 +5372,9 @@ msgstr "" "Wybierz plik zasobu z systemu plików lub z inspektoraby zmienić ustawienia " "importu." +msgid "No Event Configured" +msgstr "Nie skonfigurowano żadnego zdarzenia" + msgid "Keyboard Keys" msgstr "Klawisze klawiatury" @@ -5368,18 +5393,52 @@ msgstr "Konfiguracja zdarzenia" msgid "Manual Selection" msgstr "Wybór ręczny" +msgid "Filter Inputs" +msgstr "Filtruj wejście" + msgid "Additional Options" msgstr "Opcje dodatkowe" msgid "Device:" msgstr "Urządzenie:" +msgid "Command / Control (auto)" +msgstr "Command / Control (automatyczne)" + +msgid "" +"Automatically remaps between 'Meta' ('Command') and 'Control' depending on " +"current platform." +msgstr "" +"Automatycznie zmienia pomiędzy \"Meta\" (\"Command\") i \"Control\" w " +"zależności od aktualnej platformy." + +msgid "Keycode (Latin Equivalent)" +msgstr "Kod znaku (odpowiednik łaciński)" + +msgid "Physical Keycode (Position on US QWERTY Keyboard)" +msgstr "Fizyczny kod znaku (pozycja na klawiaturze US QWERTY)" + +msgid "Key Label (Unicode, Case-Insensitive)" +msgstr "Etykieta znaku (Unikod, wielkość liter ma znaczenie)" + +msgid "" +"The following resources will be duplicated and embedded within this resource/" +"object." +msgstr "" +"Następujące zasoby będą zduplikowane i zagnieżdżone w tym zasobie/obiekcie." + +msgid "This object has no resources." +msgstr "Ten obiekt nie ma zasobów." + msgid "Failed to load resource." msgstr "Nie udało się wczytać zasobu." msgid "(Current)" msgstr "(Bieżący)" +msgid "Expand Non-Default" +msgstr "Rozwiń niedomyślne" + msgid "Property Name Style" msgstr "Styl nazw właściwości" @@ -5428,12 +5487,21 @@ msgstr "Kopiuj zasób" msgid "Make Resource Built-In" msgstr "Uczyń zasób wbudowanym" +msgid "Go to previous edited object in history." +msgstr "Idź do poprzedniego edytowanego obiektu w historii." + +msgid "Go to next edited object in history." +msgstr "Idź do następnego edytowanego obiektu w historii." + msgid "History of recently edited objects." msgstr "Historia ostatnio edytowanych obiektów." msgid "Open documentation for this object." msgstr "Otwórz dokumentację dla tego obiektu." +msgid "Filter Properties" +msgstr "Filtruj właściwości" + msgid "Manage object properties." msgstr "Zarządzaj właściwościami obiektu." @@ -5461,6 +5529,12 @@ msgstr "Usuń mapowanie zasobu" msgid "Remove Resource Remap Option" msgstr "Usuń opcję mapowania zasobu" +msgid "Add %d file(s) for POT generation" +msgstr "Dodaj %d plik(ów) do generowania POT" + +msgid "Remove file from POT generation" +msgstr "Usuń plik z generowania POT" + msgid "Removed" msgstr "Usunięto" @@ -5485,9 +5559,21 @@ msgstr "Mapowanie w zależności od lokalizacji:" msgid "Locale" msgstr "Ustawienia regionalne" +msgid "POT Generation" +msgstr "Generowanie POT" + msgid "Files with translation strings:" msgstr "Pliki z tłumaczeniami:" +msgid "Generate POT" +msgstr "Generuj POT" + +msgid "Set %s on %d nodes" +msgstr "Ustaw %s na %d węzłach" + +msgid "%s (%d Selected)" +msgstr "%s (%d wybrane)" + msgid "Select a single node to edit its signals and groups." msgstr "Wybierz pojedynczy węzeł, aby edytować jego sygnały i grupy." @@ -5501,6 +5587,9 @@ msgstr "" msgid "Subfolder name is not a valid folder name." msgstr "Nazwa podfolderu nie jest prawidłową nazwą folderu." +msgid "Subfolder cannot be one which already exists." +msgstr "Podfolder nie może już istnieć." + msgid "Edit a Plugin" msgstr "Edytuj wtyczkę" @@ -5570,9 +5659,16 @@ msgstr "Wczytaj..." msgid "Move Node Point" msgstr "Przesuń punkt węzła" +msgid "Change BlendSpace1D Config" +msgstr "Zmień konfigurację BlendSpace1D" + msgid "Change BlendSpace1D Labels" msgstr "Zmień etykiety BlendSpace1D" +msgid "This type of node can't be used. Only animation nodes are allowed." +msgstr "" +"Ten typ węzła nie może zostać użyty. Tylko węzły animacji są dozwolone." + msgid "This type of node can't be used. Only root nodes are allowed." msgstr "" "Ten typ węzła nie może zostać użyty. Tylko węzły korzenia są dozwolone." @@ -5627,6 +5723,9 @@ msgstr "Trójkąt już istnieje." msgid "Add Triangle" msgstr "Dodaj trójkąt" +msgid "Change BlendSpace2D Config" +msgstr "Zmień konfigurację BlendSpace2D" + msgid "Change BlendSpace2D Labels" msgstr "Zmień etykiety BlendSpace2D" @@ -5657,6 +5756,9 @@ msgstr "Wygeneruj trójkąty mieszania automatycznie (zamiast ręcznie)" msgid "Parameter Changed:" msgstr "Parametr zmieniony:" +msgid "Inspect Filters" +msgstr "Inspekcjonuj filtry" + msgid "Output node can't be added to the blend tree." msgstr "Węzeł wyjściowy nie może być dodany do drzewa mieszania." @@ -5716,6 +5818,9 @@ msgstr "Klipy dźwiękowe" msgid "Functions" msgstr "Funkcje" +msgid "Inspect Filtered Tracks:" +msgstr "Inspekcjonuj filtrowane ścieżki:" + msgid "Edit Filtered Tracks:" msgstr "Edytuj filtrowane ścieżki:" @@ -5752,30 +5857,109 @@ msgstr "Biblioteka o tej nazwie już istnieje." msgid "Animation name is valid." msgstr "Nazwa animacji jest poprawna." +msgid "Global library will be created." +msgstr "Zostanie utworzona globalna biblioteka." + msgid "Library name is valid." msgstr "Nazwa biblioteki jest prawidłowa." +msgid "Add Animation to Library: %s" +msgstr "Dodaj animację do biblioteki: %s" + +msgid "Add Animation Library: %s" +msgstr "Dodaj bibliotekę animacji: %s" + msgid "Load Animation" msgstr "Wczytaj animację" +msgid "" +"This animation library can't be saved because it does not belong to the " +"edited scene. Make it unique first." +msgstr "" +"Ta biblioteka animacji nie może zostać zapisana, ponieważ nie należy do " +"edytowanej sceny. Uczyń ją najpierw unikalną." + +msgid "" +"This animation library can't be saved because it was imported from another " +"file. Make it unique first." +msgstr "" +"Ta biblioteka animacji nie może zostać zapisana, ponieważ jest importowana z " +"innego pliku. Uczyń ją najpierw unikalną." + +msgid "Save Library" +msgstr "Zapisz bibliotekę" + +msgid "Make Animation Library Unique: %s" +msgstr "Uczyń bibliotekę animacji unikalną: %s" + +msgid "" +"This animation can't be saved because it does not belong to the edited " +"scene. Make it unique first." +msgstr "" +"Ta animacja nie może zostać zapisana, ponieważ nie należy do edytowanej " +"sceny. Uczyń ją najpierw unikalną." + +msgid "" +"This animation can't be saved because it was imported from another file. " +"Make it unique first." +msgstr "" +"Ta animacja nie może zostać zapisana, ponieważ jest importowana z innego " +"pliku. Uczyń ją najpierw unikalną." + +msgid "Save Animation" +msgstr "Zapisz animację" + +msgid "Make Animation Unique: %s" +msgstr "Uczyń animację unikalną: %s" + msgid "Invalid AnimationLibrary file." msgstr "Nieprawidłowy plik AnimationLibrary." +msgid "This library is already added to the player." +msgstr "Ta biblioteka jest już dodana do odtwarzacza." + msgid "Invalid Animation file." msgstr "Nieprawidłowy plik Animation." +msgid "This animation is already added to the library." +msgstr "Ta animacja jest już dodana do biblioteki." + +msgid "Load Animation into Library: %s" +msgstr "Wczytaj animację do biblioteki: %s" + +msgid "Save Animation library to File: %s" +msgstr "Zapisz bibliotekę animacji do pliku: %s" + +msgid "Save Animation to File: %s" +msgstr "Zapisz animację do pliku: %s" + +msgid "Rename Animation Library: %s" +msgstr "Zmień nazwę biblioteki animacji: %s" + msgid "[Global]" msgstr "[Globalne]" +msgid "Rename Animation: %s" +msgstr "Zmień nazwę animacji: %s" + msgid "Animation Name:" msgstr "Nazwa animacji:" +msgid "No animation resource in clipboard!" +msgstr "Brak zasobu animacji w schowku!" + msgid "Pasted Animation" msgstr "Wklejona animacja" msgid "Open in Inspector" msgstr "Otwórz w inspektorze" +msgid "Remove Animation Library: %s" +msgstr "Usuń bibliotekę animacji: %s" + +msgid "Remove Animation from Library: %s" +msgstr "Usuń animację z biblioteki: %s" + msgid "[built-in]" msgstr "[wbudowane]" @@ -5785,6 +5969,39 @@ msgstr "[zewnętrzne]" msgid "[imported]" msgstr "[importowane]" +msgid "Add Animation to Library" +msgstr "Dodaj animację do biblioteki" + +msgid "Load animation from file and add to library" +msgstr "Wczytaj animację z pliku i dodaj do biblioteki" + +msgid "Paste Animation to Library from clipboard" +msgstr "Wklej animację ze schowka do biblioteki" + +msgid "Save animation library to resource on disk" +msgstr "Zapisz bibliotekę animacji do zasobu na dysku" + +msgid "Remove animation library" +msgstr "Usuń bibliotekę animacji" + +msgid "Copy animation to clipboard" +msgstr "Skopiuj animację do schowka" + +msgid "Save animation to resource on disk" +msgstr "Zapisz animację do zasobu na dysku" + +msgid "Remove animation from Library" +msgstr "Usuń animację z biblioteki" + +msgid "Edit Animation Libraries" +msgstr "Edytuj biblioteki animacji" + +msgid "Add Library" +msgstr "Dodaj bibliotekę" + +msgid "Load Library" +msgstr "Wczytaj bibliotekę" + msgid "Storage" msgstr "Przechowywanie" @@ -5803,12 +6020,18 @@ msgstr "Zmień nazwę animacji" msgid "Change Animation Name:" msgstr "Zmień nazwę animacji:" +msgid "Delete Animation '%s'?" +msgstr "Usunąć animację \"%s\"?" + msgid "Remove Animation" msgstr "Usuń animację" msgid "Invalid animation name!" msgstr "Nieprawidłowa nazwa animacji!" +msgid "Animation '%s' already exists!" +msgstr "Animacja \"%s\" już istnieje!" + msgid "Duplicate Animation" msgstr "Duplikuj animację" @@ -5818,12 +6041,21 @@ msgstr "Zmieszaj kolejną po zmianach" msgid "Change Blend Time" msgstr "Zmień czas mieszania" +msgid "[Global] (create)" +msgstr "[Globalna] (utwórz)" + +msgid "Duplicated Animation Name:" +msgstr "Nazwa duplikowanej animacji:" + msgid "Play selected animation backwards from current pos. (A)" msgstr "Odtwórz zaznaczoną animację od tyłu z aktualnej pozycji. (A)" msgid "Play selected animation backwards from end. (Shift+A)" msgstr "Odtwórz zaznaczoną animację od tyłu z końca. (Shift+A)" +msgid "Pause/stop animation playback. (S)" +msgstr "Zapauzuj/zatrzymaj odtwarzanie animacji. (S)" + msgid "Play selected animation from start. (Shift+D)" msgstr "Uruchom animację od początku. (Shift+D)" @@ -5842,6 +6074,9 @@ msgstr "Narzędzia do animacji" msgid "Animation" msgstr "Animacja" +msgid "Manage Animations..." +msgstr "Zarządzaj animacjami..." + msgid "Edit Transitions..." msgstr "Edytuj przejścia..." @@ -5887,6 +6122,9 @@ msgstr "Wymuś białe cieniowanie" msgid "Include Gizmos (3D)" msgstr "Dołącz uchwyty (3D)" +msgid "Onion Skinning temporarily disabled due to rendering bug." +msgstr "Tryb warstw cebuli tymczasowo wyłączony z powodu błędu renderowania." + msgid "Pin AnimationPlayer" msgstr "Przypnij AnimationPlayer" @@ -5941,6 +6179,17 @@ msgstr "Węzeł usunięty" msgid "Transition Removed" msgstr "Przejście usunięte" +msgid "" +"Select and move nodes.\n" +"RMB: Add node at position clicked.\n" +"Shift+LMB+Drag: Connects the selected node with another node or creates a " +"new node if you select an area without nodes." +msgstr "" +"Wybierz i przesuń węzły.\n" +"PPM: Dodaj węzeł na klikniętej pozycji.\n" +"Shift+LPM+Przesuń: Łączy wybrany węzeł z innym węzłem lub tworzy nowy węzeł, " +"jeśli wybierzesz obszar bez węzłów." + msgid "Create new nodes." msgstr "Utwórz nowe węzły." @@ -5950,18 +6199,27 @@ msgstr "Połącz węzły." msgid "Group Selected Node(s)" msgstr "Grupuj zaznaczone węzły" +msgid "Ungroup Selected Node" +msgstr "Rozgrupuj wybrany węzeł" + msgid "Remove selected node or transition." msgstr "Usuń zaznaczony węzeł lub przejście." msgid "Transition:" msgstr "Przejście:" +msgid "New Transitions Should Auto Advance" +msgstr "Nowe przejścia powinny automatycznie postępować" + msgid "Play Mode:" msgstr "Tryb odtwarzania:" msgid "Delete Selected" msgstr "Usuń zaznaczone" +msgid "Delete All" +msgstr "Usuń wszystko" + msgid "Root" msgstr "Korzeń" @@ -6123,6 +6381,12 @@ msgstr "" "Sprawdź włączone poziomy wsparcia, używając przycisku 'Support' w prawym, " "górnym rogu." +msgid "Search Templates, Projects, and Demos" +msgstr "Przeszukaj szablony, projekty i dema" + +msgid "Search Assets (Excluding Templates, Projects, and Demos)" +msgstr "Przeszukaj zasoby (bez szablonów, projektów i dem)" + msgid "Import..." msgstr "Importuj..." @@ -6150,6 +6414,12 @@ msgstr "Plik ZIP assetów" msgid "Audio Preview Play/Pause" msgstr "Graj/Pauzuj podgląd audio" +msgid "Bone Picker:" +msgstr "Wybieracz kości:" + +msgid "Clear mappings in current group." +msgstr "Wyczyść mapowania w obecnej grupie." + msgid "Preview" msgstr "Podgląd" @@ -6177,6 +6447,9 @@ msgstr "Krok obrotu:" msgid "Scale Step:" msgstr "Krok skali:" +msgid "Move Node(s) to Position" +msgstr "Przesuń węzeł/y na pozycję" + msgid "Move Vertical Guide" msgstr "Przesuń pionową prowadnicę" @@ -6237,6 +6510,15 @@ msgstr "Zgrupowany" msgid "Add Node Here" msgstr "Dodaj węzeł tutaj" +msgid "Instantiate Scene Here" +msgstr "Instancjonuj scenę tutaj" + +msgid "Paste Node(s) Here" +msgstr "Wklej węzeł/y tutaj" + +msgid "Move Node(s) Here" +msgstr "Przenieś węzeł/y tutaj" + msgid "px" msgstr "px" @@ -6286,6 +6568,9 @@ msgstr "Wklej pozę" msgid "Clear Guides" msgstr "Wyczyść prowadnice" +msgid "Create Custom Bone2D(s) from Node(s)" +msgstr "Utwórz własne węzły Bone2D z węzłów Node" + msgid "Zoom to 3.125%" msgstr "Oddal do 3.125%" @@ -6360,6 +6645,12 @@ msgstr "Kliknij by zmienić środek obrotu obiektu." msgid "Pan Mode" msgstr "Tryb przemieszczania" +msgid "" +"You can also use Pan View shortcut (Space by default) to pan in any mode." +msgstr "" +"Możesz także użyć skrótu Przesuń Widok (domyślnie Spacja), by poruszać się w " +"każdym trybie." + msgid "Ruler Mode" msgstr "Tryb linijki" @@ -6441,6 +6732,9 @@ msgstr "Opcje szkieletu" msgid "Show Bones" msgstr "Pokaż kości" +msgid "Make Bone2D Node(s) from Node(s)" +msgstr "Utwórz węzły Bone2D z węzłów Node" + msgid "View" msgstr "Widok" @@ -6477,6 +6771,9 @@ msgstr "Pokaż widok" msgid "Show Group And Lock Icons" msgstr "Pokaż ikony grup i blokady" +msgid "Show Transformation Gizmos" +msgstr "Pokaż uchwyty transformacji" + msgid "Center Selection" msgstr "Wyśrodkowywanie na zaznaczeniu" @@ -6534,6 +6831,23 @@ msgstr "Zmniejsz rozdzielczość siatki 2 razy" msgid "Adding %s..." msgstr "Dodawanie %s..." +msgid "Drag and drop to add as child of current scene's root node." +msgstr "" +"Przeciągnij i upuść, by dodać jako węzeł potomny korzenia aktualnej sceny." + +msgid "Hold Ctrl when dropping to add as child of selected node." +msgstr "" +"Przytrzymaj Ctrl podczas upuszczania, by dodać jako węzeł potomny wybranego " +"węzła." + +msgid "Hold Shift when dropping to add as sibling of selected node." +msgstr "" +"Przytrzymaj Shift podczas upuszczania, by dodać jako węzeł siostrzany " +"wybranego węzła." + +msgid "Hold Alt when dropping to add as a different node type." +msgstr "Przytrzymaj Alt podczas upuszczania, by dodać jako inny typ węzła." + msgid "Cannot instantiate multiple nodes without root." msgstr "Nie można utworzyć instancji wielu węzłów bez węzła głównego." @@ -6546,12 +6860,55 @@ msgstr "Błąd tworzenia sceny z %s" msgid "Change Default Type" msgstr "Zmienić domyślny typ" +msgid "Set Target Position" +msgstr "Ustaw pozycję docelową" + msgid "Set Handle" msgstr "Ustaw uchwyt" +msgid "This node doesn't have a control parent." +msgstr "Ten węzeł nie ma nadrzędnej kontrolki." + +msgid "" +"Use the appropriate layout properties depending on where you are going to " +"put it." +msgstr "" +"Użyj odpowiednich właściwości układu w zależności od tego, gdzie zamierzasz " +"go umieścić." + +msgid "This node is a child of a container." +msgstr "Ten węzeł jest dzieckiem kontenera." + +msgid "Use container properties for positioning." +msgstr "Użyj właściwości kontenera do pozycjonowania." + +msgid "This node is a child of a regular control." +msgstr "Ten węzeł jest potomkiem zwykłej kontrolki." + +msgid "Use anchors and the rectangle for positioning." +msgstr "Użyj zakotwiczeń i prostokąta do pozycjonowania." + +msgid "Collapse positioning hint." +msgstr "Zwiń wskazówkę dotyczącą pozycjonowania." + +msgid "Expand positioning hint." +msgstr "Rozwiń wskazówkę dotyczącą pozycjonowania." + +msgid "Container Default" +msgstr "Domyślny dla kontenera" + msgid "Fill" msgstr "Wypełnienie" +msgid "Shrink Begin" +msgstr "Skurcz początek" + +msgid "Shrink Center" +msgstr "Skurcz środek" + +msgid "Shrink End" +msgstr "Skurcz koniec" + msgid "Custom" msgstr "Niestandardowe" @@ -6606,12 +6963,68 @@ msgstr "Rozciągnij po prawej" msgid "Full Rect" msgstr "Cały obszar" +msgid "" +"Enable to also set the Expand flag.\n" +"Disable to only set Shrink/Fill flags." +msgstr "" +"Włącz, aby ustawić również flagę Rozwiń.\n" +"Wyłącz, aby ustawić tylko flagi Zmniejszania/Wypełniania." + +msgid "Some parents of the selected nodes do not support the Expand flag." +msgstr "Niektóre węzły nadrzędne do zaznaczonych nie wspierają flagi Expand." + +msgid "Align with Expand" +msgstr "Wyrównaj z flagą Expand" + +msgid "Change Anchors, Offsets, Grow Direction" +msgstr "Zmień zakotwiczenia, przesunięcia, kierunek rośnięcia" + +msgid "Change Anchors, Offsets (Keep Ratio)" +msgstr "Zmień zakotwiczenia, przesunięcia (zachowaj proporcje)" + +msgid "Change Vertical Size Flags" +msgstr "Zmień pionowe flagi rozmiaru" + +msgid "Change Horizontal Size Flags" +msgstr "Zmień poziome flagi rozmiaru" + +msgid "Presets for the anchor and offset values of a Control node." +msgstr "" +"Ustawienia wstępne dla wartości zakotwiczeń i przesunięć węzła Control." + +msgid "Anchor preset" +msgstr "Ustawienia wstępne zakotwiczeń" + +msgid "Set to Current Ratio" +msgstr "Ustaw na aktualne proporcje" + +msgid "Adjust anchors and offsets to match the current rect size." +msgstr "" +"Dostosuj zakotwiczenia i przesunięcia, by dopasować je do aktualnego " +"rozmiaru prostokąta." + +msgid "" +"When active, moving Control nodes changes their anchors instead of their " +"offsets." +msgstr "" +"Kiedy aktywne, poruszanie węzłów typu Control zmienia ich zakotwiczenia, " +"zamiast przesunięć." + +msgid "Sizing settings for children of a Container node." +msgstr "Ustawienia rozmiaru dla węzłów potomych węzła Container." + msgid "Horizontal alignment" msgstr "Wyrównanie w poziomie" +msgid "Vertical alignment" +msgstr "Wyrównanie w pionie" + msgid "Load Emission Mask" msgstr "Wczytaj maskę emisji" +msgid "CPUParticles2D" +msgstr "Cząsteczki CPU 2D" + msgid "Generated Point Count:" msgstr "Wygeneruj chmurę punktów:" @@ -6633,6 +7046,9 @@ msgstr "Przechwytywanie z piksela" msgid "Emission Colors" msgstr "Kolory emisji" +msgid "CPUParticles3D" +msgstr "Cząsteczki CPU 3D" + msgid "Create Emission Points From Node" msgstr "Twórz punkty emisji z węzła" @@ -6783,21 +7199,72 @@ msgstr "" "Kiedy używane zdalnie na urządzeniu, ta opcja jest wydajniejsza kiedy " "sieciowy system plików jest włączony." +msgid "Keep Debug Server Open" +msgstr "Pozostaw serwer debugowy otwarty" + +msgid "" +"When this option is enabled, the editor debug server will stay open and " +"listen for new sessions started outside of the editor itself." +msgstr "" +"Kiedy ta opcja jest włączona, serwer debugowy edytora będzie dalej otwarty i " +"będzie nasłuchiwał nowych sesji poza samym edytorem." + +msgid "Run Multiple Instances" +msgstr "Uruchom wiele instancji" + msgid "Run %d Instance" msgid_plural "Run %d Instances" msgstr[0] "Uruchom %d instancję." msgstr[1] "Uruchom %d instancje." msgstr[2] "Uruchom %d instancji." +msgid "Overrides (%d)" +msgstr "Nadpisania (%d)" + +msgctxt "Locale" +msgid "Add Script" +msgstr "Dodaj pismo" + +msgid "Add Locale" +msgstr "Dodaj lokalizację" + +msgid "Variation Coordinates (%d)" +msgstr "Koordynaty wariacji (%d)" + +msgid "No supported features" +msgstr "Niewspierane funkcjonalności" + +msgid "Features (%d of %d set)" +msgstr "Funkcjonalności (%d z %d ustawione)" + +msgid "Add Feature" +msgstr "Dodaj funkcjonalność" + +msgid " - Variation" +msgstr " - wariacja" + +msgid "Unable to preview font" +msgstr "Nie można podejrzeć czcionki" + msgid "Convert to CPUParticles2D" msgstr "Przekonwertuj na CPUParticles2D" +msgid "Generating Visibility Rect (Waiting for Particle Simulation)" +msgstr "Generowanie prostokąta widzialności (czekam na symulację cząsteczek)" + msgid "Generate Visibility Rect" msgstr "Wygeneruj prostokąt widoczności" +msgid "Can only set point into a ParticleProcessMaterial process material" +msgstr "" +"Punkt można wstawić tylko w materiał przetwarzania ParticleProcessMaterial" + msgid "Clear Emission Mask" msgstr "Usuń maskę emisji" +msgid "GPUParticles2D" +msgstr "Cząsteczki GPU 2D" + msgid "Generation Time (sec):" msgstr "Czas generowania (sek):" @@ -6807,6 +7274,9 @@ msgstr "Powierzchnie geometrii nie zawierają żadnego obszaru." msgid "The geometry doesn't contain any faces." msgstr "Geometria nie zawiera żadnych powierzchni." +msgid "\"%s\" doesn't inherit from Node3D." +msgstr "\"%s\" nie dziedziczy po Node3D." + msgid "\"%s\" doesn't contain geometry." msgstr "\"%s\" nie zawiera geometrii." @@ -6831,9 +7301,25 @@ msgstr "Głośność" msgid "Emission Source:" msgstr "Źródło emisji:" +msgid "A processor material of type 'ParticleProcessMaterial' is required." +msgstr "" +"Wymagany jest materiał przetwarzający typu \"ParticleProcessMaterial\"." + +msgid "Convert to CPUParticles3D" +msgstr "Przekonwertuj na CPUParticles3D" + +msgid "Generating Visibility AABB (Waiting for Particle Simulation)" +msgstr "Generowanie AABB widoczności (czekam na symulację cząsteczek)" + msgid "Generate Visibility AABB" msgstr "Generuj AABB widoczności" +msgid "GPUParticles3D" +msgstr "Cząsteczki GPU 3D" + +msgid "Generate AABB" +msgstr "Generuj AABB" + msgid "Low" msgstr "Niskie" @@ -6846,6 +7332,27 @@ msgstr "Wysokie" msgid "Subdivisions: %s" msgstr "Pododdziały: %s" +msgid "Cell size: %s" +msgstr "Rozmiar komórki: %s" + +msgid "Video RAM size: %s MB (%s)" +msgstr "Rozmiar Video RAM: %s MB (%s)" + +msgid "Bake SDF" +msgstr "Wypiecz SDF" + +msgid "" +"No faces detected during GPUParticlesCollisionSDF3D bake.\n" +"Check whether there are visible meshes matching the bake mask within its " +"extents." +msgstr "" +"Nie wykryto powierzchni podczas wypiekania GPUParticlesCollisionSDF3D.\n" +"Sprawdź, czy są widoczne siatki wewnątrz obszaru pasujące do maski " +"wypiekania." + +msgid "Select path for SDF Texture" +msgstr "Wybierz ścieżkę dla tekstury SDF" + msgid "Gradient Edited" msgstr "Gradient edytowany" @@ -6874,11 +7381,24 @@ msgstr "" "Nie można określić ścieżki zapisu dla obrazów mapy światła.\n" "Zapisz scenę i spróbuj ponownie." +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" +"Brak siatek do wypalenia. Upewnij się, że zawierają kanał UV2 i że flaga " +"\"Bake Light\" jest ustawiona." + msgid "Failed creating lightmap images, make sure path is writable." msgstr "" "Błąd przy tworzeniu ligtmapy, upewnij się że ścieżka nie jest ustawiona " "jedynie do odczytu." +msgid "No editor scene root found." +msgstr "Nie znaleziono korzenia sceny edytora." + +msgid "Lightmap data is not local to the scene." +msgstr "Dane mapy światła nie są lokalne dla sceny." + msgid "Bake Lightmaps" msgstr "Stwórz Lightmaps" @@ -6930,14 +7450,38 @@ msgstr "Utwórz wiele wypukłych kształtów" msgid "Create Navigation Mesh" msgstr "Utwórz siatkę nawigacyjną (Navigation Mesh)" +msgid "Create Debug Tangents" +msgstr "Utwórz debugowe styczne" + msgid "Contained Mesh is not of type ArrayMesh." msgstr "Zawarta siatka nie jest typu ArrayMesh." +msgid "" +"Mesh cannot unwrap UVs because it does not belong to the edited scene. Make " +"it unique first." +msgstr "" +"Siatka nie może rozwinąć UV, ponieważ nie należy do edytowanej sceny. Uczyń " +"ją najpierw unikalną." + +msgid "" +"Mesh cannot unwrap UVs because it belongs to another resource which was " +"imported from another file type. Make it unique first." +msgstr "" +"Siatka nie może rozwinąć UV, ponieważ należy do innego zasobu, który został " +"zaimportowany z innego typu pliku. Uczyń ją najpierw unikalną." + +msgid "" +"Mesh cannot unwrap UVs because it was imported from another file type. Make " +"it unique first." +msgstr "" +"Siatka nie może rozwinąć UV, ponieważ została importowana z innego typu " +"pliku. Uczyń ją najpierw unikalną." + msgid "UV Unwrap failed, mesh may not be manifold?" -msgstr "Błąd mapowania UV, siatka modelu może nie być poprawnie wykonana?" +msgstr "Rozwijanie UV nie powiodło się, siatka modelu może być nieróżnorodna?" msgid "Unwrap UV2" -msgstr "Rozpakuj UV2" +msgstr "Rozwiń UV2" msgid "No mesh to debug." msgstr "Brak siatki do debugowania." @@ -6945,6 +7489,18 @@ msgstr "Brak siatki do debugowania." msgid "Mesh has no UV in layer %d." msgstr "Siatka nie posiada UV na warstwie %d." +msgid "MeshInstance3D lacks a Mesh." +msgstr "MeshInstance3D nie posiada siatki." + +msgid "Mesh has no surface to create outlines from." +msgstr "Siatka nie posiada powierzchni, z której można by utworzyć obrysy." + +msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES." +msgstr "Prymitywne elementy siatki nie sią PRIMITIVE_TRIANGLES." + +msgid "Could not create outline." +msgstr "Nie udało się utworzyć obrysu." + msgid "Create Outline" msgstr "Utwórz obrys" @@ -6954,6 +7510,15 @@ msgstr "Mesh" msgid "Create Trimesh Static Body" msgstr "Stwórz statyczne ciało siatki trójkątów (Trimesh)" +msgid "" +"Creates a StaticBody3D and assigns a polygon-based collision shape to it " +"automatically.\n" +"This is the most accurate (but slowest) option for collision detection." +msgstr "" +"Tworzy węzeł StaticBody3D i automatycznie przypisuje mu kształt kolizji " +"oparty na wielokątach.\n" +"To jest najdokładniejsza (ale najwolniejsza) opcja do detekcji kolizji." + msgid "Create Trimesh Collision Sibling" msgstr "Utwórz sąsiadującą trójsiatkę kolizji" @@ -7001,6 +7566,17 @@ msgstr "" msgid "Create Outline Mesh..." msgstr "Utwórz siatkę zarysu..." +msgid "" +"Creates a static outline mesh. The outline mesh will have its normals " +"flipped automatically.\n" +"This can be used instead of the StandardMaterial Grow property when using " +"that property isn't possible." +msgstr "" +"Tworzy statyczną siatkę obwódki. Siatka obwódki ma automatycznie odwrócone " +"normalne.\n" +"To może zostać użyte zamiast właściwości Grow w StandardMaterial, kiedy " +"używanie tej właściwości jest niemożliwe." + msgid "View UV1" msgstr "Widok UV1" @@ -7064,6 +7640,9 @@ msgstr "" msgid "Mesh source is invalid (invalid path)." msgstr "Źródło siatki jest niepoprawne (nieprawidłowa ścieżka)." +msgid "Mesh source is invalid (not a MeshInstance3D)." +msgstr "Źródło siatki jest niepoprawne (nie jest typu MeshInstance3D)." + msgid "Mesh source is invalid (contains no Mesh resource)." msgstr "Źródło siatki jest niepoprawne (nie zawiera zasobu Siatka (Mesh))." @@ -7124,6 +7703,12 @@ msgstr "Ilośc:" msgid "Populate" msgstr "Zapełnij" +msgid "Set start_position" +msgstr "Ustaw start_position" + +msgid "Set end_position" +msgstr "Ustaw end_position" + msgid "Create Navigation Polygon" msgstr "Utwórz wielokąt nawigacyjny" @@ -7131,7 +7716,7 @@ msgid "Unnamed Gizmo" msgstr "Nienazwany uchwyt" msgid "Change Light Radius" -msgstr "Zmień promień światła" +msgstr "Zmień promień światła" msgid "Change AudioStreamPlayer3D Emission Angle" msgstr "Zmień kąt emisji węzła AudioStreamPlayer3D" @@ -7143,7 +7728,10 @@ msgid "Change Camera Size" msgstr "Zmień rozmiar kamery" msgid "Change Sphere Shape Radius" -msgstr "Zmień promień Sphere Shape" +msgstr "Zmień promień kształtu sfery" + +msgid "Change Box Shape Size" +msgstr "Zmień rozmiar kształtu pudełka" msgid "Change Notifier AABB" msgstr "Zmień AABB powiadamiacza" @@ -7151,6 +7739,15 @@ msgstr "Zmień AABB powiadamiacza" msgid "Change Particles AABB" msgstr "Zmień AABB cząsteczek" +msgid "Change Radius" +msgstr "Zmień promień" + +msgid "Change Probe Size" +msgstr "Zmień rozmiar sondy" + +msgid "Change Decal Size" +msgstr "Zmień rozmiar naklejki" + msgid "Change Capsule Shape Radius" msgstr "Zmień promień Capsule Shape" @@ -7163,6 +7760,24 @@ msgstr "Zmień promień kształtu cylindra" msgid "Change Cylinder Shape Height" msgstr "Zmień wysokość kształtu cylindra" +msgid "Change Separation Ray Shape Length" +msgstr "Zmień długość kształtu promienia oddzielającego" + +msgid "Start Location" +msgstr "Początkowe położenie" + +msgid "End Location" +msgstr "Końcowe położenie" + +msgid "Change Start Position" +msgstr "Zmień pozycję początkową" + +msgid "Change End Position" +msgstr "Zmień końcową pozycję" + +msgid "Change Fog Volume Size" +msgstr "Zmień rozmiar obszaru mgły" + msgid "Transform Aborted." msgstr "Transformacja Zaniechana." @@ -7253,6 +7868,12 @@ msgstr "Rozmiar: %s (%.1fMP)\n" msgid "Objects: %d\n" msgstr "Obiektów: %d\n" +msgid "Primitive Indices: %d\n" +msgstr "Indeksy prymitywów: %s\n" + +msgid "Draw Calls: %d" +msgstr "Wywołania rysowania: %d" + msgid "CPU Time: %s ms" msgstr "Czas CPU: %s ms" @@ -7286,6 +7907,12 @@ msgstr "Dopasuj położenie do widoku" msgid "Align Rotation with View" msgstr "Dopasuj obrót do widoku" +msgid "Set Surface %d Override Material" +msgstr "Ustaw nadpisanie materiału powierzchni %d" + +msgid "Set Material Override" +msgstr "Ustaw nadpisanie materiału" + msgid "Cannot drag and drop into multiple selected nodes." msgstr "Nie można przeciągnąć i upuścić na wiele zaznaczonych węzłów." @@ -7325,18 +7952,36 @@ msgstr "Widok oświetlenia" msgid "Display Unshaded" msgstr "Widok bezcieniowy" +msgid "Directional Shadow Splits" +msgstr "Podziały cienia kierunkowego" + +msgid "Normal Buffer" +msgstr "Bufor normalnych" + msgid "Shadow Atlas" msgstr "Atlas cieni" +msgid "Directional Shadow Map" +msgstr "Mapa cieni kierunkowych" + +msgid "Decal Atlas" +msgstr "Atlas naklejek" + msgid "VoxelGI Lighting" msgstr "Oświetlenie VoxelGI" msgid "VoxelGI Albedo" msgstr "Albedo VoxelGI" +msgid "VoxelGI Emission" +msgstr "Emisja VoxelGI" + msgid "SDFGI Cascades" msgstr "Kaskady SDFGI" +msgid "SDFGI Probes" +msgstr "Sondy SDFGI" + msgid "Scene Luminance" msgstr "Luminancja sceny" @@ -7349,12 +7994,27 @@ msgstr "SSIL" msgid "VoxelGI/SDFGI Buffer" msgstr "Bufor VoxelGI/SDFGI" +msgid "Disable Mesh LOD" +msgstr "Wyłącz LOD siatek" + msgid "OmniLight3D Cluster" msgstr "Klaster OmniLight3D" msgid "SpotLight3D Cluster" msgstr "Klaster SpotLight3D" +msgid "Decal Cluster" +msgstr "Grono naklejek" + +msgid "ReflectionProbe Cluster" +msgstr "Grono ReflectionProbe" + +msgid "Occlusion Culling Buffer" +msgstr "Bufor Occlusion Culling" + +msgid "Motion Vectors" +msgstr "Wektory ruchu" + msgid "Display Advanced..." msgstr "Widok zaawansowany..." @@ -7365,7 +8025,10 @@ msgid "View Gizmos" msgstr "Pokaż uchwyty" msgid "View Information" -msgstr "Wyświetlaj informacje" +msgstr "Pokaż informacje" + +msgid "View Frame Time" +msgstr "Pokaż czas klatki" msgid "Half Resolution" msgstr "Połowa rozdzielczości" @@ -7427,6 +8090,15 @@ msgstr "Zawęź transformacje do płaszczyzny XY" msgid "Cancel Transformation" msgstr "Anuluj przekształcenie" +msgid "Begin Translate Transformation" +msgstr "Zacznij przesuwanie transformacji" + +msgid "Begin Rotate Transformation" +msgstr "Zacznij obracanie transformacji" + +msgid "Begin Scale Transformation" +msgstr "Zacznij skalowanie transformacji" + msgid "Toggle Camera Preview" msgstr "Przełącz podgląd kamery" @@ -7439,6 +8111,16 @@ msgstr "" "By przybliżyć bardziej, zmień płaszczyzny odcięcia kamery (Widok -> " "Ustawienia...)" +msgid "Overriding material..." +msgstr "Nadpisywanie materiału..." + +msgid "" +"Drag and drop to override the material of any geometry node.\n" +"Hold Ctrl when dropping to override a specific surface." +msgstr "" +"Przeciągnij i upuść by nadpisać materiał dowolnego węzła geometrii.\n" +"Przytrzymaj Ctrl podczas upuszczania, by nadpisać konkretną powierzchnię." + msgid "XForm Dialog" msgstr "Okno dialogowe XForm" @@ -7462,6 +8144,12 @@ msgstr "Przyciągnij węzły do podłogi" msgid "Couldn't find a solid floor to snap the selection to." msgstr "Nie udało się znaleźć stałej podłogi do przyciągnięcia zaznaczenia." +msgid "Add Preview Sun to Scene" +msgstr "Dodaj podglądowe słońce do sceny" + +msgid "Add Preview Environment to Scene" +msgstr "Dodaj podglądowe środowisko do sceny" + msgid "" "Scene contains\n" "DirectionalLight3D.\n" @@ -7610,13 +8298,13 @@ msgid "Snap Settings" msgstr "Ustawienia przyciągania" msgid "Translate Snap:" -msgstr "Przekształcenie przyciągania:" +msgstr "Przyciąganie przesunięcia:" msgid "Rotate Snap (deg.):" -msgstr "Obrót przyciągania (stopnie):" +msgstr "Przyciąganie obrotu (stopnie):" msgid "Scale Snap (%):" -msgstr "Skala przyciągania (%):" +msgstr "Przyciąganie skali (%):" msgid "Viewport Settings" msgstr "Ustawienia widoku" @@ -7657,6 +8345,9 @@ msgstr "Podgląd Słońca" msgid "Sun Direction" msgstr "Kierunek Słońca" +msgid "Angular Altitude" +msgstr "Wysokość kątowa" + msgid "Azimuth" msgstr "Azymut" @@ -7666,9 +8357,23 @@ msgstr "Kolor słońca" msgid "Sun Energy" msgstr "Jasność Słońca" +msgid "Shadow Max Distance" +msgstr "Maks. dystans cieni" + msgid "Add Sun to Scene" msgstr "Dodaj Słońce do sceny" +msgid "" +"Adds a DirectionalLight3D node matching the preview sun settings to the " +"current scene.\n" +"Hold Shift while clicking to also add the preview environment to the current " +"scene." +msgstr "" +"Dodaje węzeł DirectionalLight3D do aktualnej sceny, zgodny z ustawieniami " +"podglądowego słońca.\n" +"Przytrzymaj Shift podczas klikania, by dodać również do sceny podglądowe " +"środowisko." + msgid "Preview Environment" msgstr "Podgląd środowiska" @@ -7687,9 +8392,54 @@ msgstr "AO" msgid "Glow" msgstr "Blask" +msgid "Tonemap" +msgstr "Mapa odcieni" + msgid "GI" msgstr "GI" +msgid "Post Process" +msgstr "Przetwarzanie końcowe" + +msgid "Add Environment to Scene" +msgstr "Dodaj środowisko do sceny" + +msgid "" +"Adds a WorldEnvironment node matching the preview environment settings to " +"the current scene.\n" +"Hold Shift while clicking to also add the preview sun to the current scene." +msgstr "" +"Dodaje węzeł WorldEnvironment do aktualnej sceny, zgodny z ustawieniami " +"podglądowego środowiska.\n" +"Przytrzymaj Shift podczas klikania, by dodać również do sceny podglądowe " +"słońce." + +msgid "" +"Can't determine a save path for the occluder.\n" +"Save your scene and try again." +msgstr "" +"Nie można określić ścieżki zapisu dla zasłony.\n" +"Zapisz scenę i spróbuj ponownie." + +msgid "" +"No meshes to bake.\n" +"Make sure there is at least one MeshInstance3D node in the scene whose " +"visual layers are part of the OccluderInstance3D's Bake Mask property." +msgstr "" +"Brak siatek do wypalenia.\n" +"Upewnij się, że jest co najmniej jeden węzeł MeshInstance3D na scenie, " +"którego warstwy wizualne są częścią właściwości Bake Mask węzła " +"OccluderInstance3D." + +msgid "Could not save the new occluder at the specified path:" +msgstr "Nie udało się zapisać zasłony pod określoną ścieżką:" + +msgid "Bake Occluders" +msgstr "Wypiecz zasłony" + +msgid "Select occluder bake file:" +msgstr "Wybierz plik wypiekania zasłon:" + msgid "Remove Point from Curve" msgstr "Usuń punkt z krzywej" @@ -8003,6 +8753,12 @@ msgstr "Nie można załadować pliku w:" msgid "Save File As..." msgstr "Zapisz plik jako..." +msgid "Can't obtain the script for reloading." +msgstr "Nie udało się uzyskać skryptu do przeładowania." + +msgid "Reload only takes effect on tool scripts." +msgstr "Przeładowanie ma efekt tylko na skrypty narzędziowe." + msgid "Can't obtain the script for running." msgstr "Brak skryptu do uruchomienia." @@ -8042,6 +8798,9 @@ msgstr "Znajdź następny" msgid "Find Previous" msgstr "Znajdź poprzedni" +msgid "Filter Scripts" +msgstr "Filtruj skrypty" + msgid "Toggle alphabetical sorting of the method list." msgstr "Przełącz alfabetyczne sortowanie listy metod." @@ -8186,7 +8945,7 @@ msgid "Pick Color" msgstr "Wybierz Kolor" msgid "Folding" -msgstr "Składanie" +msgstr "Zawijanie" msgid "Indentation" msgstr "Wcięcia" @@ -8215,6 +8974,9 @@ msgstr "Idź do" msgid "Delete Line" msgstr "Usuń wiersz" +msgid "Unindent" +msgstr "Usuń wcięcie" + msgid "Toggle Comment" msgstr "Przełącz komentarz" @@ -8281,6 +9043,46 @@ msgstr "Przejdź do następnego punktu wstrzymania" msgid "Go to Previous Breakpoint" msgstr "Przejdź do poprzedniego punktu wstrzymania" +msgid "New Shader Include" +msgstr "Nowe załączenie shadera" + +msgid "Load Shader File" +msgstr "Wczytaj plik shadera" + +msgid "Load Shader Include File" +msgstr "Wczytaj plik załączenia shadera" + +msgid "Save File" +msgstr "Zapisz plik" + +msgid "Save File As" +msgstr "Zapisz plik jako" + +msgid "Open File in Inspector" +msgstr "Otwórz plik w inspektorze" + +msgid "Close File" +msgstr "Zamknij plik" + +msgid "Shader Editor" +msgstr "Edytor shaderów" + +msgid "No valid shader stages found." +msgstr "Nie znaleziono prawidłowych etapów shadera." + +msgid "Shader stage compiled without errors." +msgstr "Etap shadera skompilowany bezbłędnie." + +msgid "" +"File structure for '%s' contains unrecoverable errors:\n" +"\n" +msgstr "" +"Struktura pliku dla \"%s\" zawiera błędy nie do odratowania:\n" +"\n" + +msgid "ShaderFile" +msgstr "Plik shadera" + msgid "This skeleton has no bones, create some children Bone2D nodes." msgstr "Ten szkielet nie ma kości. Stwórz jakieś węzły potomne Bone2D." @@ -8299,15 +9101,77 @@ msgstr "Resetuj do pozy spoczynkowej" msgid "Overwrite Rest Pose" msgstr "Nadpisz pozę spoczynkową" +msgid "Set Bone Transform" +msgstr "Ustaw transformację kości" + +msgid "Set Bone Rest" +msgstr "Ustaw spoczynek kości" + +msgid "Cannot create a physical skeleton for a Skeleton3D node with no bones." +msgstr "" +"Nie można utworzyć fizycznego szkieletu dla węzła Skeleton3D bez kości." + msgid "Create physical bones" msgstr "Utwórz fizyczne kości" +msgid "Cannot export a SkeletonProfile for a Skeleton3D node with no bones." +msgstr "Nie można eksportować SkeletonProfile dla węzła Skeleton3D bez kości." + +msgid "Export Skeleton Profile As..." +msgstr "Eksportuj profil szkieletu jako..." + +msgid "Set Bone Parentage" +msgstr "Ustaw rodzicielstwo kości" + msgid "Skeleton3D" msgstr "Szkielet 3D" +msgid "Reset All Bone Poses" +msgstr "Resetuj wszystkie pozy kości" + +msgid "Reset Selected Poses" +msgstr "Zresetuj zaznaczone pozy" + +msgid "Apply All Poses to Rests" +msgstr "Zastosuj wszystkie pozy do spoczynków" + +msgid "Apply Selected Poses to Rests" +msgstr "Zastosuj zaznaczone pozy do spoczynków" + +msgid "Create Physical Skeleton" +msgstr "Utwórz fizyczny szkielet" + +msgid "Export Skeleton Profile" +msgstr "Eksportuj profil szkieletu" + +msgid "" +"Edit Mode\n" +"Show buttons on joints." +msgstr "" +"Tryb edycji\n" +"Pokaż przyciski na złączeniach." + +msgid "Insert key of bone poses already exist track." +msgstr "Wstaw klucze dla póz kości, które mają już ścieżkę." + +msgid "Insert key of all bone poses." +msgstr "Wstaw klucz wszystkich póz kości." + +msgid "Insert Key (All Bones)" +msgstr "Wstaw klucz (wszystkie kości)" + +msgid "Bone Transform" +msgstr "Transformacja kości" + msgid "Play IK" msgstr "Odtwórz IK" +msgid "Create MeshInstance2D" +msgstr "Utwórz MeshInstance2D" + +msgid "MeshInstance2D Preview" +msgstr "Podgląd MeshInstance2D" + msgid "Create Polygon2D" msgstr "Utwórz węzeł Polygon2D" @@ -8326,6 +9190,12 @@ msgstr "Utwórz węzeł LightOccluder2D" msgid "LightOccluder2D Preview" msgstr "Podgląd LightOccluder2D" +msgid "Can't convert a Sprite2D from a foreign scene." +msgstr "Nie można przekonwertować Sprite2D z innej sceny." + +msgid "Sprite2D is empty!" +msgstr "Sprite2D jest pusty!" + msgid "Can't convert a sprite using animation frames to mesh." msgstr "" "Nie można przekonwertować sprite'a używającego klatek animacji na siatkę." @@ -8405,21 +9275,57 @@ msgstr "Usunąć animację?" msgid "Change Animation FPS" msgstr "Zmień FPS animacji" +msgid "Set Frame Duration" +msgstr "Ustaw czas trwania klatki" + msgid "(empty)" msgstr "(pusty)" msgid "Animations:" msgstr "Animacje:" +msgid "Animation Speed" +msgstr "Szybkość animacji" + +msgid "Filter Animations" +msgstr "Filtruj animacje" + msgid "Delete Animation" msgstr "Usuń animację" msgid "Animation Frames:" msgstr "Klatki animacji:" +msgid "Frame Duration:" +msgstr "Długość klatki" + msgid "Zoom Reset" msgstr "Wyzeruj zbliżenie" +msgid "Add frame from file" +msgstr "Dodaj klatkę z pliku" + +msgid "Add frames from sprite sheet" +msgstr "Dodaj klatki z sprite sheetu" + +msgid "Delete Frame" +msgstr "Usuń klatkę" + +msgid "Copy Frame" +msgstr "Kopiuj klatkę" + +msgid "Insert Empty (Before Selected)" +msgstr "Wstaw puste (przed zaznaczonym)" + +msgid "Insert Empty (After Selected)" +msgstr "Wstaw puste (po zaznaczonym)" + +msgid "Move Frame Left" +msgstr "Przesuń klatkę w lewo" + +msgid "Move Frame Right" +msgstr "Przesuń klatkę w prawo" + msgid "Select Frames" msgstr "Zaznacz klatki" @@ -8441,6 +9347,25 @@ msgstr "Utwórz klatki ze Sprite Sheeta" msgid "SpriteFrames" msgstr "SpriteFrames" +msgid "Warnings should be fixed to prevent errors." +msgstr "Ostrzeżenia powinny zostać naprawione, by zapobiec błędom." + +msgid "" +"This shader has been modified on disk.\n" +"What action should be taken?" +msgstr "" +"Ten shader został zmieniony na dysku.\n" +"Jakie działania podjąć?" + +msgid "%s Mipmaps" +msgstr "%s mipmap" + +msgid "Memory: %s" +msgstr "Pamięć: %s" + +msgid "No Mipmaps" +msgstr "Brak mipmap" + msgid "Set Region Rect" msgstr "Ustaw obszar tekstury" @@ -8462,6 +9387,12 @@ msgstr "Tnij automatycznie" msgid "Step:" msgstr "Krok:" +msgid "Region Editor" +msgstr "Edytor regionu" + +msgid "Edit Region" +msgstr "Edytuj region" + msgid "Styleboxes" msgstr "Styleboxy" @@ -8483,6 +9414,12 @@ msgstr[2] "{num} stałych" msgid "No constants found." msgstr "Nie znaleziono stałych." +msgid "1 font" +msgid_plural "{num} fonts" +msgstr[0] "1 czcionka" +msgstr[1] "{num} czcionki" +msgstr[2] "{num} czcionek" + msgid "No fonts found." msgstr "Nie znaleziono czcionek." @@ -8492,9 +9429,24 @@ msgstr[0] "1 rozmiar czcionki" msgstr[1] "{num} rozmiary czcionki" msgstr[2] "{num} rozmiarów czcionki" +msgid "No font sizes found." +msgstr "Nie znaleziono rozmiarów czcionki." + +msgid "1 icon" +msgid_plural "{num} icons" +msgstr[0] "1 ikona" +msgstr[1] "{num} ikony" +msgstr[2] "{num} ikon" + msgid "No icons found." msgstr "Nie znaleziono ikon." +msgid "1 stylebox" +msgid_plural "{num} styleboxes" +msgstr[0] "1 stylebox" +msgstr[1] "{num} styleboxy" +msgstr[2] "{num} styleboxów" + msgid "No styleboxes found." msgstr "Nie znaleziono styleboxów." @@ -8519,6 +9471,12 @@ msgstr "Aktualizowanie edytora" msgid "Finalizing" msgstr "Finalizowanie" +msgid "Import Theme Items" +msgstr "Importuj elementy motywu" + +msgid "Filter Items" +msgstr "Filtruj elementy" + msgid "With Data" msgstr "z danymi" @@ -8552,6 +9510,18 @@ msgstr "Zaznacz wszystkie widoczne elementy czcionek i ich dane." msgid "Deselect all visible font items." msgstr "Odznacz wszystkie widoczne elementy czcionek." +msgid "Font sizes" +msgstr "Rozmiary czcionki" + +msgid "Select all visible font size items." +msgstr "Zaznacz wszystkie widoczne elementy rozmiaru czcionek." + +msgid "Select all visible font size items and their data." +msgstr "Zaznacz wszystkie widoczne elementy rozmiaru czcionek i ich dane." + +msgid "Deselect all visible font size items." +msgstr "Odznacz wszystkie widoczne elementy rozmiaru czcionek." + msgid "Select all visible icon items." msgstr "Zaznacz wszystkie widoczne elementy ikon." @@ -8633,6 +9603,9 @@ msgstr "Usuń wszystkie elementy stałych" msgid "Remove All Font Items" msgstr "Usuń wszystkie elementy czcionek" +msgid "Remove All Font Size Items" +msgstr "Usuń wszystkie elementy rozmiaru czcionek" + msgid "Remove All Icon Items" msgstr "Usuń wszystkie elementy ikon" @@ -8646,6 +9619,30 @@ msgstr "" "Ten motyw jest pusty.\n" "Dodaj więcej elementów ręcznie albo importując z innego motywu." +msgid "Remove Theme Item" +msgstr "Usuń element motywu" + +msgid "Add Theme Type" +msgstr "Dodaj typ motywu" + +msgid "Create Theme Item" +msgstr "Utwórz element motywu" + +msgid "Remove Theme Type" +msgstr "Usuń typ motywu" + +msgid "Remove Data Type Items From Theme" +msgstr "Usuń elementy typu danych z motywu" + +msgid "Remove Class Items From Theme" +msgstr "Usuń elementy klasy z motywu" + +msgid "Remove Custom Items From Theme" +msgstr "Usuń własne elementy z motywu" + +msgid "Remove All Items From Theme" +msgstr "Usuń wszystkie elementy z motywu" + msgid "Add Color Item" msgstr "Dodaj element koloru" @@ -8655,6 +9652,9 @@ msgstr "Dodaj element stałej" msgid "Add Font Item" msgstr "Dodaj element czcionki" +msgid "Add Font Size Item" +msgstr "Dodaj element rozmiaru czcionki" + msgid "Add Icon Item" msgstr "Dodaj element ikony" @@ -8670,12 +9670,18 @@ msgstr "Zmień nazwę elementu stałej" msgid "Rename Font Item" msgstr "Zmień nazwę elementu czcionki" +msgid "Rename Font Size Item" +msgstr "Zmień nazwę elementu rozmiaru czcionki" + msgid "Rename Icon Item" msgstr "Zmień nazwę elementu ikony" msgid "Rename Stylebox Item" msgstr "Zmień nazwę elementu stylebox" +msgid "Rename Theme Item" +msgstr "Zmień nazwę elementu motywu" + msgid "Invalid file, not a Theme resource." msgstr "Plik niepoprawny, nie jest zasobem motywu (Theme)." @@ -8773,6 +9779,48 @@ msgstr "Dodaj typ elementu" msgid "Add Type" msgstr "Dodaj typ" +msgid "Override All Default Theme Items" +msgstr "Nadpisz wszystkie domyślne elementy motywu" + +msgid "Override Theme Item" +msgstr "Nadpisz element motywu" + +msgid "Set Color Item in Theme" +msgstr "Ustaw element koloru w motywie" + +msgid "Set Constant Item in Theme" +msgstr "Ustaw w motywie element stałej" + +msgid "Set Font Size Item in Theme" +msgstr "Ustaw w motywie element rozmiaru czcionki" + +msgid "Set Font Item in Theme" +msgstr "Ustaw w motywie element czcionki" + +msgid "Set Icon Item in Theme" +msgstr "Ustaw w motywie element ikony" + +msgid "Set Stylebox Item in Theme" +msgstr "Ustaw w motywie element stylebox" + +msgid "Pin Stylebox" +msgstr "Przypnij stylebox" + +msgid "Unpin Stylebox" +msgstr "Odepnij stylebox" + +msgid "Set Theme Type Variation" +msgstr "Ustaw wariację typu motywu" + +msgid "Set Variation Base Type" +msgstr "Ustaw typ bazowy wariacji" + +msgid "Set Base Type" +msgstr "Ustaw typ bazowy" + +msgid "Add a type from a list of available types or create a new one." +msgstr "Dodaj typ z listy dostępnych typów albo utwórz nowy." + msgid "Show Default" msgstr "Pokaż domyślne" @@ -8904,8 +9952,86 @@ msgstr "Przeładuj scenę, by odzwierciedlić jej najbardziej aktualny stan." msgid "Merge TileSetAtlasSource" msgstr "Połącz TileSetAtlasSource" +msgid "%s (ID: %d)" +msgstr "%s (ID: %d)" + +msgid "Atlas Merging" +msgstr "Scalanie atlasów" + +msgid "Merge (Keep original Atlases)" +msgstr "Scal (zachowaj oryginalne atlasy)" + msgid "Merge" -msgstr "Połącz" +msgstr "Scal" + +msgid "Next Line After Column" +msgstr "Następny wiersz po kolumnie" + +msgid "Please select two atlases or more." +msgstr "Proszę wybrać dwa lub więcej atlasów." + +msgid "" +"Source: %d\n" +"Atlas coordinates: %s\n" +"Alternative: 0" +msgstr "" +"Źródło: %d\n" +"Koordynaty atlasu: %s\n" +"Alternatywne: 0" + +msgid "" +"Source: %d\n" +"Atlas coordinates: %s\n" +"Alternative: %d" +msgstr "" +"Źródło: %d\n" +"Koordynaty atlasu: %s\n" +"Alternatywne: %d" + +msgid "Center View" +msgstr "Wyśrodkuj widok" + +msgid "No atlas source with a valid texture selected." +msgstr "Brak zaznaczonego źródła atlasowego z prawidłową teksturą." + +msgid "Base Tiles" +msgstr "Kafelki podstawowe" + +msgid "Alternative Tiles" +msgstr "Kafelki alternatywne" + +msgid "Reset Polygons" +msgstr "Zresetuj wielokąt" + +msgid "Clear Polygons" +msgstr "Wyczyść wielokąt" + +msgid "Rotate Polygons Right" +msgstr "Obróć wielokąt w prawo" + +msgid "Rotate Polygons Left" +msgstr "Obróć wielokąt w lewo" + +msgid "Flip Polygons Horizontally" +msgstr "Odbij wielokąt poziomo" + +msgid "Flip Polygons Vertically" +msgstr "Odbij wielokąt pionowo" + +msgid "Edit Polygons" +msgstr "Edytuj wielokąty" + +msgid "Add polygon tool" +msgstr "Narzędzie dodawania wielokątów" + +msgid "Edit points tool" +msgstr "Narzędzie edytowania punktów" + +msgid "Delete points tool" +msgstr "Narzędzie usuwania punktów" + +msgid "Reset to default tile shape" +msgstr "Resetuj do domyślnego kształtu kafelka" msgid "Rotate Right" msgstr "Obróć w prawo" @@ -8919,18 +10045,75 @@ msgstr "Odbij poziomo" msgid "Flip Vertically" msgstr "Odbij pionowo" +msgid "Snap to half-pixel" +msgstr "Przyciągaj do połowy piksela" + +msgid "Painting Tiles Property" +msgstr "Malowanie właściwości kafelków" + msgid "Painting:" msgstr "Malowanie:" +msgid "Picker" +msgstr "Próbnik" + msgid "No terrains" msgstr "Brak terenów" msgid "No terrain" msgstr "Brak terenu" +msgid "Painting Terrain Set" +msgstr "Malowanie zbioru terenu" + +msgid "Painting Terrain" +msgstr "Malowanie terenu" + +msgid "No Texture Atlas Source (ID: %d)" +msgstr "Źródło atlasowe bez tekstury (ID: %d)" + +msgid "Scene Collection Source (ID: %d)" +msgstr "Źródło kolekcji scen (ID: %d)" + +msgid "Unknown Type Source (ID: %d)" +msgstr "Źródło nieznanego typu (ID: %d)" + +msgid "Add TileSet pattern" +msgstr "Dodaj wzór TileSet" + +msgid "Remove TileSet patterns" +msgstr "Usuń wzory TileSet" + +msgid "Tile with Invalid Scene" +msgstr "Kafelek z nieprawidłową sceną" + +msgid "Delete tiles" +msgstr "Usuń kafelki" + +msgid "Change selection" +msgstr "Zmień zaznaczenie" + +msgid "Move tiles" +msgstr "Przesuń kafelki" + +msgid "Paint tiles" +msgstr "Maluj kafelki" + +msgid "Paste tiles" +msgstr "Wklej kafelki" + msgid "Selection" msgstr "Wybór" +msgid "Paint" +msgstr "Maluj" + +msgid "Shift: Draw line." +msgstr "Shift: Rysuj linię." + +msgid "Shift+Ctrl: Draw rectangle." +msgstr "Shift+Ctrl: Rysuj prostokąt." + msgctxt "Tool" msgid "Line" msgstr "Linia" @@ -8941,39 +10124,235 @@ msgstr "Prostokąt" msgid "Bucket" msgstr "Wiadro" +msgid "Alternatively hold Ctrl with other tools to pick tile." +msgstr "" +"Alternatywnie, przytrzymaj Ctrl z innymi narzędziami, by pobrać kafelek." + msgid "Eraser" msgstr "Gumka" +msgid "Alternatively use RMB to erase tiles." +msgstr "Alternatywnie, użyj PPM by usuwać kafelki." + msgid "Contiguous" msgstr "Przylegające" +msgid "Place Random Tile" +msgstr "Ustaw losowy kafelek" + +msgid "" +"Modifies the chance of painting nothing instead of a randomly selected tile." +msgstr "" +"Modyfikuje szanse na namalowanie niczego zamiast losowo wybranego kafelka." + msgid "Scattering:" msgstr "Rozproszenie:" msgid "Tiles" -msgstr "Płytki" +msgstr "Kafelki" + +msgid "" +"This TileMap's TileSet has no source configured. Edit the TileSet resource " +"to add one." +msgstr "" +"TileSet tej TileMapy nie ma skonfigurowanych źródeł. Edytuj zasób TileSet, " +"by jakieś dodać." + +msgid "Sort sources" +msgstr "Sortuj źródła" + +msgid "Sort by ID (Ascending)" +msgstr "Sortuj po ID (rosnąco)" + +msgid "Sort by ID (Descending)" +msgstr "Sortuj po ID (malejąco)" + +msgid "Invalid source selected." +msgstr "Wybrano niewłaściwe źródło." msgid "Patterns" msgstr "Szablony" +msgid "Drag and drop or paste a TileMap selection here to store a pattern." +msgstr "" +"Przeciągnij i upuść lub wklej tutaj zaznaczenie z TileMapy, by przechować " +"wzór." + +msgid "Paint terrain" +msgstr "Maluj teren" + +msgid "Matches Corners and Sides" +msgstr "Dopasowuje narożniki i boki" + +msgid "Matches Corners Only" +msgstr "Dopasowuje tylko narożniki" + +msgid "Matches Sides Only" +msgstr "Dopasowuje tylko boki" + +msgid "Terrain Set %d (%s)" +msgstr "Zestaw terenu %d (%s)" + +msgid "" +"Connect mode: paints a terrain, then connects it with the surrounding tiles " +"with the same terrain." +msgstr "" +"Tryb łączenia: maluje teren, a następnie łączy go z sąsiadującymi kafelkami " +"z tym samym terenem." + +msgid "" +"Path mode: paints a terrain, thens connects it to the previous tile painted " +"within the same stroke." +msgstr "" +"Tryb ścieżek: maluje teren, a następnie łączy go do poprzedniego kafelka " +"namalowanego w tym samym pociągnięciu." + msgid "Terrains" msgstr "Tereny" +msgid "Replace Tiles with Proxies" +msgstr "Zastąp kafelki zamiennikami" + +msgid "No Layers" +msgstr "Brak warstw" + +msgid "Select Next Tile Map Layer" +msgstr "Wybierz następną warstwę TileMapy" + +msgid "Select Previous Tile Map Layer" +msgstr "Wybierz poprzednią warstwę TileMapy" + +msgid "TileMap Layers" +msgstr "Warstwy TileMapy" + +msgid "Highlight Selected TileMap Layer" +msgstr "Podświetl zaznaczoną warstwę TileMapy" + +msgid "Toggle grid visibility." +msgstr "Przełącz widoczność siatki." + +msgid "Automatically Replace Tiles with Proxies" +msgstr "Automatycznie zastąp kafelki zamiennikami" + +msgid "The edited TileMap node has no TileSet resource." +msgstr "Edytowany węzeł TileMap nie posiada zasobu TileSet." + +msgid "Remove Tile Proxies" +msgstr "Usuń zamienniki kafelków" + +msgid "Create Alternative-level Tile Proxy" +msgstr "Utwórz zamiennik kafelka poziomu alternatywnego" + +msgid "Create Coords-level Tile Proxy" +msgstr "Utwórz zamiennik kafelka poziomu koordynatów" + +msgid "Create source-level Tile Proxy" +msgstr "Utwórz zamiennik kafelka poziomu źródła" + +msgid "Delete All Invalid Tile Proxies" +msgstr "Usuń wszystkie nieprawidłowe zamienniki kafelków" + +msgid "Delete All Tile Proxies" +msgstr "Usuń wszystkie zamienniki kafelków" + +msgid "Tile Proxies Management" +msgstr "Zarządzanie zamiennikami kafelków" + +msgid "Source-level proxies" +msgstr "Zamienniki poziomu źródła" + +msgid "Coords-level proxies" +msgstr "Zamienniki poziomu koordynatów" + +msgid "Alternative-level proxies" +msgstr "Zamienniki poziomu alternatywnego" + +msgid "Add a new tile proxy:" +msgstr "Dodaj nowy zamiennik kafelka:" + +msgid "From Source" +msgstr "Ze źródła" + +msgid "From Coords" +msgstr "Z koordynatów" + +msgid "From Alternative" +msgstr "Z alternatywy" + +msgid "To Source" +msgstr "Do źródła" + +msgid "To Coords" +msgstr "Do koordynatów" + +msgid "To Alternative" +msgstr "Do alternatywy" + +msgid "Global actions:" +msgstr "Globalne akcje:" + +msgid "Clear Invalid" +msgstr "Wyczyść nieprawidłowe" + msgid "Atlas" msgstr "Atlas" +msgid "Base Tile" +msgstr "Kafelek podstawowy" + +msgid "Alternative Tile" +msgstr "Kafelek alternatywny" + +msgid "" +"Selected tile:\n" +"Source: %d\n" +"Atlas coordinates: %s\n" +"Alternative: %d" +msgstr "" +"Zaznaczony kafelek:\n" +"Źródło: %d\n" +"Koordynaty atlasu: %s\n" +"Alternatywa: %d" + msgid "Rendering" msgstr "Renderowanie" +msgid "Texture Origin" +msgstr "Początek tekstury" + msgid "Modulate" msgstr "Moduluj" +msgid "Z Index" +msgstr "Indeks Z" + +msgid "Y Sort Origin" +msgstr "Początek sortowania Y" + +msgid "Occlusion Layer %d" +msgstr "Warstwa zasłony %d" + msgid "Probability" msgstr "Prawdopodobieństwo" msgid "Physics" msgstr "Fizyka" +msgid "Physics Layer %d" +msgstr "Warstwa fizyki %" + +msgid "Navigation Layer %d" +msgstr "Warstwa nawigacji %" + +msgid "Custom Data" +msgstr "Własne dane" + +msgid "Custom Data %d" +msgstr "Własne dane %d" + +msgid "Select a property editor" +msgstr "Wybierz edytor właściwości" + msgid "Create tiles" msgstr "Utwórz kafelki" @@ -8995,33 +10374,118 @@ msgstr "Zmień rozmiar kafelka" msgid "Remove tile" msgstr "Usuń kafelek" +msgid "Create tile alternatives" +msgstr "Utwórz alternatywy kafelka" + +msgid "Create tiles in non-transparent texture regions" +msgstr "Utwórz kafelki na nieprzezroczystych regionach tekstury" + +msgid "Remove tiles in fully transparent texture regions" +msgstr "Usuń kafelki z całkowicie przezroczystych regionów tekstury" + msgid "Setup" msgstr "Konfiguracja" +msgid "" +"Atlas setup. Add/Remove tiles tool (use the shift key to create big tiles, " +"control for rectangle editing)." +msgstr "" +"Konfiguracja atlasu. Narzędzie dodawania/usuwania kafelków (przytrzymaj " +"Shift, by utworzyć duże kafelki, Ctrl dla edytowania prostokątów)." + msgid "Select tiles." msgstr "Wybierz kafelki." +msgid "Paint properties." +msgstr "Maluj właściwości." + msgid "No tiles selected." msgstr "Nie wybrano kafelków." +msgid "Paint Properties:" +msgstr "Maluj właściwości:" + +msgid "Create Tiles in Non-Transparent Texture Regions" +msgstr "Utwórz kafelki na nieprzezroczystych regionach tekstury" + +msgid "Remove Tiles in Fully Transparent Texture Regions" +msgstr "Usuń kafelki z całkowicie przezroczystych regionów tekstury" + msgid "Create an Alternative Tile" msgstr "Utwórz alternatywny kafelek" msgid "Create a Tile" msgstr "Utwórz kafelek" +msgid "Auto Create Tiles in Non-Transparent Texture Regions?" +msgstr "" +"Utworzyć automatycznie kafelki na nieprzezroczystych regionach tekstury?" + +msgid "" +"The atlas's texture was modified.\n" +"Would you like to automatically create tiles in the atlas?" +msgstr "" +"Tekstura atlasu została zmodyfikowana.\n" +"Czy chcesz automatycznie utworzyć kafelki w atlasie?" + msgid "Yes" msgstr "Tak" msgid "No" msgstr "Nie" +msgid "Add a new atlas source" +msgstr "Dodaj nowe źródło atlasowe" + +msgid "Remove source" +msgstr "Usuń źródło" + +msgid "Add atlas source" +msgstr "Dodaj źródło atlasowe" + +msgid "Sort Sources" +msgstr "Sortuj źródła" + +msgid "Scenes Collection" +msgstr "Kolekcja scen" + +msgid "Open Atlas Merging Tool" +msgstr "Otwórz narzędzie scalania atlasów" + +msgid "Manage Tile Proxies" +msgstr "Zarządzaj zamiennikami kafelków" + +msgid "No TileSet source selected. Select or create a TileSet source." +msgstr "Nie wybrano źródła TileSet. Wybierz lub utwórz źródło TileSet." + +msgid "Add new patterns in the TileMap editing mode." +msgstr "Dodaj nowe wzory w trybie edycji TileMap." + +msgid "Add a Scene Tile" +msgstr "Dodaj kafelek sceny" + +msgid "Remove a Scene Tile" +msgstr "Usuń kafelek sceny" + +msgid "Scenes collection properties:" +msgstr "Właściwości kolekcji scen:" + msgid "Tile properties:" msgstr "Właściwości kafelka:" msgid "TileSet" msgstr "TileSet" +msgid "TileMap" +msgstr "TileMap" + +msgid "" +"No VCS plugins are available in the project. Install a VCS plugin to use VCS " +"integration features." +msgstr "" +"Żadna wtyczka VCS nie jest dostępna w projekcie. Zainstaluj wtyczkę VCS, by " +"używać funkcjonalności integracji z VCS." + msgid "Error" msgstr "Błąd" @@ -9034,6 +10498,9 @@ msgstr "" msgid "Commit" msgstr "Commit" +msgid "Open in editor" +msgstr "Otwórz w edytorze" + msgid "Discard changes" msgstr "Odrzuć zmiany" @@ -9064,12 +10531,18 @@ msgstr "Stwórz pliki metadanych systemu kontroli wersji dla:" msgid "Existing VCS metadata files will be overwritten." msgstr "Istniejące pliki metadanych systemu kontroli wersji zostaną nadpisane." +msgid "Local Settings" +msgstr "Ustawienia lokalne" + msgid "Apply" msgstr "Zastosuj" msgid "VCS Provider" msgstr "Dostawca systemu kontroli wersji" +msgid "Connect to VCS" +msgstr "Połącz z systemem kontroli wersji" + msgid "Remote Login" msgstr "Login do Remote" @@ -9104,6 +10577,9 @@ msgid "This operation is IRREVERSIBLE. Your changes will be deleted FOREVER." msgstr "" "Ta operacja jest NIEODWRACALNA. Twoje zmiany zostaną usunięte NA ZAWSZE." +msgid "Permanentally delete my changes" +msgstr "Trwale usuń moje zmiany" + msgid "Stage all changes" msgstr "Wrzuć do kolejki wszystkie zmiany" @@ -9176,6 +10652,9 @@ msgstr "Zmiana typu" msgid "Unmerged" msgstr "Niezłączone" +msgid "View file diffs before committing them to the latest version" +msgstr "Zobacz różnice plików przed commitowaniem ich do najnowszej wersji." + msgid "View:" msgstr "Widok:" @@ -9248,12 +10727,27 @@ msgstr "Dodaj port wejściowy" msgid "Add Output Port" msgstr "Dodaj port wyjściowy" +msgid "Change Input Port Type" +msgstr "Zmień typ portu wejściowego" + +msgid "Change Output Port Type" +msgstr "Zmień typ portu wyjściowego" + +msgid "Change Input Port Name" +msgstr "Zmień nazwę portu wejściowego" + +msgid "Change Output Port Name" +msgstr "Zmień nazwę portu wyjściowego" + msgid "Remove Input Port" msgstr "Usuń port wejściowy" msgid "Remove Output Port" msgstr "Usuń port wyjściowy" +msgid "Set Parameter Name" +msgstr "Ustaw nazwę parametru" + msgid "Set Input Default Port" msgstr "Ustaw domyślny port wejścia" @@ -9413,6 +10907,24 @@ msgstr "Parametr wejściowy \"%s\" dla światłowego trybu shadera." msgid "'%s' input parameter for vertex shader mode." msgstr "Parametr wejściowy \"%s\" dla wierzchołkowego trybu shadera." +msgid "Float function." +msgstr "Funkcja zmiennoprzecinkowa." + +msgid "Float operator." +msgstr "Operator zmiennoprzecinkowy." + +msgid "Integer function." +msgstr "Funkcja całkowitoliczbowa." + +msgid "Integer operator." +msgstr "Operator całkowitoliczbowy." + +msgid "Unsigned integer function." +msgstr "Funkcja całkowitoliczbowa (bez znaku)." + +msgid "Unsigned integer operator." +msgstr "Operator całkowitoliczbowy (bez znaku)." + msgid "Returns the absolute value of the parameter." msgstr "Zwraca wartość bezwzględną parametru." @@ -9437,6 +10949,16 @@ msgstr "Zwraca arcus tangens parametrów." msgid "Returns the inverse hyperbolic tangent of the parameter." msgstr "Zwraca odwrócony tangens hiperboliczny parametru." +msgid "Returns the result of bitwise NOT (~a) operation on the integer." +msgstr "" +"Zwraca wynik bitowej operacji NOT (~a) na liczbie całkowitej (integer)." + +msgid "" +"Returns the result of bitwise NOT (~a) operation on the unsigned integer." +msgstr "" +"Zwraca wynik bitowej operacji NOT (~a) na liczbie całkowitej bez znaku " +"(unsigned integer)." + msgid "" "Finds the nearest integer that is greater than or equal to the parameter." msgstr "Znajduje najbliższą liczbę całkowitą większą lub równą parametrowi." @@ -9497,6 +11019,9 @@ msgstr "Zwraca mniejszą z dwóch wartości." msgid "Linear interpolation between two scalars." msgstr "Interpolacja liniowa między dwoma skalarami." +msgid "Performs a fused multiply-add operation (a * b + c) on scalars." +msgstr "Przeprowadza operację mnożenia z dodawaniem (a * b + c) na skalarach." + msgid "Returns the opposite value of the parameter." msgstr "Zwraca przeciwieństwo parametru." @@ -9573,6 +11098,126 @@ msgstr "Zwraca tangens hiperboliczny parametru." msgid "Finds the truncated value of the parameter." msgstr "Zwraca obciętą wartość parametru." +msgid "Sums two floating-point scalars." +msgstr "Sumuje dwa zmiennoprzecinkowe skalary." + +msgid "Sums two integer scalars." +msgstr "Sumuje dwa całkowitoliczbowe skalary." + +msgid "Sums two unsigned integer scalars." +msgstr "Sumuje dwa skalary całkowitoliczbowe bez znaku" + +msgid "Returns the result of bitwise AND (a & b) operation for two integers." +msgstr "" +"Zwraca wynik bitowej operacji AND (a & b) dwóch liczb całkowitych (integer)." + +msgid "" +"Returns the result of bitwise AND (a & b) operation for two unsigned " +"integers." +msgstr "" +"Zwraca wynik bitowej operacji AND (a & b) dwóch liczb całkowitych bez znaku " +"(unsigned integer)." + +msgid "" +"Returns the result of bitwise left shift (a << b) operation on the integer." +msgstr "" +"Zwraca wynik bitowego przesunięcia w lewo (a << b) na liczbie całkowitej." + +msgid "" +"Returns the result of bitwise left shift (a << b) operation on the unsigned " +"integer." +msgstr "" +"Zwraca wynik bitowego przesunięcia w lewo (a << b) na liczbie całkowitej bez " +"znaku." + +msgid "Returns the result of bitwise OR (a | b) operation for two integers." +msgstr "" +"Zwraca wynik bitowej operacji OR (a | b) dwóch liczb całkowitych (integer)." + +msgid "" +"Returns the result of bitwise OR (a | b) operation for two unsigned integers." +msgstr "" +"Zwraca wynik bitowej operacji OR (a | b) dwóch liczb całkowitych bez znaku " +"(unsigned integer)." + +msgid "" +"Returns the result of bitwise right shift (a >> b) operation on the integer." +msgstr "" +"Zwraca wynik bitowego przesunięcia w prawo (a <<< b) na liczbie całkowitej " +"(integer)." + +msgid "" +"Returns the result of bitwise right shift (a >> b) operation on the unsigned " +"integer." +msgstr "" +"Zwraca wynik bitowego przesunięcia w lewo (a << b) na liczbie całkowitej bez " +"znaku (unsigned integer)." + +msgid "Returns the result of bitwise XOR (a ^ b) operation on the integer." +msgstr "" +"Zwraca wynik bitowej operacji XOR (a ^ b) na liczbie całkowitej (integer)." + +msgid "" +"Returns the result of bitwise XOR (a ^ b) operation on the unsigned integer." +msgstr "" +"Zwraca wynik bitowej operacji XOR (a ^ b) na liczbie całkowitej bez znaku " +"(unsigned integer)." + +msgid "Divides two floating-point scalars." +msgstr "Dzieli dwa skalary zmiennoprzecinkowe." + +msgid "Divides two integer scalars." +msgstr "Dzieli dwie skalary całkowitoliczbowe." + +msgid "Divides two unsigned integer scalars." +msgstr "Dzieli dwie skalary całkowitoliczbowe bez znaku." + +msgid "Multiplies two floating-point scalars." +msgstr "Mnoży dwa skalary zmiennoprzecinkowe." + +msgid "Multiplies two integer scalars." +msgstr "Mnoży dwa skalary całkowitoliczbowe." + +msgid "Multiplies two unsigned integer scalars." +msgstr "Mnoży dwa skalary całkowitoliczbowe bez znaku." + +msgid "Returns the remainder of the two floating-point scalars." +msgstr "Zwraca resztę z dzielenia dwóch skalarów zmiennoprzecinkowych." + +msgid "Returns the remainder of the two integer scalars." +msgstr "Zwraca resztę z dzielenia dwóch skalarów całkowitoliczbowych." + +msgid "Returns the remainder of the two unsigned integer scalars." +msgstr "" +"Zwraca resztę z dzielenia dwóch skalarów całkowitoliczbowych bez znaku." + +msgid "Subtracts two floating-point scalars." +msgstr "Odejmuje dwa skalary zmiennoprzecinkowe." + +msgid "Subtracts two integer scalars." +msgstr "Odejmuje dwa skalary całkowitoliczbowe." + +msgid "Subtracts two unsigned integer scalars." +msgstr "Odejmuje dwa skalary całkowitoliczbowe bez znaku.." + +msgid "Scalar floating-point constant." +msgstr "Stała skalarna zmiennoprzecinkowa." + +msgid "Scalar integer constant." +msgstr "Stała skalarna całkowitoliczbowa." + +msgid "Scalar unsigned integer constant." +msgstr "Stała skalarna całkowitoliczbowa bez znaku." + +msgid "Scalar floating-point parameter." +msgstr "Parametr skalarny zmiennoprzecinkowy." + +msgid "Scalar integer parameter." +msgstr "Parametr skalarny całkowitoliczbowy." + +msgid "Scalar unsigned integer parameter." +msgstr "Parametr skalarny zmiennoprzecinkowy bez znaku." + msgid "Perform the cubic texture lookup." msgstr "Wykonaj podejrzenie tekstury kubicznej." @@ -9611,18 +11256,57 @@ msgstr "Liczy odwrotność przekształcenia." msgid "Calculates the transpose of a transform." msgstr "Liczy transpozycję przekształcenia." +msgid "Sums two transforms." +msgstr "Sumuje dwa przekształcenia." + +msgid "Divides two transforms." +msgstr "Dzieli dwa przekształcenia." + +msgid "Multiplies two transforms." +msgstr "Mnoży dwa przekstałcenia." + +msgid "Subtracts two transforms." +msgstr "Odejmuje dwa przekształcenia" + msgid "Multiplies vector by transform." msgstr "Mnoży wektor przez przekształcenie." msgid "Transform constant." msgstr "Stała przekształcenia." +msgid "Returns a random value between the minimum and maximum input values." +msgstr "Zwraca losową wartość między podanym minimum a maximum." + msgid "Vector function." msgstr "Funkcja wektorowa." msgid "Vector operator." msgstr "Operator wektorowy." +msgid "Composes vector from scalars." +msgstr "Składa wektor ze skalarów." + +msgid "Decomposes vector to scalars." +msgstr "Rozkłada wektor na skalary." + +msgid "Composes 2D vector from two scalars." +msgstr "Składa wektor 2D z dwóch skalarów." + +msgid "Decomposes 2D vector to two scalars." +msgstr "Rozkłada wektor 2D na dwa skalary." + +msgid "Composes 3D vector from three scalars." +msgstr "Składa wektor 3D z trzech skalarów." + +msgid "Decomposes 3D vector to three scalars." +msgstr "Rozkłada wektor 3D na trzy skalary." + +msgid "Composes 4D vector from four scalars." +msgstr "Składa wektor 4D z czterech skalarów." + +msgid "Decomposes 4D vector to four scalars." +msgstr "Rozkłada wektor 4D na cztery skalary." + msgid "Calculates the cross product of two vectors." msgstr "Liczy iloczyn wektorowy dwóch wektorów." @@ -9674,6 +11358,10 @@ msgstr "Liniowo interpoluje pomiędzy dwoma wektorami." msgid "Linear interpolation between two vectors using scalar." msgstr "Liniowo interpoluje pomiędzy dwoma wektorami używając skalara." +msgid "Performs a fused multiply-add operation (a * b + c) on vectors." +msgstr "" +"Wykonuje zabezpieczoną operację pomnóż-i-dodaj (a * b + c) na wektorach." + msgid "Calculates the normalize product of vector." msgstr "Liczy znormalizowany wektor." @@ -9746,6 +11434,69 @@ msgstr "" "(Tylko tryb fragmentów/światła) (Wektor) Suma bezwzględnej pochodnej po " "\"x\" i \"y\"." +msgid "Adds 2D vector to 2D vector." +msgstr "Dodaje wektor 2D do wektora 2D." + +msgid "Adds 3D vector to 3D vector." +msgstr "Dodaje wektor 3D do wektora 3D." + +msgid "Adds 4D vector to 4D vector." +msgstr "Dodaje wektor 4D do wektora 4D." + +msgid "Divides 2D vector by 2D vector." +msgstr "Dzieli wektor 2D przez wektor 2D." + +msgid "Divides 3D vector by 3D vector." +msgstr "Dzieli wektor 3D przez wektor 3D." + +msgid "Divides 4D vector by 4D vector." +msgstr "Dzieli wektor 4D przez wektor 4D." + +msgid "Multiplies 2D vector by 2D vector." +msgstr "Mnoży wektor 2D przez wektor 2D." + +msgid "Multiplies 3D vector by 3D vector." +msgstr "Mnoży wektor 3D przez wektor 3D." + +msgid "Multiplies 4D vector by 4D vector." +msgstr "Mnoży wektor 4D przez wektor 4D." + +msgid "Returns the remainder of the two 2D vectors." +msgstr "Zwraca resztę z dwóch wektorów 2D." + +msgid "Returns the remainder of the two 3D vectors." +msgstr "Zwraca resztę z dwóch wektorów 3D." + +msgid "Returns the remainder of the two 4D vectors." +msgstr "Zwraca resztę z dwóch wektorów 4D." + +msgid "Subtracts 2D vector from 2D vector." +msgstr "Odejmuje wektor 2D od wektora 2D." + +msgid "Subtracts 3D vector from 3D vector." +msgstr "Odejmuje wektor 3D od wektora 3D." + +msgid "Subtracts 4D vector from 4D vector." +msgstr "Odejmuje wektor 4D od wektora 4D." + +msgid "2D vector constant." +msgstr "Stała wektorowa 2D." + +msgid "2D vector parameter." +msgstr "Parametr wektorowy 2D." + +msgid "3D vector constant." +msgstr "Stała wektorowa 3D." + +msgid "3D vector parameter." +msgstr "Parametr wektorowy 3D." + +msgid "4D vector constant." +msgstr "Stała wektorowa 4D." + +msgid "4D vector parameter." +msgstr "Parametr wektorowy 4D." + msgid "" "Custom Godot Shader Language expression, with custom amount of input and " "output ports. This is a direct injection of code into the vertex/fragment/" @@ -9755,6 +11506,9 @@ msgstr "" "wyjścia. To jest bezpośrednie wstrzyknięcie kodu do funkcji wierzchołków/" "fragmentów/światła, nie używaj tego do deklarowania tych funkcji w środku." +msgid "A reference to an existing parameter." +msgstr "Referencja do istniejącego parametru." + msgid "Edit Visual Property:" msgstr "Edytuj wizualną właściwość:" @@ -10259,7 +12013,7 @@ msgid "Localization" msgstr "Lokalizacja" msgid "Autoload" -msgstr "Automatyczne ładowanie" +msgstr "Autoładowanie" msgid "Plugins" msgstr "Wtyczki" @@ -10547,6 +12301,9 @@ msgstr "Edytowalne dzieci" msgid "Load As Placeholder" msgstr "Wczytaj jako zastępczy" +msgid "Auto Expand to Selected" +msgstr "Automatycznie rozwijaj do wybranego" + msgid "Filters" msgstr "Filtry" @@ -11671,6 +13428,9 @@ msgstr "" "Nic nie jest widoczne ponieważ siatki nie zostały przydzielone do przebiegów " "wyświetlających." +msgid "Node A and Node B must be different PhysicsBody3Ds" +msgstr "Węzeł A i węzeł B muszą być różnymi PhysicsBody3D" + msgid "This body will be ignored until you set a mesh." msgstr "To ciało będzie ignorowane, dopóki nie ustawisz siatki." diff --git a/editor/translations/editor/pt_BR.po b/editor/translations/editor/pt_BR.po index c87e0f17f6..f1f70eaca5 100644 --- a/editor/translations/editor/pt_BR.po +++ b/editor/translations/editor/pt_BR.po @@ -116,7 +116,7 @@ # Gabriel Silveira <gabomfim99@gmail.com>, 2021. # Arthur Phillip D. Silva <artphil.dev@gmail.com>, 2021. # Gustavo HM 102 <gustavohm102@gmail.com>, 2021. -# Douglas Leão <djlsplays@gmail.com>, 2021, 2022. +# Douglas Leão <djlsplays@gmail.com>, 2021, 2022, 2023. # PauloFRs <paulofr1@hotmail.com>, 2021, 2022. # Diego Bloise <diego-dev@outlook.com>, 2021. # Alkoarism <Alkoarism@gmail.com>, 2021. @@ -160,13 +160,16 @@ # Leonardo <leotada523@gmail.com>, 2023. # Elizandro Baldin <ejbaldin@gmail.com>, 2023. # Felipe Nogueira <contato.fnog@gmail.com>, 2023. +# Paulo Henrique <paulohenprado@gmail.com>, 2023. +# Lucas Eduardo da Silva <sain.dreams@outlook.com>, 2023. +# "Márcio A. M. Reyes" <reyes.marcio@gmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2023-02-28 22:26+0000\n" -"Last-Translator: Felipe Nogueira <contato.fnog@gmail.com>\n" +"PO-Revision-Date: 2023-03-12 22:47+0000\n" +"Last-Translator: Elizandro Baldin <ejbaldin@gmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -174,7 +177,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-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Unset" msgstr "Desativar" @@ -3628,7 +3631,7 @@ msgid "Project Settings..." msgstr "Configurações do Projeto..." msgid "Project Settings" -msgstr "Configurações do Projeto..." +msgstr "Configurações do Projeto" msgid "Version Control" msgstr "Controle de Versão" @@ -3680,13 +3683,14 @@ msgstr "Capturar Tela" msgid "Screenshots are stored in the Editor Data/Settings Folder." msgstr "" -"Capturas de Telas ficam salvas na Pasta do Editor em Dados/Configurações." +"Capturas de Telas ficam salvas na Pasta do Editor (Dados/Configurações) em " +"'app_userdata'." msgid "Toggle Fullscreen" msgstr "Alternar Tela Cheia" msgid "Open Editor Data/Settings Folder" -msgstr "Abrir Pasta do Editor de Dados/Configurações" +msgstr "Abrir Pasta do Editor (Dados/Configurações)" msgid "Open Editor Data Folder" msgstr "Abrir a Pasta de Dados do Editor" @@ -3841,9 +3845,9 @@ msgstr "" "modelo de origem em \"res://android/build\".\n" "Você pode aplicar modificações e criar seu próprio APK personalizado na " "exportação (adicionar módulos, alterar o AndroidManifest.xml, etc.).\n" -"Observe que, para criar gradle builds em vez de usar APKs pré-criados, a " -"opção \"Use Gradle Build\" deve ser habilitada na predefinição de exportação " -"do Android." +"Observe que, para criar compilações gradle em vez de usar APKs pré-criados, " +"a opção \"Usar Compilador Gradle\" deve ser habilitada na predefinição de " +"exportação do Android." msgid "" "The Android build template is already installed in this project and it won't " @@ -3926,7 +3930,7 @@ msgid "Open a list of sub-resources." msgstr "Abra uma lista de sub-recursos." msgid "Creating Mesh Previews" -msgstr "Criando Pré-visualizações das Malhas" +msgstr "Criando Visualizações das Malhas" msgid "Thumbnail..." msgstr "Miniatura..." @@ -5010,7 +5014,7 @@ msgid "%d matches in %d file" msgstr "%d correspondências no arquivo %d" msgid "%d matches in %d files" -msgstr "%d correspondências em %d arquivos." +msgstr "%d correspondências em %d arquivos" msgid "Add to Group" msgstr "Adicionar ao Grupo" @@ -5446,7 +5450,7 @@ msgstr "" "Você tem mudanças pendentes que não foram aplicadas ainda. Clique em " "Reimportar para aplicar as mudanças feitas nas opções de importação.\n" "Selecionado outro recurso no painel de Arquivos sem ter clicado em " -"Reimportar primeiro ira descartar as mudanças feitas no painel de Importar." +"Reimportar primeiro irá descartar as mudanças feitas no painel de Importar." msgid "Import As:" msgstr "Importar Como:" @@ -6524,7 +6528,7 @@ msgid "Assets ZIP File" msgstr "Arquivo ZIP de Recursos" msgid "Audio Preview Play/Pause" -msgstr "Tocar/Pausar Pré-visualização do Áudio" +msgstr "Tocar/Pausar Amostra de Áudio" msgid "Bone Picker:" msgstr "Seletor de Osso:" @@ -6894,7 +6898,7 @@ msgid "Frame Selection" msgstr "Seleção de Quadro" msgid "Preview Canvas Scale" -msgstr "Pré-visualização da Escala do Canvas" +msgstr "Visualização da Escala no Canvas" msgid "Translation mask for inserting keys." msgstr "Máscara de translação para inserção de chaves." @@ -6999,10 +7003,10 @@ msgid "Use anchors and the rectangle for positioning." msgstr "Use âncoras e o retângulo para posicionamento." msgid "Collapse positioning hint." -msgstr "Recolher dica de posicionamento." +msgstr "Recolher inferência de posicionamento." msgid "Expand positioning hint." -msgstr "Expandir dica de posicionamento." +msgstr "Expandir inferência de posicionamento." msgid "Container Default" msgstr "Padrão do Conteiner" @@ -7814,6 +7818,12 @@ msgstr "Quantidade:" msgid "Populate" msgstr "Popular" +msgid "Set start_position" +msgstr "Definir start_position" + +msgid "Set end_position" +msgstr "Definir end_position" + msgid "Create Navigation Polygon" msgstr "Criar Polígono de Navegação" @@ -7821,7 +7831,7 @@ msgid "Unnamed Gizmo" msgstr "Gizmo Sem Nome" msgid "Change Light Radius" -msgstr "Alterar Raio da Luz" +msgstr "Alterar Raio da Iluminação" msgid "Change AudioStreamPlayer3D Emission Angle" msgstr "Alterar o Ângulo de Emissão do AudioStreamPlayer3D" @@ -7835,12 +7845,24 @@ msgstr "Alterar Tamanho da Câmera" msgid "Change Sphere Shape Radius" msgstr "Alterar Raio da Forma da Esfera" +msgid "Change Box Shape Size" +msgstr "Alterar Dimensões da Forma da Caixa" + msgid "Change Notifier AABB" msgstr "Alterar o AABB do Notificador" msgid "Change Particles AABB" msgstr "Alterar o AABB das Partículas" +msgid "Change Radius" +msgstr "Alterar o Raio" + +msgid "Change Probe Size" +msgstr "Alterar o Tamanho da Sonda" + +msgid "Change Decal Size" +msgstr "Alterar Tamanho do Decalque" + msgid "Change Capsule Shape Radius" msgstr "Alterar o Raio da Forma da Cápsula" @@ -7853,8 +7875,26 @@ msgstr "Alterar o Raio da Forma do Cilindro" msgid "Change Cylinder Shape Height" msgstr "Alterar a Altura da Forma do Cilindro" +msgid "Change Separation Ray Shape Length" +msgstr "Alterar Comprimento da Forma do Raio de Separação" + +msgid "Start Location" +msgstr "Localização Inicial" + +msgid "End Location" +msgstr "Localização Final" + +msgid "Change Start Position" +msgstr "Alterar Posição Inicial" + +msgid "Change End Position" +msgstr "Alterar Posição Final" + +msgid "Change Fog Volume Size" +msgstr "Alterar Tamanho do Volume de Névoa" + msgid "Transform Aborted." -msgstr "Transformação Abortada." +msgstr "Transformada Abortada." msgid "Orthogonal" msgstr "Ortogonal" @@ -7863,16 +7903,16 @@ msgid "Perspective" msgstr "Perspectiva" msgid "Top Orthogonal" -msgstr "Ortogonal Topo" +msgstr "Ortogonal Superior" msgid "Top Perspective" -msgstr "Perspectiva Topo" +msgstr "Perspectiva Superior" msgid "Bottom Orthogonal" -msgstr "Ortogonal Baixo" +msgstr "Ortogonal Inferior" msgid "Bottom Perspective" -msgstr "Perspectiva Baixo" +msgstr "Perspectiva Inferior" msgid "Left Orthogonal" msgstr "Ortogonal Esquerda" @@ -7887,10 +7927,10 @@ msgid "Right Perspective" msgstr "Perspectiva Direita" msgid "Front Orthogonal" -msgstr "Ortogonal Dianteira" +msgstr "Ortogonal Frontal" msgid "Front Perspective" -msgstr "Perspectiva Dianteira" +msgstr "Perspectiva Frontal" msgid "Rear Orthogonal" msgstr "Ortogonal Traseira" @@ -7902,26 +7942,53 @@ msgid " [auto]" msgstr " [automático]" msgid "X-Axis Transform." -msgstr "Transformação do Eixo-X." +msgstr "Transformada do Eixo-X." msgid "Y-Axis Transform." -msgstr "Transformação do Eixo-Y." +msgstr "Transformada do Eixo-Y." msgid "Z-Axis Transform." -msgstr "Transformação do Eixo-Z." +msgstr "Transformada do Eixo-Z." msgid "View Plane Transform." msgstr "Ver Transformada do Plano." +msgid "YZ-Plane Transform." +msgstr "Transformada do Plano-YZ." + +msgid "XZ-Plane Transform." +msgstr "Transformada do Plano-XZ." + +msgid "XY-Plane Transform." +msgstr "Transformada do Plano-XY." + msgid "Keying is disabled (no key inserted)." -msgstr "Chaveamento está desativado (nenhuma chave inserida)." +msgstr "A codificação está desativada (nenhuma chave inserida)." msgid "Animation Key Inserted." msgstr "Chave de Animação Inserida." +msgid "X: %s\n" +msgstr "X: %s\n" + +msgid "Y: %s\n" +msgstr "Y: %s\n" + +msgid "Z: %s\n" +msgstr "Z: %s\n" + +msgid "Size: %s (%.1fMP)\n" +msgstr "Tamanho: %s (%.1fMP)\n" + msgid "Objects: %d\n" msgstr "Objetos: %d\n" +msgid "Primitive Indices: %d\n" +msgstr "Índices Primitivos: %d\n" + +msgid "Draw Calls: %d" +msgstr "Chamadas de Desenho: %d" + msgid "CPU Time: %s ms" msgstr "Tempo de CPU: %s ms" @@ -7935,7 +8002,7 @@ msgid "Top View." msgstr "Visão Superior." msgid "Bottom View." -msgstr "Visão inferior." +msgstr "Visão Inferior." msgid "Left View." msgstr "Visão Esquerda." @@ -7950,11 +8017,20 @@ msgid "Rear View." msgstr "Visão Traseira." msgid "Align Transform with View" -msgstr "Alinhar Transformação com a Vista" +msgstr "Alinhar Transformada com a Vista" msgid "Align Rotation with View" msgstr "Alinhar Rotação com a Vista" +msgid "Set Surface %d Override Material" +msgstr "Definir Superfície %d Substituir Material" + +msgid "Set Material Override" +msgstr "Definir Substituição de Material" + +msgid "Cannot drag and drop into multiple selected nodes." +msgstr "Não é possível arrastar e soltar dentro de múltiplos nós selecionados." + msgid "None" msgstr "Nenhum" @@ -7965,13 +8041,13 @@ msgid "Translate" msgstr "Translação" msgid "Translating:" -msgstr "Traduzir:" +msgstr "Transladando:" msgid "Rotating %s degrees." -msgstr "Rotacionando %s degraus." +msgstr "Rotacionando %s graus." msgid "Auto Orthogonal Enabled" -msgstr "Auto-Ortogonal Habilitado" +msgstr "Auto Ortogonal Habilitado" msgid "Lock View Rotation" msgstr "Bloquear Rotação da Visão" @@ -7980,17 +8056,83 @@ msgid "Display Normal" msgstr "Exibição Normal" msgid "Display Wireframe" -msgstr "Exibição Wireframe" +msgstr "Exibir Wireframe" msgid "Display Overdraw" -msgstr "Exibição Overdraw" +msgstr "Exibir Overdraw" + +msgid "Display Lighting" +msgstr "Iluminação da Tela" msgid "Display Unshaded" msgstr "Exibir Sem Sombreamento" +msgid "Directional Shadow Splits" +msgstr "Divisões Direcionais de Sombra" + +msgid "Normal Buffer" +msgstr "Buffer Normal" + +msgid "Shadow Atlas" +msgstr "Mapa de Sombras" + +msgid "Directional Shadow Map" +msgstr "Mapa de Sombra Direcional" + +msgid "Decal Atlas" +msgstr "Decalque de Mapa" + +msgid "VoxelGI Lighting" +msgstr "Iluminação VoxelGI" + +msgid "VoxelGI Albedo" +msgstr "Albedo VoxelGI" + +msgid "VoxelGI Emission" +msgstr "Emissão VoxelGI" + +msgid "SDFGI Cascades" +msgstr "Cascatas SDFGI" + +msgid "SDFGI Probes" +msgstr "Sondas SDFGI" + +msgid "Scene Luminance" +msgstr "Luminância da Cena" + msgid "SSAO" msgstr "SSAO" +msgid "SSIL" +msgstr "SSIL" + +msgid "VoxelGI/SDFGI Buffer" +msgstr "Buffer VoxelGI/SDFGI" + +msgid "Disable Mesh LOD" +msgstr "Desativar Malha LOD" + +msgid "OmniLight3D Cluster" +msgstr "Cluster OmniLight3D" + +msgid "SpotLight3D Cluster" +msgstr "Cluster SpotLight3D" + +msgid "Decal Cluster" +msgstr "Cluster de Decalque" + +msgid "ReflectionProbe Cluster" +msgstr "Cluster de Sonda de Reflexão" + +msgid "Occlusion Culling Buffer" +msgstr "Buffer de Seleção de Oclusão" + +msgid "Motion Vectors" +msgstr "Vetores de Movimento" + +msgid "Display Advanced..." +msgstr "Exibir Avançado..." + msgid "View Environment" msgstr "Visualizar Ambiente" @@ -8000,6 +8142,9 @@ msgstr "Visualizar Gizmos" msgid "View Information" msgstr "Visualizar Informações" +msgid "View Frame Time" +msgstr "Exibir Tempo de Quadro" + msgid "Half Resolution" msgstr "Metade da Resolução" @@ -8010,7 +8155,10 @@ msgid "Enable Doppler" msgstr "Ativar Doppler" msgid "Cinematic Preview" -msgstr "Pré-visualização Cinemática" +msgstr "Visualizar Cinemática" + +msgid "Not available when using the OpenGL renderer." +msgstr "Não disponível ao usar o renderizador OpenGL." msgid "Freelook Left" msgstr "Visão Livre na Esquerda" @@ -8019,7 +8167,7 @@ msgid "Freelook Right" msgstr "Visão Livre na Direita" msgid "Freelook Forward" -msgstr "Visão Livre na Frente" +msgstr "Visão Livre Frontal" msgid "Freelook Backwards" msgstr "Visão Livre Atrás" @@ -8034,13 +8182,40 @@ msgid "Freelook Speed Modifier" msgstr "Modificador de velocidade da Visão Livre" msgid "Freelook Slow Modifier" -msgstr "Modificador de velocidade lenta da Visão Livre" +msgstr "Modificador de Velocidade Venta da Visão Livre" + +msgid "Lock Transformation to X axis" +msgstr "Travar Transformação para o Eixo-X" + +msgid "Lock Transformation to Y axis" +msgstr "Travar Transformação para o Eixo-Y" + +msgid "Lock Transformation to Z axis" +msgstr "Travar Transformação para o Eixo-Z" + +msgid "Lock Transformation to YZ plane" +msgstr "Travar Transformação para o Plano-YZ" + +msgid "Lock Transformation to XZ plane" +msgstr "Travar Transformação para o Plano-XZ" + +msgid "Lock Transformation to XY plane" +msgstr "Travar Transformação para o Plano-XY" msgid "Cancel Transformation" msgstr "Cancelar Transformação" +msgid "Begin Translate Transformation" +msgstr "Iniciar Translação da Transformação" + +msgid "Begin Rotate Transformation" +msgstr "Iniciar Rotação da Transformação" + +msgid "Begin Scale Transformation" +msgstr "Iniciar Escala da Transformação" + msgid "Toggle Camera Preview" -msgstr "Alternar pré-visualização da câmera" +msgstr "Alternar Visualização da Câmera" msgid "View Rotation Locked" msgstr "Rotação de Vista Bloqueada" @@ -8051,6 +8226,16 @@ msgstr "" "Para dar mais zoom, altere os planos de clipping da câmera (Visão -> " "Configurações...)" +msgid "Overriding material..." +msgstr "Sobrescrevendo material..." + +msgid "" +"Drag and drop to override the material of any geometry node.\n" +"Hold Ctrl when dropping to override a specific surface." +msgstr "" +"Arraste e solte para sobrescrever o material de qualquer nó de geometria.\n" +"Segure CTRL enquanto solta para sobrescrever uma superfície específica." + msgid "XForm Dialog" msgstr "Diálogo XForm" @@ -8065,7 +8250,7 @@ msgstr "" "\n" "Olhos abertos: Gizmo está visível.\n" "Olhos fechados: Gizmo está escondido.\n" -"Olhos semi-abertos: Gizmo está visível através de superficies opacas (\"raio-" +"Olhos semiabertos: Gizmo está visível através de superfícies opacas (\"raio-" "x\")." msgid "Snap Nodes to Floor" @@ -8074,14 +8259,62 @@ msgstr "Atrair Nó(s) ao Chão" msgid "Couldn't find a solid floor to snap the selection to." msgstr "Não foi encontrado chão sólido onde encaixar a seleção." +msgid "Add Preview Sun to Scene" +msgstr "Adicionar Prévia de Sol na Cena" + +msgid "Add Preview Environment to Scene" +msgstr "Adicionar Visualização de Ambiente na Cena" + +msgid "" +"Scene contains\n" +"DirectionalLight3D.\n" +"Preview disabled." +msgstr "" +"Cena contém\n" +"DirectionalLight3D\n" +"Visualização desativada." + +msgid "Preview disabled." +msgstr "Visualização desativada." + +msgid "" +"Scene contains\n" +"WorldEnvironment.\n" +"Preview disabled." +msgstr "" +"Cena contém\n" +"WorldEnvironment.\n" +"Visualização desativada." + msgid "Use Local Space" msgstr "Usar Espaço Local" msgid "Use Snap" msgstr "Use Encaixar" +msgid "" +"Toggle preview sunlight.\n" +"If a DirectionalLight3D node is added to the scene, preview sunlight is " +"disabled." +msgstr "" +"Alternar visualização da luz solar.\n" +"Se um nó DirectionalLight3D for adicionado à cena, a visualização da luz " +"solar é desativada." + +msgid "" +"Toggle preview environment.\n" +"If a WorldEnvironment node is added to the scene, preview environment is " +"disabled." +msgstr "" +"Alternar visualização do ambiente.\n" +"Se um nó WorldEnvironment é adicionado a cena, a visualização de ambiente é " +"desativada." + +msgid "Edit Sun and Environment settings." +msgstr "Editar Configurações de Sol e Ambiente." + msgid "Bottom View" -msgstr "Visão inferior" +msgstr "Visão Inferior" msgid "Top View" msgstr "Visão Superior" @@ -8120,7 +8353,7 @@ msgid "Insert Animation Key" msgstr "Inserir Chave de Animação" msgid "Focus Origin" -msgstr "Origem do Foco" +msgstr "Focar na Origem" msgid "Focus Selection" msgstr "Focar Seleção" @@ -8138,13 +8371,13 @@ msgid "Reset Field of View to Default" msgstr "Redefinir o Campo de Visão para o Padrão" msgid "Transform" -msgstr "Transformação" +msgstr "Transformada" msgid "Snap Object to Floor" -msgstr "Encaixar Objeto ao Chão" +msgstr "Encaixar Objeto no Chão" msgid "Transform Dialog..." -msgstr "Diálogo Transformação..." +msgstr "Diálogo da Transformada..." msgid "1 Viewport" msgstr "1 Viewport" @@ -8177,22 +8410,22 @@ msgid "Settings..." msgstr "Configurações..." msgid "Snap Settings" -msgstr "Configurações do Snap" +msgstr "Configurações de Encaixe" msgid "Translate Snap:" -msgstr "Snap de Translação:" +msgstr "Translação do Encaixe:" msgid "Rotate Snap (deg.):" -msgstr "Rotacionar Snap (deg.):" +msgstr "Rotação do Encaixe (graus):" msgid "Scale Snap (%):" -msgstr "Escala do Snap (%):" +msgstr "Escala do Encaixe (%):" msgid "Viewport Settings" msgstr "Configurações da Viewport" msgid "Perspective FOV (deg.):" -msgstr "FOV Perspectiva (deg.):" +msgstr "Perspectiva FOV (graus):" msgid "View Z-Near:" msgstr "Visão Z-Próximo:" @@ -8201,19 +8434,19 @@ msgid "View Z-Far:" msgstr "Visão Z-Longe:" msgid "Transform Change" -msgstr "Alteração de Transformação" +msgstr "Alteração da Transformada" msgid "Translate:" msgstr "Translação:" msgid "Rotate (deg.):" -msgstr "Rotacionar (deg.):" +msgstr "Rotação (graus):" msgid "Scale (ratio):" -msgstr "Escalonar (taxa):" +msgstr "Escala (prop.):" msgid "Transform Type" -msgstr "Tipo de Transformação" +msgstr "Tipo de Transformada" msgid "Pre" msgstr "Pré" @@ -8221,20 +8454,104 @@ msgstr "Pré" msgid "Post" msgstr "Pós" +msgid "Preview Sun" +msgstr "Prévia do Sol" + +msgid "Sun Direction" +msgstr "Direção do Sol" + +msgid "Angular Altitude" +msgstr "Altitude Angular" + +msgid "Azimuth" +msgstr "Azimute" + msgid "Sun Color" msgstr "Cor do Sol" +msgid "Sun Energy" +msgstr "Intensidade do Sol" + +msgid "Shadow Max Distance" +msgstr "Distância Máxima do Sombra" + +msgid "Add Sun to Scene" +msgstr "Adicionar Sol a Cena" + +msgid "" +"Adds a DirectionalLight3D node matching the preview sun settings to the " +"current scene.\n" +"Hold Shift while clicking to also add the preview environment to the current " +"scene." +msgstr "" +"Adiciona um nó DirectionalLight3D correspondente a visualização do sol na " +"cena atual.\n" +"Segure Shift enquanto clica para adicionar também a visualização do ambiente " +"na cena atual." + +msgid "Preview Environment" +msgstr "Visualizar Ambiente" + +msgid "Sky Color" +msgstr "Cor do Céu" + +msgid "Ground Color" +msgstr "Cor da Chão" + +msgid "Sky Energy" +msgstr "Intensidade do Céu" + +msgid "AO" +msgstr "AO" + msgid "Glow" msgstr "Brilho" +msgid "Tonemap" +msgstr "Mapa de Tons" + +msgid "GI" +msgstr "GI" + +msgid "Post Process" +msgstr "Pós-Processamento" + +msgid "Add Environment to Scene" +msgstr "Adicionar Ambiente à Cena" + +msgid "" +"Adds a WorldEnvironment node matching the preview environment settings to " +"the current scene.\n" +"Hold Shift while clicking to also add the preview sun to the current scene." +msgstr "" +"Adiciona um nó WorldEnvironment que corresponde às configurações do ambiente " +"de visualização para a cena atual.\n" +"Segure Shift enquanto clica para adicionar também a visualização do sol à " +"cena atual." + msgid "" "Can't determine a save path for the occluder.\n" "Save your scene and try again." msgstr "" -"Não foi possível determinar um caminho para salvar as imagens do mapa de " -"ailuminação.\n" +"Não é possível determinar um caminho de salvamento para o oclusor.\n" "Salve sua cena e tente novamente." +msgid "" +"No meshes to bake.\n" +"Make sure there is at least one MeshInstance3D node in the scene whose " +"visual layers are part of the OccluderInstance3D's Bake Mask property." +msgstr "" +"Sem malhas para gerar.\n" +"Certifique-se de que haja pelo menos um nó MeshInstance3D na cena cujas " +"camadas visuais façam parte da propriedade Gerar Máscara do " +"OccluderInstance3D." + +msgid "Could not save the new occluder at the specified path:" +msgstr "Não foi possível salvar o novo oclusor no caminho especificado:" + +msgid "Bake Occluders" +msgstr "Gerar Oclusores" + msgid "Select occluder bake file:" msgstr "Selecione o arquivo de geração de oclusão:" @@ -8251,7 +8568,7 @@ msgid "Add Point to Curve" msgstr "Adicionar Ponto à Curva" msgid "Split Curve" -msgstr "Dvidir Curva" +msgstr "Dividir Curva" msgid "Move Point in Curve" msgstr "Mover Ponto na Curva" @@ -8272,7 +8589,7 @@ msgid "Click: Add Point" msgstr "Clique: Adicionar Ponto" msgid "Left Click: Split Segment (in curve)" -msgstr "Botão esquerdo do mouse: Dividir Segmentos (na curva)" +msgstr "Clique Esquerdo: Dividir Segmentos (na curva)" msgid "Right Click: Delete Point" msgstr "Clique Direito: Excluir Ponto" @@ -8290,13 +8607,13 @@ msgid "Close Curve" msgstr "Fechar Curva" msgid "Mirror Handle Angles" -msgstr "Espelhar ângulos de controle" +msgstr "Espelhar Ângulos de Controle" msgid "Mirror Handle Lengths" -msgstr "Espelhar Controle de alça" +msgstr "Espelhar Comprimento do Controle" msgid "Curve Point #" -msgstr "Ponto da Curva nº" +msgstr "Ponto da Curva #" msgid "Set Curve Point Position" msgstr "Definir Posição do Ponto da Curva" @@ -8337,7 +8654,7 @@ msgid "" "Set a texture to be able to edit UV." msgstr "" "Sem textura nesse polígono.\n" -"Defina uma textura para poder editar essa região." +"Defina uma textura para poder editar UV." msgid "Create UV Map" msgstr "Criar Mapa UV" @@ -8353,31 +8670,31 @@ msgid "Create Polygon & UV" msgstr "Criar Polígono & UV" msgid "Create Internal Vertex" -msgstr "Criar Vertex Interno" +msgstr "Criar Vértice Interno" msgid "Remove Internal Vertex" -msgstr "Remover Vertex Interno" +msgstr "Remover Vértice Interno" msgid "Invalid Polygon (need 3 different vertices)" -msgstr "Polígono inválido (precisa de 3 vértices diferentes)" +msgstr "Polígono Inválido (precisa de 3 vértices diferentes)" msgid "Add Custom Polygon" -msgstr "Adicionar polígono personalizado" +msgstr "Adicionar Polígono Personalizado" msgid "Remove Custom Polygon" -msgstr "Remover polígono personalizado" +msgstr "Remover Polígono Personalizado" msgid "Transform UV Map" msgstr "Transformar Mapa UV" msgid "Transform Polygon" -msgstr "Transformar polígono" +msgstr "Transformar Polígono" msgid "Paint Bone Weights" msgstr "Pintar Pesos Ósseo" msgid "Open Polygon 2D UV editor." -msgstr "Abrir editor de Polígonos UV 2D." +msgstr "Abrir Editor de Polígonos UV 2D." msgid "Polygon 2D UV Editor" msgstr "Editor UV de Polígonos 2D" @@ -8395,7 +8712,7 @@ msgid "Bones" msgstr "Ossos" msgid "Move Points" -msgstr "Mover pontos" +msgstr "Mover Pontos" msgid "Ctrl: Rotate" msgstr "Ctrl: Rotaciona" @@ -8431,7 +8748,7 @@ msgid "Paint weights with specified intensity." msgstr "Pintar pesos com intensidade especificada." msgid "Unpaint weights with specified intensity." -msgstr "Não pintar pesos com intensidade especificada." +msgstr "Despintar pesos com intensidade especificada." msgid "Radius:" msgstr "Raio:" @@ -8446,25 +8763,25 @@ msgid "Clear UV" msgstr "Limpar UV" msgid "Grid Settings" -msgstr "Configurações da grade" +msgstr "Configurações da Grade" msgid "Snap" msgstr "Encaixe" msgid "Enable Snap" -msgstr "Ativar Snap" +msgstr "Ativar Encaixe" msgid "Show Grid" msgstr "Mostrar Grade" msgid "Configure Grid:" -msgstr "Configurar a grade:" +msgstr "Configurar Grade:" msgid "Grid Offset X:" -msgstr "Deslocamento da Grade X:" +msgstr "Deslocamento X da Grade:" msgid "Grid Offset Y:" -msgstr "Deslocamento da Grade Y:" +msgstr "Deslocamento Y da Grade:" msgid "Grid Step X:" msgstr "Passo X da Grade:" @@ -8476,7 +8793,7 @@ msgid "Sync Bones to Polygon" msgstr "Sincronizar Ossos ao Polígono" msgid "Create Polygon3D" -msgstr "Criar Polígono3D" +msgstr "Criar Polygon3D" msgid "Edit Poly" msgstr "Editar Polígono" @@ -8525,7 +8842,7 @@ msgid "Close and save changes?" msgstr "Fechar e salvar alterações?" msgid "Error writing TextFile:" -msgstr "Erro ao escrever arquivo:" +msgstr "Erro ao escrever TextFile:" msgid "Error saving file!" msgstr "Erro ao salvar o arquivo!" @@ -8534,7 +8851,7 @@ msgid "Error while saving theme." msgstr "Erro ao salvar o tema." msgid "Error Saving" -msgstr "Erro ao salvar" +msgstr "Erro ao Salvar" msgid "Error importing theme." msgstr "Erro ao importar tema." @@ -8543,22 +8860,28 @@ msgid "Error Importing" msgstr "Erro ao importar" msgid "New Text File..." -msgstr "Novo arquivo de texto..." +msgstr "Novo Arquivo de Texto..." msgid "Open File" -msgstr "Abrir um arquivo" +msgstr "Abrir Arquivo" msgid "Could not load file at:" msgstr "Não foi possível carregar o arquivo em:" msgid "Save File As..." -msgstr "Salvar como..." +msgstr "Salvar Arquivo Como..." + +msgid "Can't obtain the script for reloading." +msgstr "Não é possível obter o script para recarregar." + +msgid "Reload only takes effect on tool scripts." +msgstr "Recarregar só tem efeito sobre scripts de ferramenta." msgid "Can't obtain the script for running." msgstr "Não é possível obter o script para executar." msgid "Script is not in tool mode, will not be able to run." -msgstr "Script não está no modo tool, não será capaz de executar." +msgstr "Script não está no modo ferramenta, não será possível executá-lo." msgid "Script failed reloading, check console for errors." msgstr "Script falhou no recarregamento, veja os erros no console." @@ -8567,7 +8890,7 @@ msgid "" "To run this script, it must inherit EditorScript and be set to tool mode." msgstr "" "Para executar este script, o mesmo deve herdar EditorScript e ser definido " -"como modo tool." +"como modo ferramenta." msgid "Import Theme" msgstr "Importar Tema" @@ -8585,16 +8908,19 @@ msgid "Unsaved file." msgstr "Arquivo não salvo." msgid "%s Class Reference" -msgstr "%s Referência de Classes" +msgstr "%s Referência de Classe" msgid "Find Next" -msgstr "Localizar próximo" +msgstr "Localizar Próximo" msgid "Find Previous" -msgstr "Localizar anterior" +msgstr "Localizar Anterior" + +msgid "Filter Scripts" +msgstr "Filtrar Script" msgid "Toggle alphabetical sorting of the method list." -msgstr "Alternar ordenação alfabética da lista de métodos." +msgstr "Alternar a classificação alfabética da lista de métodos." msgid "Sort" msgstr "Ordenar" @@ -8603,7 +8929,7 @@ msgid "Next Script" msgstr "Próximo Script" msgid "Previous Script" -msgstr "Script anterior" +msgstr "Script Anterior" msgid "File" msgstr "Arquivo" @@ -8617,6 +8943,9 @@ msgstr "Reabrir Script Fechado" msgid "Save All" msgstr "Salvar Tudo" +msgid "Soft Reload Tool Script" +msgstr "Ferramenta de Recarregamento Parcial de Script" + msgid "Copy Script Path" msgstr "Copiar Caminho do Script" @@ -8645,7 +8974,7 @@ msgid "Close Docs" msgstr "Fechar Docs" msgid "Run" -msgstr "Rodar" +msgstr "Executar" msgid "Search" msgstr "Pesquisar" @@ -8654,10 +8983,10 @@ msgid "Online Docs" msgstr "Documentação Online" msgid "Open Godot online documentation." -msgstr "Abrir a documentação online da Godot." +msgstr "Abrir a documentação online do Godot." msgid "Search the reference documentation." -msgstr "Pesquise a documentação de referência." +msgstr "Pesquisar na documentação de referência." msgid "Go to previous edited document." msgstr "Ir para o documento editado anteriormente." @@ -8676,7 +9005,7 @@ msgstr "" "Que ação deve ser tomada?:" msgid "Search Results" -msgstr "Resultados de Pesquisa" +msgstr "Resultados da Pesquisa" msgid "Clear Recent Scripts" msgstr "Limpar Scripts Recentes" @@ -8684,21 +9013,31 @@ msgstr "Limpar Scripts Recentes" msgid "Standard" msgstr "Padrão" +msgid "Plain Text" +msgstr "Texto Simples" + +msgid "JSON" +msgstr "JSON" + msgid "Connections to method:" msgstr "Conexões com o método:" msgid "Source" -msgstr "Origem" +msgstr "Fonte" msgid "Target" -msgstr "Destino" +msgstr "Alvo" + +msgid "Error at (%d, %d):" +msgstr "Erro em (%d, %d):" msgid "" "Missing connected method '%s' for signal '%s' from node '%s' to node '%s'." -msgstr "Falta método conectado '%s' para sinal '%s' do nó '%s' para nó '%s'." +msgstr "" +"Método de conexão ausente '%s' para o sinal '%s' do nó '%s' para o nó '%s'." msgid "[Ignore]" -msgstr "(Ignore)" +msgstr "(Ignorar)" msgid "Line" msgstr "Linha" @@ -8707,18 +9046,27 @@ msgid "Go to Function" msgstr "Ir para Função" msgid "Only resources from filesystem can be dropped." -msgstr "Apenas recursos do sistema de arquivos podem ser soltos." +msgstr "Apenas recursos de Arquivos podem ser soltos." + +msgid "Can't drop nodes without an open scene." +msgstr "Não é possível descartar nós sem uma cena aberta." msgid "Can't drop nodes because script '%s' is not used in this scene." msgstr "" "Não é possível descartar nós porque o script '% s' não é usado nesta cena." msgid "Lookup Symbol" -msgstr "Símbolo de pesquisa" +msgstr "Símbolo de Pesquisa" msgid "Pick Color" msgstr "Escolher Cor" +msgid "Folding" +msgstr "Dobramento de Código (Folding)" + +msgid "Indentation" +msgstr "Recuo" + msgid "Uppercase" msgstr "Maiúscula" @@ -8726,13 +9074,13 @@ msgid "Lowercase" msgstr "Minúscula" msgid "Capitalize" -msgstr "Capitalizar" +msgstr "Deixar Maiúscula" msgid "Convert Case" -msgstr "Converter Maíusculas/Minúsculas" +msgstr "Converter Maiúsculas/Minúsculas" msgid "Syntax Highlighter" -msgstr "Realce de sintaxe" +msgstr "Realçar Sintaxe" msgid "Bookmarks" msgstr "Marcadores" @@ -8743,6 +9091,9 @@ msgstr "Ir Para" msgid "Delete Line" msgstr "Excluir Linha" +msgid "Unindent" +msgstr "Retirar Recuo" + msgid "Toggle Comment" msgstr "Alternar Comentário" @@ -8762,10 +9113,10 @@ msgid "Trim Trailing Whitespace" msgstr "Apagar Espaços em Branco" msgid "Convert Indent to Spaces" -msgstr "Converter recuo para espaços" +msgstr "Converter Recuos em Espaços" msgid "Convert Indent to Tabs" -msgstr "Converter recuo em tabulações" +msgstr "Converter Recuo em Tabulação" msgid "Auto Indent" msgstr "Auto Recuar" @@ -8798,46 +9149,146 @@ msgid "Go to Line..." msgstr "Ir para Linha..." msgid "Toggle Breakpoint" -msgstr "Alternar Ponto de interrupção" +msgstr "Alternar Ponto de Interrupção" msgid "Remove All Breakpoints" msgstr "Remover Todos os Pontos de Interrupção" msgid "Go to Next Breakpoint" -msgstr "Vá para o próximo ponto de interrupção" +msgstr "Vá para o Próximo Ponto de Interrupção" msgid "Go to Previous Breakpoint" -msgstr "Ir para ponto de interrupção anterior" +msgstr "Ir para Ponto de Interrupção Anterior" + +msgid "New Shader Include" +msgstr "Incluir Novo Shader" msgid "Load Shader File" msgstr "Carregar Arquivo Shader" +msgid "Load Shader Include File" +msgstr "Carregar Arquivo de Inclusão de Shader" + +msgid "Save File" +msgstr "Salvar Arquivo" + +msgid "Save File As" +msgstr "Salvar Arquivo Como" + +msgid "Open File in Inspector" +msgstr "Abrir Arquivo no Inspetor" + +msgid "Close File" +msgstr "Fechar Arquivo" + msgid "Shader Editor" msgstr "Editor Shader" +msgid "No valid shader stages found." +msgstr "Não foi encontrado estágio válido de Shader." + +msgid "Shader stage compiled without errors." +msgstr "Estágio de Shader compilado sem erros." + +msgid "" +"File structure for '%s' contains unrecoverable errors:\n" +"\n" +msgstr "" +"Estrutura de arquivo para '%s' contém erros irrecuperáveis:\n" +"\n" + +msgid "ShaderFile" +msgstr "ShaderFile" + msgid "This skeleton has no bones, create some children Bone2D nodes." msgstr "Este esqueleto não tem ossos, crie alguns nós filhos Bone2D." msgid "Set Rest Pose to Bones" -msgstr "Definir a postura de repouso para os Ossos" +msgstr "Definir Postura de Repouso dos Ossos" msgid "Create Rest Pose from Bones" -msgstr "Criar postura de descanso para os Ossos" +msgstr "Criar Postura de Repouso a Partir dos Ossos" msgid "Skeleton2D" -msgstr "Esqueleto2D" +msgstr "Skeleton2D" msgid "Reset to Rest Pose" -msgstr "Redefinir para Pose de Descanso" +msgstr "Redefinir para Postura de Repouso" msgid "Overwrite Rest Pose" -msgstr "Sobrescrever Pose de Descanso" +msgstr "Sobrescrever Postura de Repouso" + +msgid "Set Bone Transform" +msgstr "Definir Transformada de Osso" + +msgid "Set Bone Rest" +msgstr "Definir Repouso do Osso" + +msgid "Cannot create a physical skeleton for a Skeleton3D node with no bones." +msgstr "" +"Não é possível criar um esqueleto físico para um nó Skeleton3D sem ossos." msgid "Create physical bones" -msgstr "Crie ossos físicos" +msgstr "Criar ossos físicos" + +msgid "Cannot export a SkeletonProfile for a Skeleton3D node with no bones." +msgstr "" +"Não é possível exportar um SkeletonProfile para um nó Skeleton3D sem ossos." + +msgid "Export Skeleton Profile As..." +msgstr "Exportar Perfil de Esqueleto Como..." + +msgid "Set Bone Parentage" +msgstr "Definir Parentesco Ósseo" + +msgid "Skeleton3D" +msgstr "Skeleton3D" + +msgid "Reset All Bone Poses" +msgstr "Redefinir Todas as Posturas do Osso" + +msgid "Reset Selected Poses" +msgstr "Redefinir Posturas Selecionadas" + +msgid "Apply All Poses to Rests" +msgstr "Aplicar Repouso para Todas as Posturas" + +msgid "Apply Selected Poses to Rests" +msgstr "Aplicar Posturas Selecionadas para o Repouso" + +msgid "Create Physical Skeleton" +msgstr "Criar Esqueleto Físico" + +msgid "Export Skeleton Profile" +msgstr "Exportar Perfil de Esqueleto" + +msgid "" +"Edit Mode\n" +"Show buttons on joints." +msgstr "" +"Modo Edição\n" +"Mostrar botões nas junções." + +msgid "Insert key of bone poses already exist track." +msgstr "Chave inserida na postura de ossos já existe na faixa." + +msgid "Insert key of all bone poses." +msgstr "Inserir Chaves de Todas as Posturas de Ossos." + +msgid "Insert Key (All Bones)" +msgstr "Inserir Chave (Todos os Ossos)" + +msgid "Bone Transform" +msgstr "Transformada de Ossos" msgid "Play IK" -msgstr "Jogar IK" +msgstr "Executar IK" + +msgid "Create MeshInstance2D" +msgstr "Criar MeshInstance2D" + +msgid "MeshInstance2D Preview" +msgstr "Visualizar MeshInstance2D" msgid "Create Polygon2D" msgstr "Criar Polígono2D" @@ -8846,16 +9297,22 @@ msgid "Polygon2D Preview" msgstr "Visualizar Polígono2D" msgid "Create CollisionPolygon2D" -msgstr "Criar PolígonoDeColisão2D" +msgstr "Criar CollisionPolygon2D" msgid "CollisionPolygon2D Preview" -msgstr "Visualizar Polígono De Colisão 2D" +msgstr "Visualizar CollisionPolygon2D" msgid "Create LightOccluder2D" -msgstr "Criar Polígono de Oclusão (LightOccluder2D)" +msgstr "Criar LightOccluder2D" msgid "LightOccluder2D Preview" -msgstr "visualizar Oclusor De Luz 2D" +msgstr "Visualizar LightOccluder2D" + +msgid "Can't convert a Sprite2D from a foreign scene." +msgstr "Não é possível converter um Sprite2D de uma cena externa." + +msgid "Sprite2D is empty!" +msgstr "Sprite2D está vazio!" msgid "Can't convert a sprite using animation frames to mesh." msgstr "" @@ -8877,13 +9334,16 @@ msgid "Invalid geometry, can't create collision polygon." msgstr "Geometria inválida, não é possível criar o polígono de colisão." msgid "Create CollisionPolygon2D Sibling" -msgstr "Criar PolígonoDeColisão2D Irmão" +msgstr "Criar CollisionPolygon2D Irmão" msgid "Invalid geometry, can't create light occluder." msgstr "Geometria inválida, não é possível criar o oclusor de luz." msgid "Create LightOccluder2D Sibling" -msgstr "Criar PolígonoDeOclusão2D Irmão" +msgstr "Criar LightOccluder2D Irmão" + +msgid "Sprite2D" +msgstr "Sprite2D" msgid "Simplification:" msgstr "Simplificação:" @@ -8892,34 +9352,34 @@ msgid "Shrink (Pixels):" msgstr "Encolher (Pixels):" msgid "Grow (Pixels):" -msgstr "Crescer (Pixels):" +msgstr "Esticar (Pixels):" msgid "Update Preview" -msgstr "Atualizar visualização" +msgstr "Atualizar Visualização" msgid "Settings:" msgstr "Configurações:" msgid "No Frames Selected" -msgstr "Nenhum Frame Selecionado" +msgstr "Nenhum Quadro Selecionado" msgid "Add %d Frame(s)" -msgstr "Adicionar %d Frame(s)" +msgstr "Adicionar %d Quadro(s)" msgid "Add Frame" -msgstr "Adicionar Frame" +msgstr "Adicionar Quadro" msgid "Unable to load images" -msgstr "Não foi possível carregar a imagem" +msgstr "Não foi possível carregar as imagens" msgid "ERROR: Couldn't load frame resource!" -msgstr "ERRO: Não foi possível carregar o recurso de frame!" +msgstr "ERRO: Não foi possível carregar o recurso de quadro!" msgid "Resource clipboard is empty or not a texture!" msgstr "Recurso da área de transferência está vazio ou não é uma textura!" msgid "Paste Frame" -msgstr "Colar Frame" +msgstr "Colar Quadro" msgid "Add Empty" msgstr "Adicionar Vazio" @@ -8933,23 +9393,59 @@ msgstr "Excluir Animação?" msgid "Change Animation FPS" msgstr "Alterar FPS da Animação" +msgid "Set Frame Duration" +msgstr "Definir Duração do Quadro" + msgid "(empty)" msgstr "(vazio)" msgid "Animations:" msgstr "Animações:" +msgid "Animation Speed" +msgstr "Velocidade da Animação" + +msgid "Filter Animations" +msgstr "Filtrar Animações" + msgid "Delete Animation" msgstr "Excluir Animação" msgid "Animation Frames:" -msgstr "Frames da Animação:" +msgstr "Quadros da Animação:" + +msgid "Frame Duration:" +msgstr "Duração do Quadro:" msgid "Zoom Reset" msgstr "Restaurar Ampliação" +msgid "Add frame from file" +msgstr "Adicionar quadro de um arquivo" + +msgid "Add frames from sprite sheet" +msgstr "Adicionar Quadros de uma folha de Sprite" + +msgid "Delete Frame" +msgstr "Excluir Quadro" + +msgid "Copy Frame" +msgstr "Copiar Quadro" + +msgid "Insert Empty (Before Selected)" +msgstr "Inserir Vazio (Antes da Seleção)" + +msgid "Insert Empty (After Selected)" +msgstr "Inserir Vazio (Depois da Seleção)" + +msgid "Move Frame Left" +msgstr "Mover Quadro para Esquerda" + +msgid "Move Frame Right" +msgstr "Mover Quadro para Direita" + msgid "Select Frames" -msgstr "Selecionar Frames" +msgstr "Selecionar Quadros" msgid "Horizontal:" msgstr "Horizontal:" @@ -8961,28 +9457,47 @@ msgid "Separation:" msgstr "Separação:" msgid "Select/Clear All Frames" -msgstr "Selecionar/Deselecionar Todos os Frames" +msgstr "Selecionar/Deselecionar Todos os Quadros" msgid "Create Frames from Sprite Sheet" -msgstr "Criar Frames a partir da Sprite Sheet" +msgstr "Criar Quadros a partir da Folha de Sprite" msgid "SpriteFrames" msgstr "SpriteFrames" +msgid "Warnings should be fixed to prevent errors." +msgstr "Os avisos devem ser corrigidos para evitar erros." + +msgid "" +"This shader has been modified on disk.\n" +"What action should be taken?" +msgstr "" +"Este Shader foi modificado no disco.\n" +"Que ação deve ser tomada?" + +msgid "%s Mipmaps" +msgstr "%s Mipmaps" + +msgid "Memory: %s" +msgstr "Memória: %s" + +msgid "No Mipmaps" +msgstr "Sem Mipmaps" + msgid "Set Region Rect" -msgstr "Definir Retângulo de Região" +msgstr "Definir Região do Retângulo" msgid "Set Margin" msgstr "Definir Margem" msgid "Snap Mode:" -msgstr "Modo Snap:" +msgstr "Modo de Encaixe:" msgid "Pixel Snap" -msgstr "Snap de Pixel" +msgstr "Encaixe de Pixel" msgid "Grid Snap" -msgstr "Snap de Grade" +msgstr "Encaixe de Grade" msgid "Auto Slice" msgstr "Auto Fatiar" @@ -8990,8 +9505,14 @@ msgstr "Auto Fatiar" msgid "Step:" msgstr "Passo:" +msgid "Region Editor" +msgstr "Editor de Região" + +msgid "Edit Region" +msgstr "Editar Região" + msgid "Styleboxes" -msgstr "Styleboxes" +msgstr "Caixas de Estilo" msgid "1 color" msgid_plural "{num} colors" @@ -9019,8 +9540,8 @@ msgstr "Fontes não encontradas." msgid "1 font size" msgid_plural "{num} font sizes" -msgstr[0] "1 tamanho de fonte" -msgstr[1] "{num} tamanhos de fonte" +msgstr[0] "1 tam. de fonte" +msgstr[1] "{num} tams. de fonte" msgid "No font sizes found." msgstr "Nenhum tamanho de fonte encontrado." @@ -9050,7 +9571,7 @@ msgid "Nothing was selected for the import." msgstr "Nada foi selecionado para a importação." msgid "Importing Theme Items" -msgstr "Importando Tema" +msgstr "Importando Itens do Tema" msgid "Importing items {n}/{n}" msgstr "Importando itens {n}/{n}" @@ -9061,6 +9582,12 @@ msgstr "Atualizando o editor" msgid "Finalizing" msgstr "Finalizando" +msgid "Import Theme Items" +msgstr "Importando Itens do Tema" + +msgid "Filter Items" +msgstr "Filtrar Itens" + msgid "With Data" msgstr "Com Dados" @@ -9094,6 +9621,18 @@ msgstr "Selecione todos os itens de fonte visíveis e seus dados." msgid "Deselect all visible font items." msgstr "Desmarque todos os itens de fonte visíveis." +msgid "Font sizes" +msgstr "Tamanhos da Fonte" + +msgid "Select all visible font size items." +msgstr "Selecione todos os itens de tamanho de fonte visíveis." + +msgid "Select all visible font size items and their data." +msgstr "Selecione todos os itens de tamanho de fonte visíveis e seus dados." + +msgid "Deselect all visible font size items." +msgstr "Desmarque todos os itens de tamanho de fonte visíveis." + msgid "Select all visible icon items." msgstr "Selecione todos os itens de ícones visíveis." @@ -9104,13 +9643,13 @@ msgid "Deselect all visible icon items." msgstr "Desmarque todos os itens de ícones visíveis." msgid "Select all visible stylebox items." -msgstr "Selecionar todos os itens visíveis da caixa de estilo." +msgstr "Selecione todos os itens visíveis da caixa de estilo." msgid "Select all visible stylebox items and their data." -msgstr "Selecionar todos os itens visíveis da caixa de estilo e seus dados." +msgstr "Selecione todos os itens visíveis da caixa de estilo e seus dados." msgid "Deselect all visible stylebox items." -msgstr "Deselecionar todos os itens visíveis da caixa de estilo." +msgstr "Desmarque todos os itens visíveis da caixa de estilo." msgid "" "Caution: Adding icon data may considerably increase the size of your Theme " @@ -9120,10 +9659,10 @@ msgstr "" "do recurso do Tema." msgid "Collapse types." -msgstr "Recolher tudo." +msgstr "Recolher tipos." msgid "Expand types." -msgstr "Expandir tudo." +msgstr "Expandir tipos." msgid "Select all Theme items." msgstr "Selecionar todos os itens do Tema." @@ -9138,10 +9677,10 @@ msgid "Deselect All" msgstr "Desmarcar Tudo" msgid "Deselect all Theme items." -msgstr "Desselecionar todos os itens do Tema." +msgstr "Desmarcar todos os itens do Tema." msgid "Import Selected" -msgstr "Importar Selecionado" +msgstr "Importar Seleção" msgid "" "Import Items tab has some items selected. Selection will be lost upon " @@ -9175,11 +9714,14 @@ msgstr "Remover Todos os Itens de Constante" msgid "Remove All Font Items" msgstr "Remover Todos os Itens de Fonte" +msgid "Remove All Font Size Items" +msgstr "Remover Todos os Itens de Tamanho de Fonte" + msgid "Remove All Icon Items" msgstr "Remover Todos os Itens de Ícone" msgid "Remove All StyleBox Items" -msgstr "Remover Todos os Itens de StyleBox" +msgstr "Remover Todos os Itens de Caixa de Estilo" msgid "" "This theme type is empty.\n" @@ -9188,12 +9730,30 @@ msgstr "" "Este modelo de tema está vazio.\n" "Adicione mais itens manualmente ou importe de outro tema." +msgid "Remove Theme Item" +msgstr "Remover Item do Tema" + msgid "Add Theme Type" msgstr "Adicionar Tipo de Tema" +msgid "Create Theme Item" +msgstr "Criar Item de Tema" + msgid "Remove Theme Type" msgstr "Remover Tipo de Tema" +msgid "Remove Data Type Items From Theme" +msgstr "Remover Itens de Tipo de Dados do Tema" + +msgid "Remove Class Items From Theme" +msgstr "Remover Itens de Classe do Tema" + +msgid "Remove Custom Items From Theme" +msgstr "Remover Itens Personalizados do Tema" + +msgid "Remove All Items From Theme" +msgstr "Remover Todos os Itens do Tema" + msgid "Add Color Item" msgstr "Adicionar Itens de Cor" @@ -9203,11 +9763,14 @@ msgstr "Adicionar Item de Constante" msgid "Add Font Item" msgstr "Adicionar Item de Fonte" +msgid "Add Font Size Item" +msgstr "Adic. Item de Tamanho de Fonte" + msgid "Add Icon Item" msgstr "Adicionar Item de Ícone" msgid "Add Stylebox Item" -msgstr "Adicionar Item de Stylebox" +msgstr "Adicionar Item de Caixa de Estilo" msgid "Rename Color Item" msgstr "Renomear Item de Cor" @@ -9218,35 +9781,41 @@ msgstr "Renomear Item de Constante" msgid "Rename Font Item" msgstr "Renomear Item de Fonte" +msgid "Rename Font Size Item" +msgstr "Renomear Item de Tamanho de Fonte" + msgid "Rename Icon Item" msgstr "Renomear Item de Ícone" msgid "Rename Stylebox Item" -msgstr "Renomear Item de Stylebox" +msgstr "Renomear Item de Caixa de Estilo" + +msgid "Rename Theme Item" +msgstr "Renomear Item do Tema" msgid "Invalid file, not a Theme resource." -msgstr "Arquivo inválido, não é um recurso de Tema." +msgstr "Arquivo inválido, não é um recurso do Tema." msgid "Invalid file, same as the edited Theme resource." msgstr "Arquivo inválido, é o mesmo recurso de Tema sendo editado." msgid "Manage Theme Items" -msgstr "Gerenciar Itens do Tema" +msgstr "Gerenciador de Itens do Tema" msgid "Edit Items" msgstr "Editar Itens" msgid "Types:" -msgstr "Modelos:" +msgstr "Tipos:" msgid "Add Type:" -msgstr "Adicionar Modelo:" +msgstr "Adicionar Tipo:" msgid "Add Item:" msgstr "Adicionar Item:" msgid "Add StyleBox Item" -msgstr "Adicionar Item de Stylebox" +msgstr "Adicionar Item de Caixa de Estilo" msgid "Remove Items:" msgstr "Remover Itens:" @@ -9306,20 +9875,54 @@ msgid "Override Item" msgstr "Sobrescrever Item" msgid "Unpin this StyleBox as a main style." -msgstr "Desafixar essa StyleBox como um estilo principal." +msgstr "Desafixar essa Caixa de Estilo como um estilo principal." msgid "" "Pin this StyleBox as a main style. Editing its properties will update the " "same properties in all other StyleBoxes of this type." msgstr "" -"Fixe este StyleBox como um estilo principal. A edição de suas propriedades " -"atualizará as mesmas propriedades em todos os outros StyleBoxes deste tipo." +"Fixar esta Caixa de Estilo como um estilo principal. A edição de suas " +"propriedades atualizará as mesmas propriedades em todos as outras Caixas de " +"Estilo deste tipo." msgid "Add Item Type" msgstr "Adicionar Tipo de Item" msgid "Add Type" -msgstr "Adicionar Modelo" +msgstr "Adicionar Tipo" + +msgid "Override All Default Theme Items" +msgstr "Substituir Todos os Itens do Modelo Padrão" + +msgid "Override Theme Item" +msgstr "Sobrescrever Item do Tema" + +msgid "Set Color Item in Theme" +msgstr "Definir item Cor no Tema" + +msgid "Set Constant Item in Theme" +msgstr "Definir Item de Constante no Tema" + +msgid "Set Font Size Item in Theme" +msgstr "Definir Item de Tamanho de Fonte no Tema" + +msgid "Set Font Item in Theme" +msgstr "Definir Item de Fonte no Tema" + +msgid "Set Icon Item in Theme" +msgstr "Definir Item de Ícone no Tema" + +msgid "Set Stylebox Item in Theme" +msgstr "Definir Item de Caixa de Estilo no Tema" + +msgid "Pin Stylebox" +msgstr "Fixar Caixa de Estilo" + +msgid "Unpin Stylebox" +msgstr "Desafixar Caixa de Estilo" + +msgid "Set Theme Type Variation" +msgstr "Definir Variação do Tipo de Tema" msgid "Set Variation Base Type" msgstr "Definir Tipo de Variação Base" @@ -9327,6 +9930,9 @@ msgstr "Definir Tipo de Variação Base" msgid "Set Base Type" msgstr "Definir Tipo Base" +msgid "Add a type from a list of available types or create a new one." +msgstr "Adic. um tipo de uma lista de tipos ou criar um novo." + msgid "Show Default" msgstr "Mostrar Padrão" @@ -9338,7 +9944,7 @@ msgid "Override All" msgstr "Substituir Todos" msgid "Override all default type items." -msgstr "Substituir todos os itens do modelo padrão." +msgstr "Substituir todos os itens de tipo padrão." msgid "Base Type" msgstr "Tipo Base" @@ -9351,7 +9957,7 @@ msgid "" "A type associated with a built-in class cannot be marked as a variation of " "another type." msgstr "" -"Um tipo associado à uma classe padrão não pode ser marcada como variação de " +"Um tipo associado à uma classe padrão não pode ser marcado como variação de " "outro tipo." msgid "Theme:" @@ -9364,10 +9970,10 @@ msgid "Add, remove, organize and import Theme items." msgstr "Adicionar, remover, organizar e importar itens de Tema." msgid "Add Preview" -msgstr "Adicionar Prévia" +msgstr "Adicionar Visualização" msgid "Default Preview" -msgstr "Prévia Padrão" +msgstr "Visualização Padrão" msgid "Select UI Scene:" msgstr "Selecione a Cena de UI:" @@ -9376,8 +9982,8 @@ msgid "" "Toggle the control picker, allowing to visually select control types for " "edit." msgstr "" -"Acionar o selecionador de controles, permitindo visualmente selecionar os " -"tipos de controles para edição." +"Alterna o seletor de controle, permitindo selecionar visualmente os tipos de " +"controle para edição." msgid "Toggle Button" msgstr "Alternar Botão" @@ -9392,10 +9998,10 @@ msgid "Disabled Item" msgstr "Item Desativado" msgid "Check Item" -msgstr "Item Marcável" +msgstr "Marcar Item" msgid "Checked Item" -msgstr "Item Checado" +msgstr "Item Marcado" msgid "Radio Item" msgstr "Item Rádio" @@ -9407,7 +10013,7 @@ msgid "Named Separator" msgstr "Separador Nomeado" msgid "Submenu" -msgstr "Submenu" +msgstr "Sub-menu" msgid "Subitem 1" msgstr "Subitem 1" @@ -9425,13 +10031,13 @@ msgid "Disabled LineEdit" msgstr "LineEdit Desativado" msgid "Tab 1" -msgstr "Guia 1" +msgstr "Aba 1" msgid "Tab 2" -msgstr "Guia 2" +msgstr "Aba 2" msgid "Tab 3" -msgstr "Guia 3" +msgstr "Aba 3" msgid "Editable Item" msgstr "Item Editável" @@ -9447,7 +10053,7 @@ msgstr "" "Caminho inválido, o recurso PackedScene foi provavelmente movido ou deletado." msgid "Invalid PackedScene resource, must have a Control node at its root." -msgstr "Recurso PackedScene inválido, se deve ter um nó Control na sua raíz." +msgstr "Recurso PackedScene inválido, deve ter um nó Control em sua raiz." msgid "Invalid file, not a PackedScene resource." msgstr "Arquivo inválido, não é um recurso PackedScene." @@ -9455,6 +10061,90 @@ msgstr "Arquivo inválido, não é um recurso PackedScene." msgid "Reload the scene to reflect its most actual state." msgstr "Recarregue a cena para refletir seu estado mais atual." +msgid "Merge TileSetAtlasSource" +msgstr "Mesclar TilesetAtlasSource" + +msgid "%s (ID: %d)" +msgstr "%s (ID: %d)" + +msgid "Atlas Merging" +msgstr "Mesclando Atlas" + +msgid "Merge (Keep original Atlases)" +msgstr "Mesclar (Manter Atlas Original)" + +msgid "Merge" +msgstr "Mesclar" + +msgid "Next Line After Column" +msgstr "Próxima Linha Após Coluna" + +msgid "Please select two atlases or more." +msgstr "Por favor selecione dois atlas ou mais." + +msgid "" +"Source: %d\n" +"Atlas coordinates: %s\n" +"Alternative: 0" +msgstr "" +"Fonte: %d\n" +"Coordenadas do Atlas: %s\n" +"Alternativa: 0" + +msgid "" +"Source: %d\n" +"Atlas coordinates: %s\n" +"Alternative: %d" +msgstr "" +"Fonte: %d\n" +"Coordenadas do Atlas: %s\n" +"Alternativa: 0" + +msgid "Center View" +msgstr "Centrar Visualização" + +msgid "No atlas source with a valid texture selected." +msgstr "Nenhuma fonte de atlas com textura válida selecionada." + +msgid "Base Tiles" +msgstr "Tiles Base" + +msgid "Alternative Tiles" +msgstr "Tiles Alternativos" + +msgid "Reset Polygons" +msgstr "Redefinir Polígonos" + +msgid "Clear Polygons" +msgstr "Limpar Polígonos" + +msgid "Rotate Polygons Right" +msgstr "Rotacionar Polígono à Direita" + +msgid "Rotate Polygons Left" +msgstr "Rotacionar Polígono à Esquerda" + +msgid "Flip Polygons Horizontally" +msgstr "Inverter Polígonos Horizontalmente" + +msgid "Flip Polygons Vertically" +msgstr "Inverter Polígonos Verticalmente" + +msgid "Edit Polygons" +msgstr "Editar Polígonos" + +msgid "Add polygon tool" +msgstr "Ferramenta adicionar polígono" + +msgid "Edit points tool" +msgstr "Ferramenta editar pontos" + +msgid "Delete points tool" +msgstr "Ferramenta excluir ponto" + +msgid "Reset to default tile shape" +msgstr "Redefinir para mosaico tile padrão" + msgid "Rotate Right" msgstr "Girar à Direita" @@ -9467,18 +10157,445 @@ msgstr "Inverter Horizontalmente" msgid "Flip Vertically" msgstr "Inverter Verticalmente" +msgid "Snap to half-pixel" +msgstr "Encaixar para meio-pixel" + +msgid "Painting Tiles Property" +msgstr "Propriedade Pintar Tiles" + +msgid "Painting:" +msgstr "Pintando:" + +msgid "Picker" +msgstr "Seletor de cor" + +msgid "No terrains" +msgstr "Sem terrenos" + +msgid "No terrain" +msgstr "Sem terreno" + +msgid "Painting Terrain Set" +msgstr "Pintar Conjunto de Terreno" + +msgid "Painting Terrain" +msgstr "Pintando Terreno" + +msgid "No Texture Atlas Source (ID: %d)" +msgstr "Sem Fonte de Atlas de Textura (ID: %d)" + +msgid "Scene Collection Source (ID: %d)" +msgstr "Fonte de Coleção de Cenas (ID: %d)" + +msgid "Unknown Type Source (ID: %d)" +msgstr "Tipo de Arquivo Fonte Desconhecido (ID: %d)" + +msgid "Add TileSet pattern" +msgstr "Adicionar TileSet Padrão" + +msgid "Remove TileSet patterns" +msgstr "Remover Padrões de TileSet" + +msgid "Tile with Invalid Scene" +msgstr "Tile com Cena Inválida" + +msgid "Delete tiles" +msgstr "Excluir tiles" + +msgid "Change selection" +msgstr "Mudar Seleção" + +msgid "Move tiles" +msgstr "Mover tiles" + +msgid "Paint tiles" +msgstr "Pintar Tiles" + +msgid "Paste tiles" +msgstr "Colar Tiles" + +msgid "Selection" +msgstr "Seleção" + +msgid "Paint" +msgstr "Pintar" + +msgid "Shift: Draw line." +msgstr "Shift: Desenha Linha." + +msgid "Shift+Ctrl: Draw rectangle." +msgstr "Shift+Ctrl: Desenha Retângulo." + +msgctxt "Tool" +msgid "Line" +msgstr "Linha" + +msgid "Rect" +msgstr "Retângulo" + +msgid "Bucket" +msgstr "Preencher" + +msgid "Alternatively hold Ctrl with other tools to pick tile." +msgstr "" +"Como alternativa, segure Ctrl com outras ferramentas para escolher o tile." + +msgid "Eraser" +msgstr "Borracha" + +msgid "Alternatively use RMB to erase tiles." +msgstr "Como alternativa, use o RMB para apagar os tiles." + +msgid "Contiguous" +msgstr "Contiguo" + +msgid "Place Random Tile" +msgstr "Posicionar Tile Aleatório" + +msgid "" +"Modifies the chance of painting nothing instead of a randomly selected tile." +msgstr "Modifica a chance de pintar nada ao invés de um tile randômico." + +msgid "Scattering:" +msgstr "Espalhamento:" + msgid "Tiles" msgstr "Tiles" +msgid "" +"This TileMap's TileSet has no source configured. Edit the TileSet resource " +"to add one." +msgstr "" +"Esse TileSet do TileMap não tem fonte configurada. Edite o recurso TileSet " +"para adicionar uma." + +msgid "Sort sources" +msgstr "Classificar fontes" + +msgid "Sort by ID (Ascending)" +msgstr "Ordenar por ID (Crescente)" + +msgid "Sort by ID (Descending)" +msgstr "Ordenar por ID (Decrescente)" + +msgid "Invalid source selected." +msgstr "Fonte inválida selecionada." + +msgid "Patterns" +msgstr "Padrões" + +msgid "Drag and drop or paste a TileMap selection here to store a pattern." +msgstr "" +"Arraste e solte ou cole uma seleção TileMap aqui para armazenar um padrão." + +msgid "Paint terrain" +msgstr "Pintar o terreno" + +msgid "Matches Corners and Sides" +msgstr "Combinar Cantos e Lados" + +msgid "Matches Corners Only" +msgstr "Combinar Somente Cantos" + +msgid "Matches Sides Only" +msgstr "Combinar Somente Lados" + +msgid "Terrain Set %d (%s)" +msgstr "Definir Terreno %d (%s)" + +msgid "" +"Connect mode: paints a terrain, then connects it with the surrounding tiles " +"with the same terrain." +msgstr "" +"Modo de conexão: pinta um terreno e o conecta com os tiles adjacentes no " +"mesmo terreno." + +msgid "" +"Path mode: paints a terrain, thens connects it to the previous tile painted " +"within the same stroke." +msgstr "" +"Modo Caminho: pinta um terreno, então conecta o mesmo ao tile anterior " +"pintado com o mesmo traço." + +msgid "Terrains" +msgstr "Terrenos" + +msgid "Replace Tiles with Proxies" +msgstr "Substituir Tiles por Proxies" + +msgid "No Layers" +msgstr "Sem Camadas" + +msgid "Select Next Tile Map Layer" +msgstr "Selecionar a Próxima Camada de TileMap" + +msgid "Select Previous Tile Map Layer" +msgstr "Selecionar a Camada Anterior de TileMap" + +msgid "TileMap Layers" +msgstr "Camadas de TileMap" + +msgid "Highlight Selected TileMap Layer" +msgstr "Destacar a Camada Selecionada de TileMap" + +msgid "Toggle grid visibility." +msgstr "Alterna visibilidade da grade." + +msgid "Automatically Replace Tiles with Proxies" +msgstr "Automaticamente Substitui Tiles com Proxies" + +msgid "The edited TileMap node has no TileSet resource." +msgstr "O nó TileMap editado não tem recurso de TileSet." + +msgid "Remove Tile Proxies" +msgstr "Remover Proxies de Tile" + +msgid "Create Alternative-level Tile Proxy" +msgstr "Criar Proxy de Tile de Nível Alternativo" + +msgid "Create Coords-level Tile Proxy" +msgstr "Criar Proxy de Tile em Nível de Coordenadas" + +msgid "Create source-level Tile Proxy" +msgstr "Criar Proxy de Tile a Nível de Fonte" + +msgid "Delete All Invalid Tile Proxies" +msgstr "Deletar Todos os Proxies de Tile Inválidos" + +msgid "Delete All Tile Proxies" +msgstr "Apagar Todos os Proxies de Tile" + +msgid "Tile Proxies Management" +msgstr "Gerenciamento de Proxies de Tile" + +msgid "Source-level proxies" +msgstr "Proxies a nível de fonte" + +msgid "Coords-level proxies" +msgstr "Proxies a nível de coordenadas" + +msgid "Alternative-level proxies" +msgstr "Proxies de nível alternativo" + +msgid "Add a new tile proxy:" +msgstr "Adicionar Novo Tile Proxy:" + +msgid "From Source" +msgstr "De Fonte" + +msgid "From Coords" +msgstr "De Coordenadas" + +msgid "From Alternative" +msgstr "De Alternativo" + +msgid "To Source" +msgstr "Para Fonte" + +msgid "To Coords" +msgstr "Para Coordenadas" + +msgid "To Alternative" +msgstr "Para Altermativo" + +msgid "Global actions:" +msgstr "Ações Globais:" + +msgid "Clear Invalid" +msgstr "Limpar Inválidos" + msgid "Atlas" msgstr "Atlas" +msgid "Base Tile" +msgstr "Tile Base" + +msgid "Alternative Tile" +msgstr "Tile Alternativo" + +msgid "" +"Selected tile:\n" +"Source: %d\n" +"Atlas coordinates: %s\n" +"Alternative: %d" +msgstr "" +"Tile selecionado:\n" +"Fonte: %d\n" +"Coordenadas do Atlas: %s\n" +"Alternativo: %d" + +msgid "Rendering" +msgstr "Renderizando" + +msgid "Texture Origin" +msgstr "Origem da Textura" + +msgid "Modulate" +msgstr "Modular" + +msgid "Z Index" +msgstr "Índice Z" + +msgid "Y Sort Origin" +msgstr "Ordenar Origem Y" + +msgid "Occlusion Layer %d" +msgstr "Camada de Oclusão %d" + +msgid "Probability" +msgstr "Probabilidade" + +msgid "Physics" +msgstr "Física" + +msgid "Physics Layer %d" +msgstr "Camada de Física %d" + +msgid "Navigation Layer %d" +msgstr "Camada de Navegação %d" + +msgid "Custom Data" +msgstr "Dados Personalizados" + +msgid "Custom Data %d" +msgstr "Dados Personalizados %d" + +msgid "Select a property editor" +msgstr "Selecione um editor de propriedades" + +msgid "Create tiles" +msgstr "Criar Tiles" + +msgid "Create a tile" +msgstr "Criar um tile" + +msgid "Remove tiles" +msgstr "Remover Tiles" + +msgid "Move a tile" +msgstr "Mover um tile" + +msgid "Select tiles" +msgstr "Selecionar Tiles" + +msgid "Resize a tile" +msgstr "Redimensionar um tile" + +msgid "Remove tile" +msgstr "Remover Tile" + +msgid "Create tile alternatives" +msgstr "Criar tiles alternativos" + +msgid "Create tiles in non-transparent texture regions" +msgstr "Criar tiles em regiões de textura não transparentes" + +msgid "Remove tiles in fully transparent texture regions" +msgstr "Remover tiles em regiões de textura totalmente transparentes" + +msgid "Setup" +msgstr "Configurar" + +msgid "" +"Atlas setup. Add/Remove tiles tool (use the shift key to create big tiles, " +"control for rectangle editing)." +msgstr "" +"Configuração do Atlas. Ferramenta Adicionar/Remover tiles (use a tecla shift " +"para criar tiles grandes, control para editar retângulos)." + +msgid "Select tiles." +msgstr "Selecionar Tiles." + +msgid "Paint properties." +msgstr "Propriedades da pintura." + +msgid "No tiles selected." +msgstr "Nenhum tile selecionado." + +msgid "Paint Properties:" +msgstr "Propriedades da Pintura:" + +msgid "Create Tiles in Non-Transparent Texture Regions" +msgstr "Criar Tiles em Regiões de Textura não Transparente" + +msgid "Remove Tiles in Fully Transparent Texture Regions" +msgstr "Remover Tiles em Regiões de Textura Totalmente Transparentes" + +msgid "Create an Alternative Tile" +msgstr "Criar um Tile Alternativo" + +msgid "Create a Tile" +msgstr "Criar um Tile" + +msgid "Auto Create Tiles in Non-Transparent Texture Regions?" +msgstr "Criar Tiles Automaticamente em Regiões de Textura não Transparente?" + +msgid "" +"The atlas's texture was modified.\n" +"Would you like to automatically create tiles in the atlas?" +msgstr "" +"A textura do atlas foi modificada.\n" +"Você gostaria de criar tiles automaticamente no atlas?" + msgid "Yes" msgstr "Sim" +msgid "No" +msgstr "Não" + +msgid "Add a new atlas source" +msgstr "Adicionar uma nova fonte atlas" + +msgid "Remove source" +msgstr "Remover fonte" + +msgid "Add atlas source" +msgstr "Adicionar fonte de atlas" + +msgid "Sort Sources" +msgstr "Ordenar Fontes" + +msgid "Scenes Collection" +msgstr "Coleção de Cenas" + +msgid "Open Atlas Merging Tool" +msgstr "Abrir Ferramenta de Mesclagem do Atlas" + +msgid "Manage Tile Proxies" +msgstr "Gerenciar Proxies Tile" + +msgid "No TileSet source selected. Select or create a TileSet source." +msgstr "" +"Nenhuma fonte TileSet selecionada. Selecione ou crie uma fonte TileSet." + +msgid "Add new patterns in the TileMap editing mode." +msgstr "Adicione novos padrões no modo de edição TileMap." + +msgid "Add a Scene Tile" +msgstr "Adicionar um Tile na Cena" + +msgid "Remove a Scene Tile" +msgstr "Remover um Tile da Cena" + +msgid "Scenes collection properties:" +msgstr "Propriedades da coleção de cenas:" + +msgid "Tile properties:" +msgstr "Propriedades do Tile:" + msgid "TileSet" msgstr "TileSet" +msgid "TileMap" +msgstr "TileMap" + +msgid "" +"No VCS plugins are available in the project. Install a VCS plugin to use VCS " +"integration features." +msgstr "" +"Nenhum plugin VCS está disponível no projeto. Instale um plugin VCS para " +"usar os recursos de integração VCS." + msgid "Error" msgstr "Erro" @@ -9491,6 +10608,12 @@ msgstr "" msgid "Commit" msgstr "Commit" +msgid "Open in editor" +msgstr "Abrir no Editor" + +msgid "Discard changes" +msgstr "Descartar alterações" + msgid "Staged Changes" msgstr "Alterações Preparadas" @@ -9512,26 +10635,41 @@ msgstr "Deseja remover a ramificação %s?" msgid "Do you want to remove the %s remote?" msgstr "Deseja remover o controle remoto %s?" +msgid "Create VCS metadata files for:" +msgstr "Crie arquivos de metadados VCS para:" + +msgid "Existing VCS metadata files will be overwritten." +msgstr "Os arquivos de metadados VCS existentes serão substituídos." + +msgid "Local Settings" +msgstr "Configurações de Localização" + msgid "Apply" msgstr "Aplicar" +msgid "VCS Provider" +msgstr "Provedor VCS" + +msgid "Connect to VCS" +msgstr "Conectar ao VCS" + msgid "Remote Login" -msgstr "Login remoto" +msgstr "Login Remoto" msgid "Username" -msgstr "Nome do usuário" +msgstr "Nome do Usuário" msgid "Password" msgstr "Senha" msgid "SSH Public Key Path" -msgstr "Caminho da chave pública SSH" +msgstr "Caminho da Chave Pública SSH" msgid "Select SSH public key path" msgstr "Selecione o caminho da chave pública SSH" msgid "SSH Private Key Path" -msgstr "Caminho da chave privada SSH" +msgstr "Caminho da Chave Privada SSH" msgid "Select SSH private key path" msgstr "Selecione o caminho da chave privada SSH" @@ -9540,11 +10678,18 @@ msgid "SSH Passphrase" msgstr "Senha SSH" msgid "Detect new changes" -msgstr "Detectar novas mudanças" +msgstr "Detectar novas alterações" msgid "Discard all changes" msgstr "Descartar todas as alterações" +msgid "This operation is IRREVERSIBLE. Your changes will be deleted FOREVER." +msgstr "" +"Esta operação é IRREVERSÍVEL. Suas alterações serão excluídas PARA SEMPRE." + +msgid "Permanentally delete my changes" +msgstr "Excluir permanentemente minhas alterações" + msgid "Stage all changes" msgstr "Preparar todas as alterações" @@ -9582,7 +10727,7 @@ msgid "Create New Remote" msgstr "Criar Novo Remoto" msgid "Remove Remote" -msgstr "Remover remoto" +msgstr "Remover Remoto" msgid "Remote Name" msgstr "Nome Remoto" @@ -9591,16 +10736,16 @@ msgid "Remote URL" msgstr "URL do Remoto" msgid "Fetch" -msgstr "Buscar" +msgstr "Trazer" msgid "Pull" msgstr "Puxar" msgid "Push" -msgstr "Empurre" +msgstr "Enviar" msgid "Force Push" -msgstr "Forçar Push" +msgstr "Forçar Envio" msgid "Modified" msgstr "Modificado" @@ -9615,7 +10760,12 @@ msgid "Typechange" msgstr "Alteração de tipo" msgid "Unmerged" -msgstr "Não mesclado" +msgstr "Não Mesclado" + +msgid "View file diffs before committing them to the latest version" +msgstr "" +"Visualize as diferenças de arquivo antes de confirmá-las para a versão mais " +"recente" msgid "View:" msgstr "Visualizar:" @@ -9636,7 +10786,7 @@ msgid "Phi constant (1.618034). Golden ratio." msgstr "Constante Phi (1,618034). Proporção áurea." msgid "Pi/4 constant (0.785398) or 45 degrees." -msgstr "Constante Pi/4 (0,785398) or 45 graus." +msgstr "Constante Pi/4 (0,785398) ou 45 graus." msgid "Pi/2 constant (1.570796) or 90 degrees." msgstr "Constante Pi/2 (1,570796) ou 90 graus." @@ -9654,7 +10804,25 @@ msgid "Add Input" msgstr "Adicionar Entrada" msgid "Add Output" -msgstr "Adicionar saída" +msgstr "Adicionar Saída" + +msgid "Float" +msgstr "Float" + +msgid "Int" +msgstr "Int" + +msgid "UInt" +msgstr "UInt" + +msgid "Vector2" +msgstr "Vetor2" + +msgid "Vector3" +msgstr "Vetor3" + +msgid "Vector4" +msgstr "Vetor4" msgid "Boolean" msgstr "Booleano" @@ -9662,17 +10830,66 @@ msgstr "Booleano" msgid "Sampler" msgstr "Amostrador" +msgid "[default]" +msgstr "[padrão]" + +msgid "" +"The 2D preview cannot correctly show the result retrieved from instance " +"parameter." +msgstr "" +"A visualização 2D não pode mostrar corretamente o resultado recuperado do " +"parâmetro de instância." + msgid "Add Input Port" -msgstr "Adicionar porta de entrada" +msgstr "Adicionar Porta de Entrada" msgid "Add Output Port" -msgstr "Adicionar porta de saída" +msgstr "Adicionar Porta de Saída" + +msgid "Change Input Port Type" +msgstr "Alterar Tipo de Porta de Entrada" + +msgid "Change Output Port Type" +msgstr "Alterar Tipo de Porta de Saída" + +msgid "Change Input Port Name" +msgstr "Alterar Nome da Porta de Entrada" + +msgid "Change Output Port Name" +msgstr "Alterar Nome da Porta de Saída" + +msgid "Expand Output Port" +msgstr "Expandir Porta de Saída" + +msgid "Shrink Output Port" +msgstr "Diminuir Porta de Saída" msgid "Remove Input Port" -msgstr "Remover porta de entrada" +msgstr "Remover Porta de Entrada" msgid "Remove Output Port" -msgstr "Remover porta de saída" +msgstr "Remover Porta de Saída" + +msgid "Set VisualShader Expression" +msgstr "Definir Expressão do VisualShader" + +msgid "Resize VisualShader Node" +msgstr "Redimensionar Nó do VisualShader" + +msgid "Hide Port Preview" +msgstr "Ocultar Visualização da Porta" + +msgid "Show Port Preview" +msgstr "Mostrar Visualização da Porta" + +msgid "Set Comment Node Title" +msgstr "Definir Título do Nó de Comentário" + +msgid "Set Comment Node Description" +msgstr "Definir Descrição do Nó de Comentário" + +msgid "Set Parameter Name" +msgstr "Definir Nome do Parâmetro" msgid "Set Input Default Port" msgstr "Definir Porta Padrão de Entrada" @@ -9680,12 +10897,72 @@ msgstr "Definir Porta Padrão de Entrada" msgid "Add Node to Visual Shader" msgstr "Adicionar Nó ao Visual Shader" +msgid "Add Varying to Visual Shader: %s" +msgstr "Adicionar Varying ao Visual Shader: %s" + +msgid "Remove Varying from Visual Shader: %s" +msgstr "Remover Varying do Visual Shader: %s" + msgid "Node(s) Moved" msgstr "Nó(s) Movidos" +msgid "Convert Constant Node(s) To Parameter(s)" +msgstr "Converter Nó(s) Constante(s) para Parâmetro(s)" + +msgid "Convert Parameter Node(s) To Constant(s)" +msgstr "Converter Nó(s) de Parâmetro para Constante(s)" + +msgid "Delete VisualShader Node" +msgstr "Excluir Nó VisualShader" + +msgid "Delete VisualShader Node(s)" +msgstr "Excluir Nó(s) VisualShader" + +msgid "Float Constants" +msgstr "Constantes Float" + +msgid "Convert Constant(s) to Parameter(s)" +msgstr "Converter Constante(s) para Parâmetro(s)" + +msgid "Convert Parameter(s) to Constant(s)" +msgstr "Converter Parâmetro(s) para Constante(s)" + +msgid "Set Comment Title" +msgstr "Definir Título do Comentário" + +msgid "Set Comment Description" +msgstr "Definir Descrição do Comentário" + +msgid "Duplicate VisualShader Node(s)" +msgstr "Duplicar Nó(s) VisualShader" + +msgid "Paste VisualShader Node(s)" +msgstr "Colar Nó(s) VisualShader" + +msgid "Cut VisualShader Node(s)" +msgstr "Cortar Nó(s) VisualShader" + msgid "Visual Shader Input Type Changed" msgstr "Tipo de Entrada de Shader Visual Alterado" +msgid "ParameterRef Name Changed" +msgstr "Nome do ParameterRef Alterado" + +msgid "Varying Name Changed" +msgstr "Nome da Varying Alterado" + +msgid "Set Constant: %s" +msgstr "Definir Constante: %s" + +msgid "Invalid name for varying." +msgstr "Nome Inválido para varying." + +msgid "Varying with that name is already exist." +msgstr "Varying com esse nome já existe." + +msgid "Add Node(s) to Visual Shader" +msgstr "Adicionar Nó(s) ao Visual Shader" + msgid "Vertex" msgstr "Vértice" @@ -9698,18 +10975,48 @@ msgstr "Luz" msgid "Process" msgstr "Processar" +msgid "Collide" +msgstr "Colidir" + msgid "Sky" msgstr "Céu" msgid "Fog" msgstr "Névoa" +msgid "Manage Varyings" +msgstr "Gerenciar Varyings" + +msgid "Add Varying" +msgstr "Adicionar Varying" + +msgid "Remove Varying" +msgstr "Remover Varying" + +msgid "Show generated shader code." +msgstr "Mostra o código do shader gerado." + +msgid "Generated Shader Code" +msgstr "Código Shader Gerado" + msgid "Add Node" msgstr "Adicionar Nó" +msgid "Clear Copy Buffer" +msgstr "Limpar Buffer de Cópia" + +msgid "High-end node" +msgstr "Nó Superior" + msgid "Create Shader Node" msgstr "Criar Nó Shader" +msgid "Create Shader Varying" +msgstr "Criar Varying de Shader" + +msgid "Delete Shader Varying" +msgstr "Excluir Varying de Shader" + msgid "Color function." msgstr "Função cor." @@ -9744,7 +11051,7 @@ msgid "HardLight operator." msgstr "Operador HardLight." msgid "Lighten operator." -msgstr "Operador de iluminação." +msgstr "Operador Lighten." msgid "Overlay operator." msgstr "Operador de sobreposição." @@ -9756,7 +11063,13 @@ msgid "SoftLight operator." msgstr "Operador SoftLight." msgid "Color constant." -msgstr "Cor constante." +msgstr "Constante cor." + +msgid "Color parameter." +msgstr "Parâmetro de cor." + +msgid "(Fragment/Light mode only) Derivative function." +msgstr "(Apenas modo Fragmento/Luz) Função derivada." msgid "Returns the boolean result of the %s comparison between two parameters." msgstr "Retorna o resultado booleano da comparação %s entre dois parâmetros." @@ -9797,6 +11110,54 @@ msgstr "Menor ou Igual (<=)" msgid "Not Equal (!=)" msgstr "Diferente (!=)" +msgid "" +"Returns an associated 3D vector if the provided boolean value is true or " +"false." +msgstr "" +"Retorna um vetor 3D associado se o valor booleano fornecido for verdadeiro " +"ou falso." + +msgid "" +"Returns an associated 2D vector if the provided boolean value is true or " +"false." +msgstr "" +"Retorna um vetor 2D associado se o valor booleano fornecido for verdadeiro " +"ou falso." + +msgid "" +"Returns an associated boolean if the provided boolean value is true or false." +msgstr "" +"Retorna um booleano associado se o valor booleano fornecido for verdadeiro " +"ou falso." + +msgid "" +"Returns an associated floating-point scalar if the provided boolean value is " +"true or false." +msgstr "" +"Retorna um escalar de ponto flutuante associado se o valor booleano " +"fornecido for verdadeiro ou falso." + +msgid "" +"Returns an associated integer scalar if the provided boolean value is true " +"or false." +msgstr "" +"Retorna um escalar inteiro associado se o valor booleano fornecido for " +"verdadeiro ou falso." + +msgid "" +"Returns an associated transform if the provided boolean value is true or " +"false." +msgstr "" +"Retorna uma transformada associada se o valor booleano fornecido for " +"verdadeiro ou falso." + +msgid "" +"Returns an associated unsigned integer scalar if the provided boolean value " +"is true or false." +msgstr "" +"Retorna um escalar inteiro sem sinal associado se o valor booleano fornecido " +"for verdadeiro ou falso." + msgid "Returns the boolean result of the comparison between two parameters." msgstr "Retorna o resultado booleano da comparação entre dois parâmetros." @@ -9810,8 +11171,14 @@ msgstr "" msgid "Boolean constant." msgstr "Constante booleana." +msgid "Boolean parameter." +msgstr "Parâmetro booleano." + +msgid "Translated to '%s' in Godot Shading Language." +msgstr "Traduzido para '%s' na Linguagem de Shading do Godot." + msgid "'%s' input parameter for all shader modes." -msgstr "Parâmetro de entrada '%s' para todos os modos de sombreamento." +msgstr "Parâmetro de entrada '%s' para todos os modos de shader." msgid "Input parameter." msgstr "Parâmetro de entrada." @@ -9820,16 +11187,59 @@ msgid "'%s' input parameter for vertex and fragment shader modes." msgstr "Parâmetro de entrada '%s' para os modos vértice e fragmento de shader." msgid "'%s' input parameter for fragment and light shader modes." -msgstr "Parâmetro de entrada '%s' para os modos de fragmento e sombreamento." +msgstr "Parâmetro de entrada '%s' para os modos de fragmento e shader de luz." msgid "'%s' input parameter for fragment shader mode." -msgstr "Parâmetro de entrada '%s' para o modo de sombreamento." +msgstr "Parâmetro de entrada '%s' para o modo de fragmento de shader." + +msgid "'%s' input parameter for sky shader mode." +msgstr "Parâmetro de entrada '%s' para o modo de shader de céu." + +msgid "'%s' input parameter for fog shader mode." +msgstr "Parâmetro de entrada '%s' para o modo de shader de névoa." msgid "'%s' input parameter for light shader mode." -msgstr "Parâmetro de entrada '%s' para o modo de sombreamento da luz." +msgstr "Parâmetro de entrada '%s' para o modo de shader de luz." msgid "'%s' input parameter for vertex shader mode." -msgstr "Parâmetro de entrada '%s' para o modo de sombra do vértice." +msgstr "Parâmetro de entrada '%s' para o modo de shader de vértice." + +msgid "'%s' input parameter for start shader mode." +msgstr "Parâmetro de entrada '%s' para o modo de shader inicial." + +msgid "'%s' input parameter for process shader mode." +msgstr "Parâmetro de entrada '%s' para o modo de shader de processamento." + +msgid "'%s' input parameter for start and process shader modes." +msgstr "Parâmetro de entrada '%s' para os modos shader inicial e processo." + +msgid "'%s' input parameter for process and collide shader modes." +msgstr "Parâmetro de entrada '%s' para os modos shader processo e colisão." + +msgid "" +"A node for help to multiply a position input vector by rotation using " +"specific axis. Intended to work with emitters." +msgstr "" +"Um nó para ajudar a multiplicar um vetor de entrada de posição por rotação " +"usando um eixo específico. Destinado a trabalhar com emissores." + +msgid "Float function." +msgstr "Função Float." + +msgid "Float operator." +msgstr "Operador Float." + +msgid "Integer function." +msgstr "Função Integer." + +msgid "Integer operator." +msgstr "Operador Integer." + +msgid "Unsigned integer function." +msgstr "Função inteira sem sinal." + +msgid "Unsigned integer operator." +msgstr "Operador inteiro sem sinal." msgid "Returns the absolute value of the parameter." msgstr "Retorna o valor absoluto do parâmetro." @@ -9847,7 +11257,7 @@ msgid "Returns the inverse hyperbolic sine of the parameter." msgstr "Retorna o seno hiperbólico inverso do parâmetro." msgid "Returns the arc-tangent of the parameter." -msgstr "Retorna o arco-tangente do parâmetro." +msgstr "Retorna o arco tangente do parâmetro." msgid "Returns the arc-tangent of the parameters." msgstr "Retorna o arco-tangente dos parâmetros." @@ -9855,12 +11265,20 @@ msgstr "Retorna o arco-tangente dos parâmetros." msgid "Returns the inverse hyperbolic tangent of the parameter." msgstr "Retorna a tangente hiperbólica inversa do parâmetro." +msgid "Returns the result of bitwise NOT (~a) operation on the integer." +msgstr "Retorna o resultado da operação NOT (~a) bit a bit no inteiro." + +msgid "" +"Returns the result of bitwise NOT (~a) operation on the unsigned integer." +msgstr "" +"Retorna o resultado da operação NOT (~a) bit a bit no inteiro sem sinal." + msgid "" "Finds the nearest integer that is greater than or equal to the parameter." msgstr "Encontra o inteiro mais próximo que é maior ou igual ao parâmetro." msgid "Constrains a value to lie between two further values." -msgstr "Limita um valor para permanecer entre dois outros valores." +msgstr "Restringe um valor a ficar entre dois outros valores." msgid "Returns the cosine of the parameter." msgstr "Retorna o cosseno do parâmetro." @@ -9886,16 +11304,16 @@ msgstr "" "local." msgid "Base-e Exponential." -msgstr "Exponencial de base e." +msgstr "Exponencial de base-e." msgid "Base-2 Exponential." -msgstr "Exponencial de base 2." +msgstr "Exponencial de base-2." msgid "Finds the nearest integer less than or equal to the parameter." -msgstr "Encontra o inteiro mais próximo que é menor ou igual ao parâmetro." +msgstr "Localiza o inteiro mais próximo menor ou igual ao parâmetro." msgid "Computes the fractional part of the argument." -msgstr "Calcula a parte fracional do argumento." +msgstr "Calcula a parte fracionária do argumento." msgid "Returns the inverse of the square root of the parameter." msgstr "Retorna o inverso da raiz quadrada do parâmetro." @@ -9904,7 +11322,7 @@ msgid "Natural logarithm." msgstr "Logaritmo natural." msgid "Base-2 logarithm." -msgstr "Logaritmo de base 2." +msgstr "Logaritmo de base-2." msgid "Returns the greater of two values." msgstr "Retorna o maior entre dois valores." @@ -9915,6 +11333,11 @@ msgstr "Retorna o menor entre dois valores." msgid "Linear interpolation between two scalars." msgstr "Interpolação linear entre dois escalares." +msgid "Performs a fused multiply-add operation (a * b + c) on scalars." +msgstr "" +"Executa uma operação de adição e multiplicação fundida (a * b + c) em " +"escalares." + msgid "Returns the opposite value of the parameter." msgstr "Retorna o valor oposto do parâmetro." @@ -9938,7 +11361,7 @@ msgid "Finds the nearest even integer to the parameter." msgstr "Encontra o número inteiro par mais próximo do parâmetro." msgid "Clamps the value between 0.0 and 1.0." -msgstr "Limita o valor entre 0.0 e 1.0." +msgstr "Limita o valor entre 0,0 e 1,0." msgid "Extracts the sign of the parameter." msgstr "Extrai o sinal do parâmetro." @@ -9989,11 +11412,195 @@ msgstr "Retorna a tangente hiperbólica do parâmetro." msgid "Finds the truncated value of the parameter." msgstr "Encontra o valor truncado do parâmetro." +msgid "Sums two floating-point scalars." +msgstr "Soma dois escalares de ponto flutuante." + +msgid "Sums two integer scalars." +msgstr "Soma dois escalares inteiros." + +msgid "Sums two unsigned integer scalars." +msgstr "Soma dois escalares inteiros sem sinal." + +msgid "Returns the result of bitwise AND (a & b) operation for two integers." +msgstr "" +"Retorna o resultado da operação AND (a & b) bit a bit para dois inteiros." + +msgid "" +"Returns the result of bitwise AND (a & b) operation for two unsigned " +"integers." +msgstr "" +"Retorna o resultado da operação AND (a & b) bit a bit para dois inteiros sem " +"sinal." + +msgid "" +"Returns the result of bitwise left shift (a << b) operation on the integer." +msgstr "" +"Retorna o resultado da operação de deslocamento à esquerda bit a bit (a << " +"b) no inteiro." + +msgid "" +"Returns the result of bitwise left shift (a << b) operation on the unsigned " +"integer." +msgstr "" +"Retorna o resultado da operação de deslocamento à esquerda bit a bit (a << " +"b) no inteiro sem sinal." + +msgid "Returns the result of bitwise OR (a | b) operation for two integers." +msgstr "" +"Retorna o resultado da operação OR (a | b) bit a bit para dois inteiros." + +msgid "" +"Returns the result of bitwise OR (a | b) operation for two unsigned integers." +msgstr "" +"Retorna o resultado da operação OR (a | b) bit a bit para dois inteiros sem " +"sinal." + +msgid "" +"Returns the result of bitwise right shift (a >> b) operation on the integer." +msgstr "" +"Retorna o resultado da operação de deslocamento à direita bit a bit (a >> b) " +"no inteiro." + +msgid "" +"Returns the result of bitwise right shift (a >> b) operation on the unsigned " +"integer." +msgstr "" +"Retorna o resultado da operação de deslocamento à direita bit a bit (a >> b) " +"no inteiro sem sinal." + +msgid "Returns the result of bitwise XOR (a ^ b) operation on the integer." +msgstr "Retorna o resultado da operação bit a bit XOR (a ^ b) no inteiro." + +msgid "" +"Returns the result of bitwise XOR (a ^ b) operation on the unsigned integer." +msgstr "" +"Retorna o resultado da operação bit a bit XOR (a ^ b) no inteiro sem sinal." + +msgid "Divides two floating-point scalars." +msgstr "Divide dois escalares de ponto flutuante." + +msgid "Divides two integer scalars." +msgstr "Divide dois escalares inteiros." + +msgid "Divides two unsigned integer scalars." +msgstr "Divide dois escalares inteiros sem sinal." + +msgid "Multiplies two floating-point scalars." +msgstr "Multiplica dois escalares de ponto flutuante." + +msgid "Multiplies two integer scalars." +msgstr "Multiplica dois escalares inteiros." + +msgid "Multiplies two unsigned integer scalars." +msgstr "Multiplica dois escalares inteiros sem sinal." + +msgid "Returns the remainder of the two floating-point scalars." +msgstr "Retorna o resto de dois escalares de ponto flutuante." + +msgid "Returns the remainder of the two integer scalars." +msgstr "Retorna o resto de dois escalares inteiros." + +msgid "Returns the remainder of the two unsigned integer scalars." +msgstr "Retorna o resto de dois escalares inteiros sem sinal." + +msgid "Subtracts two floating-point scalars." +msgstr "Subtrai dois escalares de ponto flutuante." + +msgid "Subtracts two integer scalars." +msgstr "Subtrai dois escalares inteiros." + +msgid "Subtracts two unsigned integer scalars." +msgstr "Subtrai dois escalares inteiros sem sinal." + +msgid "Scalar floating-point constant." +msgstr "Constante de ponto flutuante escalar." + +msgid "Scalar integer constant." +msgstr "Constante escalar inteira." + +msgid "Scalar unsigned integer constant." +msgstr "Constante escalar inteira sem sinal." + +msgid "Scalar floating-point parameter." +msgstr "Parâmetro de ponto flutuante escalar." + +msgid "Scalar integer parameter." +msgstr "Parâmetro inteiro escalar." + +msgid "Scalar unsigned integer parameter." +msgstr "Parâmetro inteiro sem sinal escalar." + +msgid "Converts screen UV to a SDF." +msgstr "Converte tela UV para um SDF." + +msgid "Casts a ray against the screen SDF and returns the distance travelled." +msgstr "Lança um raio contra a tela SDF e retorna a distância percorrida." + +msgid "Converts a SDF to screen UV." +msgstr "Converte um SDF em tela UV." + +msgid "Performs a SDF texture lookup." +msgstr "Executa uma pesquisa de textura SDF." + +msgid "Performs a SDF normal texture lookup." +msgstr "Executa uma pesquisa de textura normal SDF." + +msgid "Function to be applied on texture coordinates." +msgstr "Função a ser aplicada nas coordenadas de textura." + +msgid "Polar coordinates conversion applied on texture coordinates." +msgstr "Conversão de coordenadas polares aplicada em coordenadas de textura." + msgid "Perform the cubic texture lookup." msgstr "Execute a pesquisa de textura cúbica." +msgid "Perform the curve texture lookup." +msgstr "Execute a pesquisa de textura de curva." + +msgid "Perform the three components curve texture lookup." +msgstr "Execute a pesquisa de textura de curva de três componentes." + +msgid "" +"Returns the depth value obtained from the depth prepass in a linear space." +msgstr "" +"Retorna o valor de profundidade obtido do pré-passe de profundidade em um " +"espaço linear." + +msgid "Perform the 2D texture lookup." +msgstr "Execute a pesquisa de textura 2D." + +msgid "Perform the 2D-array texture lookup." +msgstr "Execute a pesquisa de textura de matriz 2D." + +msgid "Perform the 3D texture lookup." +msgstr "Execute a pesquisa de textura 3D." + +msgid "Apply panning function on texture coordinates." +msgstr "Aplique a função de panorâmica nas coordenadas de textura." + +msgid "Apply scaling function on texture coordinates." +msgstr "Aplique a função de dimensionamento nas coordenadas de textura." + +msgid "Cubic texture parameter lookup." +msgstr "Pesquisa de parâmetro de textura cúbica." + +msgid "2D texture parameter lookup." +msgstr "Pesquisa de parâmetros de textura 2D." + +msgid "2D texture parameter lookup with triplanar." +msgstr "Pesquisa de parâmetros de textura 2D com triplanar." + +msgid "2D array of textures parameter lookup." +msgstr "Matriz 2D de pesquisa de parâmetros de texturas." + +msgid "3D texture parameter lookup." +msgstr "Pesquisa de parâmetros de textura 3D." + msgid "Transform function." -msgstr "Função Transformação..." +msgstr "Função transformada." + +msgid "Transform operator." +msgstr "Operador transformada." msgid "" "Calculate the outer product of a pair of vectors.\n" @@ -10004,34 +11611,82 @@ msgid "" "whose number of rows is the number of components in 'c' and whose number of " "columns is the number of components in 'r'." msgstr "" -"Calcular o produto externo de um par de vetores.\n" +"Calcule o produto externo de um par de vetores.\n" "\n" -"OuterProduct trata o primeiro parâmetro \"c\" como um vetor coluna (matriz " -"com uma coluna) e o segundo parâmetro \"r\" como um vetor linha (matriz com " -"uma linha) e faz uma matriz algébrica linear multiplicar \"c * r\", " -"produzindo uma matriz cujo número de linhas é o número de componentes em " -"\"c\" e cujo número de colunas é o número de componentes em \"r\"." +"OuterProduct trata o primeiro parâmetro 'c' como um vetor coluna (matriz com " +"uma coluna) e o segundo parâmetro 'r' como um vetor linha (matriz com uma " +"linha) e faz uma matriz algébrica linear multiplicar 'c * r', produzindo uma " +"matriz cujo número de linhas é o número de componentes em 'c' e cujo número " +"de colunas é o número de componentes em 'r'." msgid "Composes transform from four vectors." -msgstr "Compõe a transformação de quatro vetores." +msgstr "Compõe a transformada de quatro vetores." msgid "Decomposes transform to four vectors." -msgstr "Decompõe transformação em quatro vetores." +msgstr "Decompõe transformada em quatro vetores." msgid "Calculates the determinant of a transform." -msgstr "Calcula o determinante de uma transformação." +msgstr "Calcula o determinante de uma transformada." + +msgid "" +"Calculates how the object should face the camera to be applied on Model View " +"Matrix output port for 3D objects." +msgstr "" +"Calcula como o objeto deve ficar voltado para a câmera a ser aplicada na " +"porta de saída do Modelo de Visualização da Matriz para objetos 3D." msgid "Calculates the inverse of a transform." -msgstr "Calcula a inversa de uma transformação." +msgstr "Calcula a inversa de uma transformada." msgid "Calculates the transpose of a transform." -msgstr "Calcula a transposta de uma transformação." +msgstr "Calcula a transposta de uma transformada." + +msgid "Sums two transforms." +msgstr "Soma duas transformadas." + +msgid "Divides two transforms." +msgstr "Divide duas transformadas." + +msgid "Multiplies two transforms." +msgstr "Multiplica duas transformadas." + +msgid "Performs per-component multiplication of two transforms." +msgstr "Executa a multiplicação por componente de duas transformadas." + +msgid "Subtracts two transforms." +msgstr "Subtrai duas transformadas." msgid "Multiplies vector by transform." -msgstr "Multiplica vetor por transformação." +msgstr "Multiplica vetor por transformada." msgid "Transform constant." -msgstr "Transformar constante." +msgstr "Transformar em constante." + +msgid "Transform parameter." +msgstr "Parâmetro de transformação." + +msgid "" +"The distance fade effect fades out each pixel based on its distance to " +"another object." +msgstr "" +"O efeito de esmaecimento de distância esmaece cada pixel com base em sua " +"distância de outro objeto." + +msgid "" +"The proximity fade effect fades out each pixel based on its distance to " +"another object." +msgstr "" +"O efeito de esmaecimento de proximidade esmaece cada pixel com base em sua " +"distância de outro objeto." + +msgid "Returns a random value between the minimum and maximum input values." +msgstr "" +"Retorna um valor aleatório entre os valores de entrada mínimo e máximo." + +msgid "Remaps a given input from the input range to the output range." +msgstr "" +"Remapeia uma determinada entrada do intervalo de entrada para o intervalo de " +"saída." msgid "Vector function." msgstr "Função vetorial." @@ -10039,6 +11694,30 @@ msgstr "Função vetorial." msgid "Vector operator." msgstr "Operador vetorial." +msgid "Composes vector from scalars." +msgstr "Compõe um vetor a partir de escalares." + +msgid "Decomposes vector to scalars." +msgstr "Decompõe vetores em escalares." + +msgid "Composes 2D vector from two scalars." +msgstr "Compõe um vetor 2D a partir de dois escalares." + +msgid "Decomposes 2D vector to two scalars." +msgstr "Decompõe o vetor 2D em dois escalares." + +msgid "Composes 3D vector from three scalars." +msgstr "Compõe um vetor 3D a partir de três escalares." + +msgid "Decomposes 3D vector to three scalars." +msgstr "Decompõe o vetor 3D em três escalares." + +msgid "Composes 4D vector from four scalars." +msgstr "Compõe um vetor 4D a partir de quatro escalares." + +msgid "Decomposes 4D vector to four scalars." +msgstr "Decompõe o vetor 4D em quatro escalares." + msgid "Calculates the cross product of two vectors." msgstr "Calcula o produto vetorial de dois vetores." @@ -10090,6 +11769,11 @@ msgstr "Interpolação linear entre dois vetores." msgid "Linear interpolation between two vectors using scalar." msgstr "Interpolação linear entre dois vetores usando escalar." +msgid "Performs a fused multiply-add operation (a * b + c) on vectors." +msgstr "" +"Executa uma operação de adição e multiplicação fundida (a * b + c) com " +"vetores." + msgid "Calculates the normalize product of vector." msgstr "Calcula o produto normalizado do vetor." @@ -10159,15 +11843,104 @@ msgid "" msgstr "" "(Apenas modo Fragmento/Luz) (Vetor) Soma da derivada absoluta em 'x' e 'y'." +msgid "Adds 2D vector to 2D vector." +msgstr "Soma vetor 2D com vetor 2D." + +msgid "Adds 3D vector to 3D vector." +msgstr "Soma vetor 3D com vetor 3D." + +msgid "Adds 4D vector to 4D vector." +msgstr "Soma vetor 4D com vetor 4D." + +msgid "Divides 2D vector by 2D vector." +msgstr "Divide vetor 2D com vetor 2D." + +msgid "Divides 3D vector by 3D vector." +msgstr "Divide vetor 3D com vetor 3D." + +msgid "Divides 4D vector by 4D vector." +msgstr "Divide vetor 4D com vetor 4D." + +msgid "Multiplies 2D vector by 2D vector." +msgstr "Multiplica vetor 2D por vetor 2D." + +msgid "Multiplies 3D vector by 3D vector." +msgstr "Multiplica vetor 3D por vetor 3D." + +msgid "Multiplies 4D vector by 4D vector." +msgstr "Multiplica vetor 4D por vetor 4D." + +msgid "Returns the remainder of the two 2D vectors." +msgstr "Retorna o resto dos dois vetores 2D." + +msgid "Returns the remainder of the two 3D vectors." +msgstr "Retorna o resto dos dois vetores 3D." + +msgid "Returns the remainder of the two 4D vectors." +msgstr "Retorna o resto dos dois vetores 4D." + +msgid "Subtracts 2D vector from 2D vector." +msgstr "Subtrai vetor 2D do vetor 2D." + +msgid "Subtracts 3D vector from 3D vector." +msgstr "Subtrai vetor 3D do vetor 3D." + +msgid "Subtracts 4D vector from 4D vector." +msgstr "Subtrai vetor 4D do vetor 4D." + +msgid "2D vector constant." +msgstr "Constante vetorial 2D." + +msgid "2D vector parameter." +msgstr "Parâmetro vetorial 2D." + +msgid "3D vector constant." +msgstr "Constante vetorial 3D." + +msgid "3D vector parameter." +msgstr "Parâmetro do vetor 3D." + +msgid "4D vector constant." +msgstr "Constante vetorial 4D." + +msgid "4D vector parameter." +msgstr "Parâmetro vetorial 4D." + +msgid "" +"A rectangular area with a description string for better graph organization." +msgstr "" +"Uma área retangular com uma string de descrição para melhor organização do " +"gráfico." + msgid "" "Custom Godot Shader Language expression, with custom amount of input and " "output ports. This is a direct injection of code into the vertex/fragment/" "light function, do not use it to write the function declarations inside." msgstr "" -"Expressão personalizada da Godot Shader Language, com quantidade " +"Expressão personalizada da Linguagem Shader do Godot, com quantidade " "personalizada de portas de entrada e saída. Esta é uma injeção direta de " "código na função vértice/fragmento/luz, não a use para escrever as " -"declarações de função internas." +"declarações da função dentro dela." + +msgid "" +"Custom Godot Shader Language expression, which is placed on top of the " +"resulted shader. You can place various function definitions inside and call " +"it later in the Expressions. You can also declare varyings, parameters and " +"constants." +msgstr "" +"Expressão personalizada da Linguagem Shader do Godot, que é colocada sobre o " +"shader resultante. Você pode colocar várias definições de função dentro e " +"chamá-las posteriormente nas Expressões. Você também pode declarar varying, " +"parâmetros e constantes." + +msgid "A reference to an existing parameter." +msgstr "Uma referência a um parâmetro existente." + +msgid "Get varying parameter." +msgstr "Obter parâmetro de varying." + +msgid "Set varying parameter." +msgstr "Definir parâmetro de varying." msgid "Edit Visual Property:" msgstr "Editar Propriedade Visual:" @@ -10175,6 +11948,21 @@ msgstr "Editar Propriedade Visual:" msgid "Visual Shader Mode Changed" msgstr "Modo Visual Shader Alterado" +msgid "Voxel GI data is not local to the scene." +msgstr "Os dados Voxel GI não são locais para a cena." + +msgid "Voxel GI data is part of an imported resource." +msgstr "Os dados Voxel GI fazem parte de um recurso importado." + +msgid "Voxel GI data is an imported resource." +msgstr "Os dados Voxel GI são um recurso importado." + +msgid "Bake VoxelGI" +msgstr "Gerar VoxelGI" + +msgid "Select path for VoxelGI Data File" +msgstr "Selecione o caminho para o arquivo de dados VoxelGI" + msgid "The path specified doesn't exist." msgstr "O caminho especificado não existe." @@ -10228,7 +12016,7 @@ msgid "Can scale to large complex scenes." msgstr "Pode escalar para cenas grandes e complexas." msgid "Uses RenderingDevice backend." -msgstr "Suporta dispositivo de renderização atuais." +msgstr "Suporta dispositivos de renderização atuais." msgid "Slower rendering of simple scenes." msgstr "Renderização mais lenta de cenas simples." @@ -10261,7 +12049,7 @@ msgid "Fastest rendering of simple scenes." msgstr "Renderização mais rápida de cenas simples." msgid "Invalid project path (changed anything?)." -msgstr "Caminho de projeto inválido (mudou alguma coisa?)." +msgstr "Caminho do projeto, inválido (mudou alguma coisa?)." msgid "" "Couldn't load project at '%s' (error %d). It may be missing or corrupted." @@ -10308,19 +12096,19 @@ msgid "Import Existing Project" msgstr "Importar Projeto Existente" msgid "Import & Edit" -msgstr "Importar e Editar" +msgstr "Importar & Editar" msgid "Create New Project" msgstr "Criar Novo Projeto" msgid "Create & Edit" -msgstr "Criar e Editar" +msgstr "Criar & Editar" msgid "Install Project:" msgstr "Instalar Projeto:" msgid "Install & Edit" -msgstr "Instalar e Editar" +msgstr "Instalar & Editar" msgid "Project Name:" msgstr "Nome do Projeto:" @@ -10361,7 +12149,7 @@ msgid "Asset Library Projects" msgstr "Projetos da Biblioteca de Recursos" msgid "Can't open project at '%s'." -msgstr "Não é possível abrir o projeto em '%s'." +msgstr "Não foi possível abrir o projeto em '%s'." msgid "" "You requested to open %d projects in parallel. Do you confirm?\n" @@ -10524,11 +12312,11 @@ msgid "" "Can't run project: Assets need to be imported.\n" "Please edit the project to trigger the initial import." msgstr "" -"Não foi possível executar o projeto: Os recursos precisam ser importados.\n" -"Por favor, edite o projeto para iniciar a importação inicial." +"Não é possível executar o projeto: Os recursos precisam ser importados.\n" +"Edite o projeto para acionar a importação inicial." msgid "Are you sure to run %d projects at once?" -msgstr "Tem certeza de que quer executar %d projetos ao mesmo tempo?" +msgstr "Tem certeza de que deseja executar %d projetos de modo simultâneo?" msgid "Remove %d projects from the list?" msgstr "Remover %d projetos da lista?" @@ -10540,8 +12328,8 @@ msgid "" "Remove all missing projects from the list?\n" "The project folders' contents won't be modified." msgstr "" -"Remover todos os projetos faltantes da lista?\n" -"O conteúdo da pasta dos projetos não será modificado." +"Remover todos os projetos ausentes da lista?\n" +"O conteúdo das pastas do projeto não será modificado." msgid "" "Language changed.\n" @@ -10576,10 +12364,10 @@ msgstr "" "pelo menos um caractere `/`." msgid "Loading, please wait..." -msgstr "Carregando, por favor aguarde." +msgstr "Carregando, por favor aguarde..." msgid "Last Edited" -msgstr "Ultima Modificação" +msgstr "Última Modificação" msgid "New Project" msgstr "Novo Projeto" @@ -10617,6 +12405,28 @@ msgstr "Remover Tudo" msgid "Also delete project contents (no undo!)" msgstr "Também deletar os conteúdos do projeto (não pode ser desfeito!)" +msgid "" +"This option will perform full project conversion, updating scenes, resources " +"and scripts from Godot 3.x to work in Godot 4.0.\n" +"\n" +"Note that this is a best-effort conversion, i.e. it makes upgrading the " +"project easier, but it will not open out-of-the-box and will still require " +"manual adjustments.\n" +"\n" +"IMPORTANT: Make sure to backup your project before converting, as this " +"operation makes it impossible to open it in older versions of Godot." +msgstr "" +"Esta opção realizará a conversão completa do projeto, atualizando cenas, " +"recursos e scripts do Godot 3.x para funcionar no Godot 4.0.\n" +"\n" +"Observe que esta é uma conversão para o melhor possível, ou seja, facilita a " +"atualização do projeto, mas não irá deixar perfeitamente funcional, exigindo " +"ainda ajustes manuais.\n" +"\n" +"IMPORTANTE: Certifique-se de fazer backup do seu projeto antes de converter, " +"pois esta operação impossibilitará a abertura em versões mais antigas do " +"Godot." + msgid "Can't run project" msgstr "Não é possível executar o projeto" @@ -10625,7 +12435,10 @@ msgid "" "Would you like to explore official example projects in the Asset Library?" msgstr "" "Você não tem nenhum projeto no momento.\n" -"Gostaria de explorar projetos de exemplo oficiais na Biblioteca de Recursos?" +"Gostaria de explorar projetos de exemplos oficiais na Biblioteca de Recursos?" + +msgid "Add Project Setting" +msgstr "Adicionar Configuração ao Projeto" msgid "Delete Item" msgstr "Excluir Item" @@ -10637,20 +12450,45 @@ msgid "Add Input Action" msgstr "Adicionar Ação de Entrada" msgid "Change Action deadzone" -msgstr "Alterar zona morta de ação" +msgstr "Alterar zona morta de Ação" + +msgid "Change Input Action Event(s)" +msgstr "Alterar Evento(s) de Ação de Entrada" msgid "Erase Input Action" msgstr "Apagar Ação de Entrada" +msgid "Rename Input Action" +msgstr "Renomear Ação de Entrada" + +msgid "Update Input Action Order" +msgstr "Atualizar Ordem de Ação de Entrada" + msgid "Project Settings (project.godot)" msgstr "Configurações do Projeto (project.godot)" +msgid "Advanced Settings" +msgstr "Configurações Avançadas" + +msgid "Select a Setting or Type its Name" +msgstr "Selecione uma Configuração ou Digite seu Nome" + +msgid "Changed settings will be applied to the editor after restarting." +msgstr "" +"As configurações alteradas serão aplicadas ao editor após a reinicialização." + msgid "Input Map" msgstr "Mapa de Entrada" msgid "Localization" msgstr "Localização" +msgid "Autoload" +msgstr "Autoload" + +msgid "Shader Globals" +msgstr "Shaders Globais" + msgid "Plugins" msgstr "Plugins" @@ -10664,7 +12502,7 @@ msgid "Select Virtual Method" msgstr "Selecionar Método Virtual" msgid "Batch Rename" -msgstr "Renomear em lote" +msgstr "Renomear em Lote" msgid "Prefix:" msgstr "Prefixo:" @@ -10679,24 +12517,45 @@ msgid "Advanced Options" msgstr "Opções Avançadas" msgid "Substitute" -msgstr "Substituir" +msgstr "Substituto" + +msgid "Node name." +msgstr "Nome do nó." + +msgid "Node's parent name, if available." +msgstr "Nome pai do nó, se disponível." + +msgid "Node type." +msgstr "Tipo de nó." + +msgid "Current scene name." +msgstr "Nome da cena atual." + +msgid "Root node name." +msgstr "Nome do nó raiz." msgid "" "Sequential integer counter.\n" "Compare counter options." msgstr "" "Contador inteiro sequencial.\n" -"Compare as opções do contador." +"Compare opções do contador." msgid "Per-level Counter" -msgstr "Contador de nível" +msgstr "Contador por nível" msgid "If set, the counter restarts for each group of child nodes." msgstr "Se definido, o contador será reiniciado para cada grupo de nós filhos." +msgid "Initial value for the counter." +msgstr "Valor inicial do contador." + msgid "Step" msgstr "Passo" +msgid "Amount by which counter is incremented for each node." +msgstr "Quantidade pela qual o contador é incrementado para cada nó." + msgid "Padding" msgstr "Preenchimento" @@ -10704,8 +12563,8 @@ msgid "" "Minimum number of digits for the counter.\n" "Missing digits are padded with leading zeros." msgstr "" -"Número mínimo de dígitos para o contador.\n" -"Os dígitos ausentes são preenchidos com zeros à esquerda." +"Número mínimo de dígitos do contador.\n" +"Os dígitos ausentes serão preenchidos com zeros à esquerda." msgid "Post-Process" msgstr "Pós-Processamento" @@ -10723,13 +12582,13 @@ msgid "Case" msgstr "Caso" msgid "To Lowercase" -msgstr "Para minúsculas" +msgstr "Para Minúsculas" msgid "To Uppercase" -msgstr "Para Maiúscula" +msgstr "Para Maiúsculas" msgid "Reset" -msgstr "Recompor" +msgstr "Redefinir" msgid "Regular Expression Error:" msgstr "Erro de Expressão Regular:" @@ -10738,7 +12597,10 @@ msgid "At character %s" msgstr "Para caractere %s" msgid "Reparent Node" -msgstr "Reparentar Nó" +msgstr "Reassociar Nó" + +msgid "Select new parent:" +msgstr "Selecione o novo pai:" msgid "Keep Global Transform" msgstr "Manter Transformação Global" @@ -10746,6 +12608,30 @@ msgstr "Manter Transformação Global" msgid "Reparent" msgstr "Reparentar" +msgid "Pick Root Node Type" +msgstr "Escolha o Tipo de Nó Raiz" + +msgid "Pick" +msgstr "Escolher" + +msgid "Scene name is valid." +msgstr "O nome da cena é válido." + +msgid "Scene name is empty." +msgstr "O nome da cena está vazio." + +msgid "File name invalid." +msgstr "Nome de arquivo inválido." + +msgid "File already exists." +msgstr "O arquivo já existe." + +msgid "Invalid root node name." +msgstr "Nome de nó raiz inválido." + +msgid "Root Type:" +msgstr "Tipo da Raiz:" + msgid "2D Scene" msgstr "Cena 2D" @@ -10755,11 +12641,42 @@ msgstr "Cena 3D" msgid "User Interface" msgstr "Interface de Usuário" +msgid "Scene Name:" +msgstr "Nome da Cena:" + +msgid "Root Name:" +msgstr "Nome da Raiz:" + +msgid "Leave empty to use scene name" +msgstr "Deixe em branco para usar o nome da cena" + +msgid "Create New Scene" +msgstr "Criar Nova Cena" + +msgid "No parent to instantiate a child at." +msgstr "Nenhum pai para instanciar um filho." + +msgid "No parent to instantiate the scenes at." +msgstr "Nenhum pai para instanciar as cenas." + msgid "Error loading scene from %s" -msgstr "Erro ao carregar cena de %s" +msgstr "Erro ao carregar a cena de %s" + +msgid "" +"Cannot instantiate the scene '%s' because the current scene exists within " +"one of its nodes." +msgstr "" +"Não é possível instanciar a cena '%s' porque a cena atual existe em um de " +"seus nós." + +msgid "Instantiate Scene(s)" +msgstr "Instanciar Cena(s)" msgid "Replace with Branch Scene" -msgstr "Substituir por cena ramo" +msgstr "Substituir com Cena-Ramo" + +msgid "Instantiate Child Scene" +msgstr "Instanciar Cena Filha" msgid "Detach Script" msgstr "Remover Script" @@ -10771,18 +12688,18 @@ msgid "Move Node In Parent" msgstr "Mover Nó no Pai" msgid "Move Nodes In Parent" -msgstr "Mover Nodes no Pai" +msgstr "Mover Nós no Pai" msgid "Duplicate Node(s)" msgstr "Duplicar Nó(s)" msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." msgstr "" -"Não é possível re-hierarquizar nós em cenas herdadas, a ordem dos nós não " -"pode ser alterada." +"Não é possível reparentear nós em cenas herdadas, a ordem dos nós não pode " +"ser alterada." msgid "Node must belong to the edited scene to become root." -msgstr "Node necessita pertencer à cena editada para se tornar raiz." +msgstr "O nó deve pertencer à cena editada para se tornar raiz." msgid "Instantiated scenes can't become root" msgstr "Cenas instanciadas não podem se tornar raiz" @@ -10800,7 +12717,7 @@ msgid "Delete the root node \"%s\"?" msgstr "Excluir o nó raiz \"%s\"?" msgid "Delete node \"%s\" and its children?" -msgstr "Deletar nó \"%s\" e seus filhos?" +msgstr "Excluir nó \"%s\" e seus filhos?" msgid "Delete node \"%s\"?" msgstr "Excluir o nó \"%s\"?" @@ -10818,14 +12735,34 @@ msgstr "" "selecionou %d nós." msgid "" +"Can't save the root node branch as an instantiated scene.\n" +"To create an editable copy of the current scene, duplicate it using the " +"FileSystem dock context menu\n" +"or create an inherited scene using Scene > New Inherited Scene... instead." +msgstr "" +"Não é possível salvar o ramo do nó raiz como uma cena instanciada.\n" +"Para criar uma cópia editável da cena atual, duplique-a usando o menu de " +"contexto no painel de Arquivos\n" +"ou crie uma cena herdada usando Cena > Nova Cena Herdada." + +msgid "" +"Can't save the branch of an already instantiated scene.\n" +"To create a variation of a scene, you can make an inherited scene based on " +"the instantiated scene using Scene > New Inherited Scene... instead." +msgstr "" +"Não é possível salvar a ramificação de uma cena já instanciada.\n" +"Para criar uma variação de uma cena, você pode criar uma cena herdada com " +"base na cena instanciada usando Cena > Nova Cena Herdada... em vez disso." + +msgid "" "Can't save a branch which is a child of an already instantiated scene.\n" "To save this branch into its own scene, open the original scene, right click " "on this branch, and select \"Save Branch as Scene\"." msgstr "" -"Não é possível salvar um branch que é filho de uma cena já instanciada.\n" +"Não é possível salvar um ramo que é filho de uma cena já instanciada.\n" "Para salvar esta ramificação em sua própria cena, abra a cena original, " -"clique com o botão direito nesta ramificação e selecione \"Salvar " -"ramificação como cena\"." +"clique com o botão direito nesta ramificação e selecione \"Salvar Ramo como " +"Cena\"." msgid "" "Can't save a branch which is part of an inherited scene.\n" @@ -10834,8 +12771,8 @@ msgid "" msgstr "" "Não é possível salvar uma ramificação que faz parte de uma cena herdada.\n" "Para salvar esta ramificação em sua própria cena, abra a cena original, " -"clique com o botão direito nesta ramificação e selecione \"Salvar " -"ramificação como cena\"." +"clique com o botão direito nesta ramificação e selecione \"Salvar Ramo como " +"Cena\"." msgid "Save New Scene As..." msgstr "Salvar Nova Cena Como..." @@ -10851,7 +12788,7 @@ msgid "" "Enabling \"Load As Placeholder\" will disable \"Editable Children\" and " "cause all properties of the node to be reverted to their default." msgstr "" -"Habilitar \"Carregar como Placeholder\" desabilitará \"Filhos Editáveis\" e " +"Habilitar \"Carregar como Substituto\" desabilitará \"Filhos Editáveis\" e " "fará que todas as propriedades do nó sejam revertidas para o padrão." msgid "Make Local" @@ -10867,23 +12804,35 @@ msgid "Disable Scene Unique Name(s)" msgstr "Desabilitar Nome(s) Único(s) de Cena" msgid "New Scene Root" -msgstr "Nova Raiz de Cena" +msgstr "Nova Cena Raiz" msgid "Create Root Node:" -msgstr "Criar nó raiz:" +msgstr "Criar Nó Raiz:" + +msgid "Switch to Favorite Nodes" +msgstr "Alternar para Nós Favoritos" msgid "Other Node" msgstr "Outro Nó" +msgid "Paste From Clipboard" +msgstr "Colar da Área de Transferência" + msgid "Can't operate on nodes from a foreign scene!" msgstr "Não é possível operar em nós de uma cena externa!" msgid "Can't operate on nodes the current scene inherits from!" -msgstr "Não é possível operar em nós que a cena atual herda!" +msgstr "Incapaz de operar em nós herdados pela cena atual!" + +msgid "This operation can't be done on instantiated scenes." +msgstr "Esta operação não pode ser feita em cenas instanciadas." msgid "Attach Script" msgstr "Adicionar Script" +msgid "Set Shader" +msgstr "Definir Shader" + msgid "Cut Node(s)" msgstr "Recortar Nó(s)" @@ -10909,9 +12858,18 @@ msgstr "Erro ao salvar cena." msgid "Error duplicating scene to save it." msgstr "Erro duplicando cena ao salvar." +msgid "Instantiate Script" +msgstr "Instanciar Script" + msgid "Sub-Resources" msgstr "Sub-Recursos" +msgid "Revoke Unique Name" +msgstr "Revogar Nome Único" + +msgid "Access as Unique Name" +msgstr "Acesso como Nome Único" + msgid "Clear Inheritance" msgstr "Limpar Herança" @@ -10921,16 +12879,35 @@ msgstr "Filhos Editáveis" msgid "Load As Placeholder" msgstr "Carregar como Substituto" +msgid "Auto Expand to Selected" +msgstr "Auto Expandir Selecionados" + msgid "Filters" msgstr "Filtros" +msgid "Filter by Type" +msgstr "Filtrar por Tipo" + +msgid "Filter by Group" +msgstr "Filtrar por Grupo" + +msgid "Selects all Nodes of the given type." +msgstr "Seleciona todos os Nós do tipo fornecido." + +msgid "" +"Selects all Nodes belonging to the given group.\n" +"If empty, selects any Node belonging to any group." +msgstr "" +"Seleciona todos os Nós pertencentes ao grupo determinado.\n" +"Se vazio, seleciona qualquer nó pertencente a qualquer grupo." + msgid "" "Cannot attach a script: there are no languages registered.\n" "This is probably because this editor was built with all language modules " "disabled." msgstr "" -"Não pode associar um script: Não existem linguagens registradas.\n" -"É provável que o editor tenha sido construido com todos os módulos de " +"Não é possível anexar um script: não há linguagens registradas.\n" +"Provavelmente porque este editor foi compilado com todos os módulos de " "linguagem desabilitados." msgid "Can't paste root node into the same scene." @@ -10942,20 +12919,33 @@ msgstr "Colar Nó(s)" msgid "Add Child Node" msgstr "Adicionar Nó Filho" +msgid "Expand/Collapse Branch" +msgstr "Expandir/Recolher Ramos" + msgid "Change Type" -msgstr "Mudar Tipo" +msgstr "Alterar Tipo" msgid "Reparent to New Node" msgstr "Reparentar para Novo Nó" msgid "Make Scene Root" -msgstr "Fazer Raiz de Cena" +msgstr "Tornar Cena Raiz" + +msgid "Toggle Access as Unique Name" +msgstr "Alternar Acesso como Nome Único" msgid "Delete (No Confirm)" msgstr "Excluir (Sem Confirmação)" msgid "Add/Create a New Node." -msgstr "Adicionar/Criar um Novo Nó." +msgstr "Adicionar/Criar Novo Nó." + +msgid "" +"Instantiate a scene file as a Node. Creates an inherited scene if no root " +"node exists." +msgstr "" +"Instancia um arquivo de cena como Nó. Cria uma cena herdada se não existir " +"nenhum nó raiz." msgid "Attach a new or existing script to the selected node." msgstr "Adicionar um novo script, ou um já existente, para o nó selecionado." @@ -10963,6 +12953,9 @@ msgstr "Adicionar um novo script, ou um já existente, para o nó selecionado." msgid "Detach the script from the selected node." msgstr "Remove o script do nó selecionado." +msgid "Extra scene options." +msgstr "Opções extras de cena." + msgid "Remote" msgstr "Remoto" @@ -10991,7 +12984,7 @@ msgid "Disable Scene Unique Name" msgstr "Desabilitar Nome Único de Cena" msgid "(Connecting From)" -msgstr "(Conectando de)" +msgstr "(Conectando De)" msgid "Node configuration warning:" msgstr "Aviso de configuração de nó:" @@ -11002,7 +12995,7 @@ msgid "" "Click to disable this." msgstr "" "Este nó pode ser acessado em qualquer lugar na cena adicionando o prefixo " -"'%s' em um node path.\n" +"'%s' em um caminho de nó.\n" "Clique para desabilitar esta funcionalidade." msgid "Node has one connection." @@ -11018,6 +13011,12 @@ msgstr[1] "O nó está nos seguintes grupos:" msgid "Click to show signals dock." msgstr "Clique para mostrar o painel de sinais." +msgid "This script is currently running in the editor." +msgstr "Este script está sendo executado no editor." + +msgid "This script is a custom type." +msgstr "Este script é um tipo personalizado." + msgid "Open Script:" msgstr "Abrir Script:" @@ -11029,12 +13028,22 @@ msgstr "" "Clique para destravar." msgid "" +"Children are not selectable.\n" +"Click to make them selectable." +msgstr "" +"Os filhos não são selecionáveis.\n" +"Clique para torná-los selecionáveis." + +msgid "" "AnimationPlayer is pinned.\n" "Click to unpin." msgstr "" "AnimationPlayer está marcado.\n" "Clique para desmarcar." +msgid "\"%s\" is not a known filter." +msgstr "\"%s\" não é um filtro conhecido." + msgid "Invalid node name, the following characters are not allowed:" msgstr "Nome de nó inválido, os seguintes caracteres não são permitidos:" @@ -11045,7 +13054,7 @@ msgid "Rename Node" msgstr "Renomear Nó" msgid "Scene Tree (Nodes):" -msgstr "Árvore de Cena (Nodes):" +msgstr "Árvore de Cena (Nós):" msgid "Node Configuration Warning!" msgstr "Aviso de Configuração de Nó!" @@ -11059,9 +13068,15 @@ msgstr "Caminho vazio." msgid "Filename is empty." msgstr "O nome do arquivo está vazio." +msgid "Filename is invalid." +msgstr "O nome do arquivo é inválido." + msgid "Path is not local." msgstr "O caminho não é local." +msgid "Base path is invalid." +msgstr "O caminho base é inválido." + msgid "A directory with the same name exists." msgstr "Existe um diretório com o mesmo nome." @@ -11071,11 +13086,14 @@ msgstr "O arquivo não existe." msgid "Invalid extension." msgstr "Extensão inválida." +msgid "Extension doesn't match chosen language." +msgstr "A extensão não corresponde a linguagem escolhida." + msgid "Template:" msgstr "Modelo:" msgid "Error - Could not create script in filesystem." -msgstr "Erro - Não se pôde criar o script no sistema de arquivos." +msgstr "Erro - Não foi possível criar script no sistema de arquivos." msgid "Error loading script from %s" msgstr "Erro ao carregar script de %s" @@ -11086,8 +13104,14 @@ msgstr "Abrir Script / Escolher Local" msgid "Open Script" msgstr "Abrir script" +msgid "Inherit %s" +msgstr "Herda %s" + +msgid "Inherit" +msgstr "Herda" + msgid "File exists, it will be reused." -msgstr "O arquivo existe, será reaproveitado." +msgstr "O arquivo já existe, será reaproveitado." msgid "Invalid path." msgstr "Caminho inválido." @@ -11096,7 +13120,7 @@ msgid "Invalid class name." msgstr "Nome da classe inválido." msgid "Invalid inherited parent name or path." -msgstr "Nome ou caminho do pai herdado inválido." +msgstr "Nome ou caminho pai herdado inválido." msgid "Script path/name is valid." msgstr "O caminho/nome do script é válido." @@ -11113,12 +13137,21 @@ msgstr "Script embutido (no arquivo da cena)." msgid "Will create a new script file." msgstr "Criará novo arquivo de script." +msgid "Using existing script file." +msgstr "Usando arquivo de script existente." + msgid "Will load an existing script file." msgstr "Carregará arquivo de script existente." msgid "Script file already exists." msgstr "O arquivo de script já existe." +msgid "No suitable template." +msgstr "Nenhum modelo adequado." + +msgid "Empty" +msgstr "Vazio" + msgid "" "Note: Built-in scripts have some limitations and can't be edited using an " "external editor." @@ -11142,16 +13175,67 @@ msgstr "Script Embutido:" msgid "Attach Node Script" msgstr "Adicionar Script ao Nó" +msgid "Error - Could not create shader include in filesystem." +msgstr "" +"Erro - Não foi possível criar a inclusão do shader no sistema de arquivos." + +msgid "Error - Could not create shader in filesystem." +msgstr "Erro - Não foi possível criar o shader no sistema de arquivos." + +msgid "Error loading shader from %s" +msgstr "Erro ao carregar shader em %s" + +msgid "Open Shader / Choose Location" +msgstr "Abrir Shader/ Escolher Local" + msgid "Invalid base path." msgstr "Caminho base inválido." msgid "Wrong extension chosen." msgstr "Extensão errada escolhida." +msgid "Shader path/name is valid." +msgstr "O caminho/nome do shader é válido." + +msgid "Built-in shader (into scene file)." +msgstr "Shader embutido (no arquivo de cena)." + +msgid "Will create a new shader file." +msgstr "Criará novo arquivo de shader." + +msgid "Will load an existing shader file." +msgstr "Carregará arquivo de shader existente." + +msgid "Shader file already exists." +msgstr "O arquivo de shader já existe." + msgid "Note: Built-in shaders can't be edited using an external editor." msgstr "" -"Observação: Shaders integrados não podem ser editados usando um editor " -"externo." +"Nota: Shaders integrados não podem ser editados usando um editor externo." + +msgid "Mode:" +msgstr "Modo:" + +msgid "Built-in Shader:" +msgstr "Shader Embutido:" + +msgid "Create Shader" +msgstr "Criar Shader" + +msgid "Set Shader Global Variable" +msgstr "Definir Variável Global Shader" + +msgid "Please specify a valid shader uniform identifier name." +msgstr "Especifique um nome de identificador uniforme de shader válido." + +msgid "Global shader parameter '%s' already exists'" +msgstr "O parâmetro de shader global '%s' já existe'" + +msgid "Name '%s' is a reserved shader language keyword." +msgstr "O nome '%s' é uma palavra-chave reservada da linguagem de shader." + +msgid "Add Shader Global Parameter" +msgstr "Adicionar Parâmetro Global Shader" msgid "Change Cylinder Radius" msgstr "Alterar Raio do Cilindro" @@ -11194,6 +13278,65 @@ msgstr "Formato de dicionário de instância inválido (script inválido em @pat msgid "Invalid instance dictionary (invalid subclasses)" msgstr "Dicionário de instância inválido (subclasses inválidas)" +msgid "Value of type '%s' can't provide a length." +msgstr "O valor do tipo '%s' não pode fornecer um comprimento." + +msgid "" +"Invalid type argument for is_instance_of(), use TYPE_* constants for built-" +"in types." +msgstr "" +"Argumento de tipo inválido para is_instance_of(), use constantes TYPE_* para " +"tipos integrados." + +msgid "Type argument is a previously freed instance." +msgstr "O argumento de tipo é uma instância previamente liberada." + +msgid "" +"Invalid type argument for is_instance_of(), should be a TYPE_* constant, a " +"class or a script." +msgstr "" +"Argumento de tipo inválido para is_instance_of(), deve ser uma constante " +"TYPE_*, uma classe ou um script." + +msgid "Value argument is a previously freed instance." +msgstr "O argumento de valor é uma instância liberada anteriormente." + +msgid "Export Scene to glTF 2.0 File" +msgstr "Exportar Cena para Arquivo glTF 2.0" + +msgid "glTF 2.0 Scene..." +msgstr "Cena glTF 2.0..." + +msgid "Path does not contain a Blender installation." +msgstr "O caminho não contém uma instalação do Blender." + +msgid "Can't execute Blender binary." +msgstr "Não é possível executar o binário do Blender." + +msgid "Unexpected --version output from Blender binary at: %s" +msgstr "Saída --version inesperada do binário do Blender em: %s" + +msgid "Path supplied lacks a Blender binary." +msgstr "O caminho fornecido carece de um binário do Blender." + +msgid "This Blender installation is too old for this importer (not 3.0+)." +msgstr "" +"Esta instalação do Blender é muito antiga para este importador (não 3.0+)." + +msgid "This Blender installation is too new for this importer (not 3.x)." +msgstr "" +"Esta instalação do Blender é muito nova para este importador (não 3.x)." + +msgid "Path to Blender installation is valid (Autodetected)." +msgstr "" +"O caminho para a instalação do Blender é válido (detectado automaticamente)." + +msgid "Path to Blender installation is valid." +msgstr "O caminho para a instalação do Blender é válido." + +msgid "Configure Blender Importer" +msgstr "Configurar Importador do Blender" + msgid "" "Blender 3.0+ is required to import '.blend' files.\n" "Please provide a valid path to a Blender installation:" @@ -11201,6 +13344,9 @@ msgstr "" "O Blender 3.0+ é necessário para importar arquivos '.blend'.\n" "Forneça um caminho válido para uma instalação do Blender:" +msgid "Disable '.blend' Import" +msgstr "Desativar Importação '.blend'" + msgid "" "Disables Blender '.blend' files import for this project. Can be re-enabled " "in Project Settings." @@ -11230,19 +13376,19 @@ msgid "Floor:" msgstr "Chão:" msgid "GridMap Delete Selection" -msgstr "Excluir Seleção do Gridap" +msgstr "Excluir Seleção do Mapa de Grade" msgid "GridMap Fill Selection" -msgstr "Seleção de preenchimento GridMap" +msgstr "Seleção de Preenchimento do Mapa de Grade" msgid "GridMap Paste Selection" -msgstr "Colar Seleção do GridMap" +msgstr "Colar Seleção do Mapa de Grade" msgid "GridMap Paint" -msgstr "Pintura GridMap" +msgstr "Pintar Mapa de Grade" msgid "GridMap Selection" -msgstr "Seleção Do GridMap" +msgstr "Seleção do Mapa de Grade" msgid "Grid Map" msgstr "Mapa de Grade" @@ -11251,7 +13397,7 @@ msgid "Edit X Axis" msgstr "Editar Eixo X" msgid "Edit Y Axis" -msgstr "Eduitar Eixo Y" +msgstr "Editar Eixo Y" msgid "Edit Z Axis" msgstr "Editar Eixo Z" @@ -11281,25 +13427,56 @@ msgid "Paste Selects" msgstr "Colar Selecionados" msgid "Cut Selection" -msgstr "Seleção de corte" +msgstr "Recortar Seleção" msgid "Clear Selection" msgstr "Limpar Seleção" msgid "Fill Selection" -msgstr "Seleção de preenchimento" +msgstr "Preencher Seleção" msgid "GridMap Settings" -msgstr "Configurações do GridMap" +msgstr "Configurações do Mapa de Grade" msgid "Pick Distance:" msgstr "Escolha uma Distância:" +msgid "Filter Meshes" +msgstr "Filtrar Malhas" + msgid "Give a MeshLibrary resource to this GridMap to use its meshes." -msgstr "Atribua um recurso MeshLibrary a este GridMap para usar seus meshes." +msgstr "" +"Atribua um recurso MeshLibrary a este Mapa de Grade para usar suas malhas." + +msgid "Determining optimal atlas size" +msgstr "Determinando o tamanho ideal do atlas" + +msgid "Blitting albedo and emission" +msgstr "Blitting albedo e emissão" + +msgid "Plotting mesh into acceleration structure %d/%d" +msgstr "Plotando a malha na estrutura de aceleração %d/%d" + +msgid "Optimizing acceleration structure" +msgstr "Otimizando a estrutura de aceleração" msgid "Begin Bake" -msgstr "Iniciar Bake" +msgstr "Iniciar Geração" + +msgid "Preparing shaders" +msgstr "Preparando shaders" + +msgid "Un-occluding geometry" +msgstr "Geometria não oclusiva" + +msgid "Plot direct lighting" +msgstr "Plotar iluminação direta" + +msgid "Integrate indirect lighting" +msgstr "Integrar iluminação indireta" + +msgid "Bounce %d/%d: Integrate indirect lighting %d%%" +msgstr "Ressaltando %d/%d: Integrando iluminação indireta %d%%" msgid "Baking lightprobes" msgstr "Gerando sondas de iluminação" @@ -11307,8 +13484,14 @@ msgstr "Gerando sondas de iluminação" msgid "Integrating light probes %d%%" msgstr "Integrando sondas de iluminação %d%%" +msgid "Denoising" +msgstr "Eliminando ruído" + +msgid "Retrieving textures" +msgstr "Recuperando texturas" + msgid "Class name can't be a reserved keyword" -msgstr "Nome da classe não pode ser uma palavra reservada" +msgstr "O nome da classe não pode ser uma palavra-chave reservada" msgid "Build Solution" msgstr "Construir Solução" @@ -11316,15 +13499,60 @@ msgstr "Construir Solução" msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Não há bytes suficientes para decodificar, ou o formato é inválido." +msgid "" +"Unable to load .NET runtime, no compatible version was found.\n" +"Attempting to create/edit a project will lead to a crash.\n" +"\n" +"Please install the .NET SDK 6.0 or later from https://dotnet.microsoft.com/" +"en-us/download and restart Godot." +msgstr "" +"Não foi possível carregar o tempo de execução do .NET, nenhuma versão " +"compatível foi encontrada.\n" +"A tentativa de criar/editar um projeto resultará em falha.\n" +"\n" +"Instale o .NET SDK 6.0 ou posterior em https://dotnet.microsoft.com/en-us/" +"download e reinicie o Godot." + +msgid "Failed to load .NET runtime" +msgstr "Falha ao carregar tempo de execução .NET" + +msgid "" +"Unable to load .NET runtime, specifically hostfxr.\n" +"Attempting to create/edit a project will lead to a crash.\n" +"\n" +"Please install the .NET SDK 6.0 or later from https://dotnet.microsoft.com/" +"en-us/download and restart Godot." +msgstr "" +"Não é possível carregar o tempo de execução do .NET, especificamente " +"hostfxr.\n" +"A tentativa de criar/editar um projeto resultará em falha.\n" +"\n" +"Instale o .NET SDK 6.0 ou posterior em https://dotnet.microsoft.com/en-us/" +"download e reinicie o Godot." + +msgid "%d (%s)" +msgstr "%d (%s)" + msgid "%s/s" msgstr "%s/s" +msgctxt "Network" +msgid "Down" +msgstr "Desconectado" + +msgctxt "Network" +msgid "Up" +msgstr "Conectado" + msgid "Incoming RPC" msgstr "RPC recebido" msgid "Outgoing RPC" msgstr "RPC enviado" +msgid "Synchronizer" +msgstr "Sincronizar" + msgid "Config" msgstr "Configuração" @@ -11335,18 +13563,105 @@ msgid "Size" msgstr "Tamanho" msgid "Network Profiler" -msgstr "Perfis de rede" +msgstr "Analisador de Rede" + +msgid "Replication" +msgstr "Replicação" + +msgid "Select a replicator node in order to pick a property to add to it." +msgstr "" +"Selecione um nó replicador para escolher uma propriedade para adicionar a " +"ele." + +msgid "Not possible to add a new property to synchronize without a root." +msgstr "" +"Não é possível adicionar uma nova propriedade para sincronizar sem uma raiz." + +msgid "Property is already being synchronized." +msgstr "A propriedade já está sendo sincronizada." + +msgid "Add property to synchronizer" +msgstr "Adicionar propriedade ao sincronizador" + +msgid "Pick a node to synchronize:" +msgstr "Escolha um nó para sincronizar:" + +msgid "Add property to sync..." +msgstr "Adicionar propriedade para sincronizar..." + +msgid "Add from path" +msgstr "Adicionar do caminho" + +msgid "Spawn" +msgstr "Gerar" + +msgid "" +"Add properties using the buttons above or\n" +"drag them them from the inspector and drop them here." +msgstr "" +"Adicione propriedades usando os botões acima ou\n" +"arraste-as do inspetor e solte-as aqui." + +msgid "Please select a MultiplayerSynchronizer first." +msgstr "Por favor, selecione um MultiplayerSynchronizer primeiro." + +msgid "The MultiplayerSynchronizer needs a root path." +msgstr "O MultiplayerSynchronizer precisa de um caminho raiz." + +msgid "Set spawn property" +msgstr "Definir propriedade de geração" + +msgid "Set sync property" +msgstr "Definir propriedade de sincronização" msgid "Delete Property?" msgstr "Excluir Propriedade?" +msgid "Remove Property" +msgstr "Remover Propriedade" + +msgid "" +"A valid NodePath must be set in the \"Spawn Path\" property in order for " +"MultiplayerSpawner to be able to spawn Nodes." +msgstr "" +"Um NodePath válido deve ser definido na propriedade \"Caminho de Geração\" " +"para que MultiplayerSpawner possa gerar nós." + +msgid "" +"A valid NodePath must be set in the \"Root Path\" property in order for " +"MultiplayerSynchronizer to be able to synchronize properties." +msgstr "" +"Um NodePath válido deve ser definido na propriedade \"Caminho Raiz\" para " +"que o MultiplayerSynchronizer possa sincronizar as propriedades." + msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" -"Um recurso do tipo NavigationMesh deve ser definido ou criado para que este " -"nó funcione." +"Um recurso NavigationMesh deve ser definido ou criado para que este nó " +"funcione." + +msgid "" +"Cannot generate navigation mesh because it does not belong to the edited " +"scene. Make it unique first." +msgstr "" +"Não é possível gerar malha de navegação porque não pertence à cena editada. " +"Torne-a única primeiro." + +msgid "" +"Cannot generate navigation mesh because it belongs to a resource which was " +"imported." +msgstr "" +"Não é possível gerar malha de navegação porque pertence a um recurso que foi " +"importado." + +msgid "" +"Cannot generate navigation mesh because the resource was imported from " +"another type." +msgstr "" +"Não é possível gerar a malha de navegação porque o recurso foi importado de " +"outro tipo." msgid "Bake NavMesh" -msgstr "Bake NavMesh" +msgstr "Gerar Malha de Navegação" msgid "Clear the navigation mesh." msgstr "Apagar a malha de navegação." @@ -11379,7 +13694,7 @@ msgid "Creating polymesh..." msgstr "Criando polimalha..." msgid "Converting to native navigation mesh..." -msgstr "Convertando para malha de navegação nativa..." +msgstr "Convertendo para malha de navegação nativa..." msgid "Navigation Mesh Generator Setup:" msgstr "Configuração do Gerador de Malha de Navegação:" @@ -11390,6 +13705,105 @@ msgstr "Analisando Geometria..." msgid "Done!" msgstr "Pronto!" +msgid "Toggles whether the noise preview is computed in 3D space." +msgstr "Alterna se a visualização do ruído é computada no espaço 3D." + +msgid "Rename Action" +msgstr "Renomear Ação" + +msgid "Rename Actions Localized name" +msgstr "Renomear Nome Das Ações Traduzidas" + +msgid "Change Action Type" +msgstr "Alterar Tipo de Ação" + +msgid "Remove action" +msgstr "Remover Ação" + +msgid "Add action set" +msgstr "Adicionar conjunto de ações" + +msgid "Remove action set" +msgstr "Remover conjunto de ações" + +msgid "Add interaction profile" +msgstr "Adicionar perfil de interação" + +msgid "Error saving file %s: %s" +msgstr "Erro ao salvar arquivo %s: %s" + +msgid "Error loading %s: %s." +msgstr "Erro ao carregar %s: %s." + +msgid "OpenXR Action map:" +msgstr "Mapa de Ação do OpenXR:" + +msgid "Remove interaction profile" +msgstr "Remover perfil de interação" + +msgid "Action Map" +msgstr "Mapa de Ação" + +msgid "Add Action Set" +msgstr "Adicionar Conjunto de Ações" + +msgid "Add an action set." +msgstr "Adicionar um conjunto de ações." + +msgid "Add profile" +msgstr "Adicionar Perfil" + +msgid "Add an interaction profile." +msgstr "Adicione um perfil de interação." + +msgid "Save this OpenXR action map." +msgstr "Salve este mapa de ação OpenXR." + +msgid "Reset to default OpenXR action map." +msgstr "Redefinir para o mapa de ação OpenXR padrão." + +msgid "Action Sets" +msgstr "Conjuntos de Ações" + +msgid "Rename Action Set" +msgstr "Renomear Conjunto de Ações" + +msgid "Rename Action Sets Localized name" +msgstr "Renomear Conjuntos de Ações de Nome Localizado" + +msgid "Change Action Sets priority" +msgstr "Alterar prioridade do Conjunto de Ações" + +msgid "Add action" +msgstr "Adicionar Ação" + +msgid "Delete action" +msgstr "Excluir Ação" + +msgid "OpenXR Action Map" +msgstr "Mapa de Ação do OpenXR" + +msgid "Remove action from interaction profile" +msgstr "Remover ação do perfil de interação" + +msgid "Add binding" +msgstr "Adicionar Vínculo" + +msgid "Remove binding" +msgstr "Remover Vínculo" + +msgid "Pose" +msgstr "Postura" + +msgid "Haptic" +msgstr "Háptico" + +msgid "Unknown" +msgstr "Desconhecido" + +msgid "Select an action" +msgstr "Selecione uma ação" + msgid "Package name is missing." msgstr "Nome do pacote está faltando." @@ -11409,7 +13823,14 @@ msgstr "" "O caractere '%s' não pode ser o primeiro caractere em um segmento de pacote." msgid "The package must have at least one '.' separator." -msgstr "O pacote deve ter pelo menos um separador '.'." +msgstr "O pacote deve ter pelo menos um '.' separador." + +msgid "" +"The project name does not meet the requirement for the package name format. " +"Please explicitly specify the package name." +msgstr "" +"O nome do projeto não atende ao requisito para o formato do nome do pacote. " +"Especifique explicitamente o nome do pacote." msgid "Select device from the list" msgstr "Selecione um dispositivo da lista" @@ -11446,8 +13867,8 @@ msgid "" "Either Debug Keystore, Debug User AND Debug Password settings must be " "configured OR none of them." msgstr "" -"As configurações Debug Keystore, Debug User E Debug Password devem ser " -"configuradas OU nenhuma delas." +"As configurações Keystore de Depuração, Usuário de Depuração e Senha de " +"Depuração devem ser configuradas OU nenhum deles." msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" @@ -11458,13 +13879,12 @@ msgid "" "Either Release Keystore, Release User AND Release Password settings must be " "configured OR none of them." msgstr "" -"As configurações de Release Keystore, Release User AND Release Password " -"devem ser definidas OU nenhuma delas." +"As configurações Versão de Keystore, Usuário da Versão e Senha da Versão " +"devem ser configuradas OU nenhum deles." msgid "Release keystore incorrectly configured in the export preset." msgstr "" -"Keystore de liberação incorretamente configurada na predefinição de " -"exportação." +"Keystore de versão incorretamente configurada na predefinição de exportação." msgid "A valid Android SDK path is required in Editor Settings." msgstr "Um caminho Android SDK é necessário nas Configurações do Editor." @@ -11473,11 +13893,11 @@ msgid "Invalid Android SDK path in Editor Settings." msgstr "Caminho do Android SDK inválido nas Configurações do Editor." msgid "Missing 'platform-tools' directory!" -msgstr "Diretório 'ferramentas-da-plataforma' ausente!" +msgstr "Diretório 'platform-tools' ausente!" msgid "Unable to find Android SDK platform-tools' adb command." msgstr "" -"Não foi possível encontrar o comando adb nas ferramentas do Android SDK." +"Não foi possível encontrar o comando adb da 'platform-tools' do Android SDK." msgid "Please check in the Android SDK directory specified in Editor Settings." msgstr "" @@ -11489,8 +13909,8 @@ msgstr "Diretório 'build-tools' ausente!" msgid "Unable to find Android SDK build-tools' apksigner command." msgstr "" -"Não foi possível encontrar o comando apksigner nas ferramentas de build do " -"Android SDK." +"Não foi possível encontrar o comando apksigner na 'build-tools' do Android " +"SDK." msgid "Invalid public key for APK expansion." msgstr "Chave pública inválida para expansão do APK." @@ -11498,8 +13918,27 @@ msgstr "Chave pública inválida para expansão do APK." msgid "Invalid package name:" msgstr "Nome de pacote inválido:" +msgid "\"Use Gradle Build\" must be enabled to use the plugins." +msgstr "\"Usar Compilador Gradle\" deve estar ativado para usar os plug-ins." + +msgid "OpenXR requires \"Use Gradle Build\" to be enabled" +msgstr "O OpenXR requer que \"Usar Compilador Gradle\" esteja ativado" + +msgid "\"Hand Tracking\" is only valid when \"XR Mode\" is \"OpenXR\"." +msgstr "\"Hand Tracking\" só é válido quando \"XR Mode\" for \"OpenXR\"." + msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"." -msgstr "\"Passthrough\" só é válido quando o \"XR Mode\" é \"OpenXR\"." +msgstr "\"Passthrough\" só é válido quando o \"XR Mode\" for \"OpenXR\"." + +msgid "\"Export AAB\" is only valid when \"Use Gradle Build\" is enabled." +msgstr "" +"\"Exportar AAB\" só é válido quando \"Usar Compilador Gradle\" está ativado." + +msgid "" +"\"Min SDK\" can only be overridden when \"Use Gradle Build\" is enabled." +msgstr "" +"\"Min SDK\" só pode ser substituído quando \"Usar Compilador Gradle\" está " +"ativado." msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid." msgstr "" @@ -11514,27 +13953,52 @@ msgstr "" "biblioteca Godot." msgid "" +"\"Target SDK\" can only be overridden when \"Use Gradle Build\" is enabled." +msgstr "" +"\"SDK Alvo\" só pode ser substituído quando \"Usar Compilador Gradle\" está " +"ativado." + +msgid "" "\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid." msgstr "" -"\"Target SDK\" deve ser um número inteiro válido, mas obteve \"%s\", que é " +"\"SDK Alvo\" deve ser um número inteiro válido, mas obteve \"%s\", que é " "inválido." msgid "" "\"Target SDK\" %d is higher than the default version %d. This may work, but " "wasn't tested and may be unstable." msgstr "" -"\"Target SDK\" %d é superior à versão padrão %d. Isso pode funcionar, mas " -"não foi testado e pode ser instável." +"\"SDK Alvo\" %d é superior à versão padrão %d. Isso pode funcionar, mas não " +"foi testado e pode ser instável." msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version." msgstr "" -"Versão do \"Target SDK\" precisa ser igual ou maior que a versão do \"Min " +"Versão do \"SDK Alvo\" precisa ser igual ou maior que a versão do \"Min " "SDK\"." +msgid "" +"The \"%s\" renderer is designed for Desktop devices, and is not suitable for " +"Android devices." +msgstr "" +"O renderizador \"%s\" foi projetado para dispositivos Desktop e não é " +"adequado para dispositivos Android." + +msgid "\"Min SDK\" should be greater or equal to %d for the \"%s\" renderer." +msgstr "\"Min SDK\" deve ser maior ou igual a %d para o renderizador \"%s\"." + msgid "Code Signing" msgstr "Assinatura de Código" msgid "" +"All 'apksigner' tools located in Android SDK 'build-tools' directory failed " +"to execute. Please check that you have the correct version installed for " +"your target sdk version. The resulting %s is unsigned." +msgstr "" +"Todas as ferramentas 'apksigner' localizadas no diretório 'build-tools' do " +"Android SDK não foram executadas. Verifique se você tem a versão correta " +"instalada para a versão do SDK de destino. O %s resultante não é assinado." + +msgid "" "'apksigner' could not be found. Please check that the command is available " "in the Android SDK build-tools directory. The resulting %s is unsigned." msgstr "" @@ -11587,12 +14051,19 @@ msgid "Unsupported export format!" msgstr "Formato de exportação não suportado!" msgid "" +"Trying to build from a gradle built template, but no version info for it " +"exists. Please reinstall from the 'Project' menu." +msgstr "" +"Tentando compilar a partir de um modelo gradle pronto, mas não existe " +"nenhuma informação de versão para ele. Reinstale a partir do menu 'Projeto'." + +msgid "" "Android build version mismatch: Template installed: %s, Godot version: %s. " "Please reinstall Android build template from 'Project' menu." msgstr "" -"Diferença na versão da build do Android: Modelo instalado: %s, Versão do " -"Godot: %s. Por favor reinstale o modelo de compilação do Android pelo menu " -"'Projeto'." +"Diferença na versão da compilação do Android: Modelo instalado: %s, Versão " +"do Godot: %s. Por favor reinstale o modelo de compilação do Android pelo " +"menu 'Projeto'." msgid "" "Unable to overwrite res://android/build/res/*.xml files with project name." @@ -11666,14 +14137,37 @@ msgid "Prepare Templates" msgstr "Preparando Modelos" msgid "Export template not found." -msgstr "Template exportado não encontrado." +msgstr "Modelo de exportado não encontrado." + +msgid "Code signing failed, see editor log for details." +msgstr "" +"A assinatura do código falhou, consulte o log do editor para obter detalhes." + +msgid "Xcode Build" +msgstr "Compilador Xcode" + +msgid "Xcode project build failed, see editor log for details." +msgstr "" +"A compilação do projeto Xcode falhou, consulte o log do editor para obter " +"detalhes." + +msgid ".ipa export failed, see editor log for details." +msgstr "" +"A exportação de .ipa falhou, consulte o log do editor para obter detalhes." + +msgid "" +".ipa can only be built on macOS. Leaving Xcode project without building the " +"package." +msgstr "" +".ipa só pode ser criado no macOS. Saindo do projeto Xcode sem compilar o " +"pacote." msgid "App Store Team ID not specified - cannot configure the project." msgstr "" "App Store Team ID não especificado - não é possível configurar o projeto." msgid "Invalid Identifier:" -msgstr "O nome não é um identificador válido:" +msgstr "Identificador Inválido:" msgid "Identifier is missing." msgstr "Identificador está ausente." @@ -11681,15 +14175,81 @@ msgstr "Identificador está ausente." msgid "The character '%s' is not allowed in Identifier." msgstr "O caractere '%s' não é permitido no identificador." +msgid "Debug Script Export" +msgstr "Exportar Script de Depuração" + +msgid "Could not open file \"%s\"." +msgstr "Não foi possível abrir o arquivo \"%s\"." + +msgid "Could not create console script." +msgstr "Não foi possível criar o script do console." + +msgid "Failed to open executable file \"%s\"." +msgstr "Falha ao abrir o arquivo executável \"%s\"." + +msgid "Executable file header corrupted." +msgstr "Cabeçalho do arquivo executável corrompido." + +msgid "32-bit executables cannot have embedded data >= 4 GiB." +msgstr "Executáveis de 32 bits não podem ter dados incorporados >= 4 GiB." + msgid "Executable \"pck\" section not found." msgstr "Seção executável \"pck\" não encontrada." +msgid "Stop and uninstall" +msgstr "Parar e desinstalar" + +msgid "Run on remote Linux/BSD system" +msgstr "Executar no sistema Linux/BSD remoto" + +msgid "Stop and uninstall running project from the remote system" +msgstr "Pare e desinstale o projeto em execução do sistema remoto" + +msgid "Run exported project on remote Linux/BSD system" +msgstr "Execute o projeto exportado no sistema Linux/BSD remoto" + +msgid "Running..." +msgstr "Executando..." + +msgid "Could not create temp directory:" +msgstr "Não foi possível criar o diretório temporário:" + +msgid "Exporting project..." +msgstr "Exportando projeto…" + +msgid "Creating temporary directory..." +msgstr "Criando diretório temporário..." + +msgid "Uploading archive..." +msgstr "Enviando arquivo..." + +msgid "Uploading scripts..." +msgstr "Enviando scripts..." + +msgid "Starting project..." +msgstr "Iniciando projeto…" + msgid "Can't get filesystem access." -msgstr "Não conseguiu acesso ao sistema de arquivos." +msgstr "Não foi possível obter acesso ao sistema de arquivos." + +msgid "Failed to get Info.plist hash." +msgstr "Falha ao obter o hash de Info.plist." + +msgid "Invalid Info.plist, no exe name." +msgstr "Info.plist inválido, sem nome de exe." + +msgid "Invalid Info.plist, no bundle id." +msgstr "Info.plist inválido, sem ID de pacote." + +msgid "Invalid Info.plist, can't load." +msgstr "Info.plist inválido, não pode ser carregado." msgid "Failed to create \"%s\" subfolder." msgstr "Falha ao criar sub-pasta \"%s\"." +msgid "Failed to extract thin binary." +msgstr "Falha ao extrair o binário fino." + msgid "Invalid binary format." msgstr "Formato de binário inválido." @@ -11699,12 +14259,27 @@ msgstr "Já assinado!" msgid "Failed to process nested resources." msgstr "Falha ao processar recursos aninhados." +msgid "Failed to create _CodeSignature subfolder." +msgstr "Falha ao criar a subpasta _CodeSignature." + +msgid "Failed to get CodeResources hash." +msgstr "Falha ao obter o hash CodeResources." + +msgid "Invalid entitlements file." +msgstr "Arquivo de direitos inválido." + msgid "Invalid executable file." msgstr "Arquivo executável inválido." msgid "Can't resize signature load command." msgstr "Não é possível redimensionar o comando de carregamento de assinatura." +msgid "Failed to create fat binary." +msgstr "Falha ao criar binário gordo." + +msgid "Unknown bundle type." +msgstr "Tipo de pacote desconhecido." + msgid "Unknown object type." msgstr "Tipo de objeto desconhecido." @@ -11714,6 +14289,34 @@ msgstr "Criação de Ícone" msgid "Could not open icon file \"%s\"." msgstr "Não foi possível abrir o arquivo de ícone \"%s\"." +msgid "Notarization" +msgstr "Autenticação Documental (Notarização)" + +msgid "" +"rcodesign path is not set. Configure rcodesign path in the Editor Settings " +"(Export > macOS > rcodesign)." +msgstr "" +"O caminho do rcodesign não está definido. Configure o caminho rcodesign nas " +"configurações do editor (Exportar > macOS > rcodesign)." + +msgid "App Store Connect issuer ID name not specified." +msgstr "O nome do App Store Connect issuer ID não foi especificado." + +msgid "App Store Connect API key ID not specified." +msgstr "App Store Connect API key ID não foi especificado." + +msgid "Could not start rcodesign executable." +msgstr "Não foi possível iniciar o executável rcodesign." + +msgid "Notarization failed, see editor log for details." +msgstr "Notarização falhou, consulte o log do editor para obter detalhes." + +msgid "Notarization request UUID: \"%s\"" +msgstr "UUID do pedido de notarização: \"%s\"" + +msgid "The notarization process generally takes less than an hour." +msgstr "O processo de notarização geralmente leva menos de uma hora." + msgid "" "You can check progress manually by opening a Terminal and running the " "following command:" @@ -11721,19 +14324,70 @@ msgstr "" "Você pode verificar o progresso manualmente abrindo um Terminal e rodando o " "seguinte comando:" +msgid "" +"Run the following command to staple the notarization ticket to the exported " +"application (optional):" +msgstr "" +"Execute o seguinte comando para grampear o tíquete de notarização no " +"aplicativo exportado (opcional):" + +msgid "Xcode command line tools are not installed." +msgstr "As ferramentas de linha de comando do Xcode não estão instaladas." + +msgid "" +"Neither Apple ID name nor App Store Connect issuer ID name not specified." +msgstr "" +"Nem o nome do ID da Apple nem o nome do ID do emissor do App Store Connect " +"foram especificados." + +msgid "" +"Both Apple ID name and App Store Connect issuer ID name are specified, only " +"one should be set at the same time." +msgstr "" +"Tanto o nome do Apple ID quanto o nome do ID do emissor do App Store Connect " +"foram especificados, apenas um deve ser definido por vez." + +msgid "Apple ID password not specified." +msgstr "A senha do ID Apple não foi especificada." + msgid "Could not start xcrun executable." msgstr "Não foi possível iniciar o executável xcrun." msgid "" +"The notarization process generally takes less than an hour. When the process " +"is completed, you'll receive an email." +msgstr "" +"O processo de notarização geralmente leva menos de uma hora. Quando o " +"processo estiver concluído, você receberá um e-mail." + +msgid "Built-in CodeSign failed with error \"%s\"." +msgstr "O CodeSign integrado falhou com erro \"%s\"." + +msgid "Built-in CodeSign require regex module." +msgstr "O CodeSign integrado requer o módulo regex." + +msgid "" +"Xrcodesign path is not set. Configure rcodesign path in the Editor Settings " +"(Export > macOS > rcodesign)." +msgstr "" +"O caminho Xrcodesign não está definido. Configure o caminho rcodesign nas " +"configurações do editor (Exportar > macOS > rcodesign)." + +msgid "" "Could not start codesign executable, make sure Xcode command line tools are " "installed." msgstr "" -"Não foi possível iniciar o executável codesign, tenha certeza que as " -"utilidades de linha de comando do Xcode estão instaladas." +"Não foi possível iniciar o executável do codesign, verifique se as " +"ferramentas de linha de comando do Xcode estão instaladas." msgid "Cannot sign file %s." msgstr "Erro ao assinar arquivo %s." +msgid "Relative symlinks are not supported, exported \"%s\" might be broken!" +msgstr "" +"Links simbólicos relativos não são suportados, \"%s\" exportado pode estar " +"quebrado!" + msgid "DMG Creation" msgstr "Criação de DMG" @@ -11746,6 +14400,9 @@ msgstr "`hdiutil create` falhou - arquivo existe." msgid "`hdiutil create` failed." msgstr "`hdiutil create` falhou." +msgid "Creating app bundle" +msgstr "Criando pacote do aplicativo" + msgid "Could not find template app to export: \"%s\"." msgstr "" "Não foi possível encontrar o aplicativo de modelo para exportar: \"%s\"." @@ -11753,39 +14410,169 @@ msgstr "" msgid "Invalid export format." msgstr "Formato de exportação inválido." +msgid "Could not create directory: \"%s\"." +msgstr "Não foi possível criar o diretório: \"%s\"." + +msgid "Could not create directory \"%s\"." +msgstr "Não foi possível criar o diretório \"%s\"." + +msgid "" +"Relative symlinks are not supported on this OS, the exported project might " +"be broken!" +msgstr "" +"Links simbólicos relativos não são suportados neste sistema operacional, o " +"projeto exportado pode estar quebrado!" + +msgid "Could not created symlink \"%s\" -> \"%s\"." +msgstr "Não foi possível criar o link simbólico \"%s\" -> \"%s\"." + +msgid "Could not open \"%s\"." +msgstr "Não foi possível abrir \"%s\"." + +msgid "" +"Requested template binary \"%s\" not found. It might be missing from your " +"template archive." +msgstr "" +"Binário de modelo solicitado \"%s\" não encontrado. Pode estar faltando no " +"seu arquivo de modelos." + msgid "Making PKG" msgstr "Criando PKG" +msgid "Entitlements Modified" +msgstr "Direitos Modificados" + +msgid "" +"Ad-hoc signed applications require the 'Disable Library Validation' " +"entitlement to load dynamic libraries." +msgstr "" +"Aplicativos assinados ad hoc requerem o direito 'Desativar Validação de " +"Biblioteca' para carregar bibliotecas dinâmicas." + +msgid "Could not create entitlements file." +msgstr "Não foi possível criar o arquivo de direitos." + +msgid "Could not create helper entitlements file." +msgstr "Não foi possível criar o arquivo de direitos de suporte." + +msgid "Code signing bundle" +msgstr "Pacote de assinatura de código" + msgid "Making DMG" msgstr "Criando DMG" +msgid "Code signing DMG" +msgstr "Assinatura de código DMG" + msgid "Making ZIP" msgstr "Criando ZIP" +msgid "" +"Notarization requires the app to be archived first, select the DMG or ZIP " +"export format instead." +msgstr "" +"Notarização requer que o aplicativo seja arquivado primeiro, selecione o " +"formato de exportação DMG ou ZIP." + +msgid "Sending archive for notarization" +msgstr "Enviando arquivo para notarização" + msgid "Invalid bundle identifier:" msgstr "Identificador de pacote inválido:" +msgid "Notarization: Notarization with an ad-hoc signature is not supported." +msgstr "" +"Notarização: A autenticação com uma assinatura \"ad-hoc\" não é suportada." + +msgid "Notarization: Code signing is required for notarization." +msgstr "" +"Notarização: A assinatura do código é necessária para o reconhecimento." + +msgid "Notarization: Xcode command line tools are not installed." +msgstr "" +"Notarização: As ferramentas de linha de comando do Xcode não estão " +"instaladas." + +msgid "" +"Notarization: Neither Apple ID name nor App Store Connect issuer ID name not " +"specified." +msgstr "" +"Notarização: Nem o nome do ID da Apple ou o nome do ID do emissor do App " +"Store Connect foram especificados." + +msgid "" +"Notarization: Both Apple ID name and App Store Connect issuer ID name are " +"specified, only one should be set at the same time." +msgstr "" +"Notarização: Tanto o nome da Apple ID quanto o nome da ID do emissor do App " +"Store Connect foram especificados, apenas um deve ser definido por vez." + msgid "Notarization: Apple ID password not specified." msgstr "Notarização: Senha do Apple ID não especificada." +msgid "Notarization: App Store Connect API key ID not specified." +msgstr "" +"Notarização: o ID da chave de API do App Store Connect não foi especificado." + +msgid "Notarization: Apple Team ID not specified." +msgstr "Notarização: Apple Team ID não especificado." + +msgid "Notarization: App Store Connect issuer ID name not specified." +msgstr "" +"Notarização: o nome do ID do emissor do App Store Connect não foi " +"especificado." + +msgid "" +"Notarization: rcodesign path is not set. Configure rcodesign path in the " +"Editor Settings (Export > macOS > rcodesign)." +msgstr "" +"Notarização: O caminho do rcodesign não foi definido. Configure o caminho " +"rcodesign nas configurações do editor (Exportar > macOS > rcodesign)." + msgid "" "Warning: Notarization is disabled. The exported project will be blocked by " "Gatekeeper if it's downloaded from an unknown source." msgstr "" -"Aviso: Notarização está desativada. O projeto exportado será bloqueado pelo " -"Gatekeeper se for baixado de uma fonte desconhecida." +"Aviso: A notarização está desativada. O projeto exportado será bloqueado " +"pelo Gatekeeper se for baixado de uma fonte desconhecida." + +msgid "" +"Code signing is disabled. The exported project will not run on Macs with " +"enabled Gatekeeper and Apple Silicon powered Macs." +msgstr "" +"A assinatura de código está desativada. O projeto exportado não será " +"executado em Macs com Gatekeeper ativado e Macs com tecnologia Apple Silicon." + +msgid "" +"Code signing: Using ad-hoc signature. The exported project will be blocked " +"by Gatekeeper" +msgstr "" +"Assinatura de Código: Usando assinatura ad-hoc. O projeto exportado será " +"bloqueado pelo Gatekeeper" + +msgid "Code signing: Xcode command line tools are not installed." +msgstr "" +"Assinatura de Código: As ferramentas de linha de comando do Xcode não estão " +"instaladas." + +msgid "" +"Code signing: rcodesign path is not set. Configure rcodesign path in the " +"Editor Settings (Export > macOS > rcodesign)." +msgstr "" +"Assinatura de Código: O caminho do rcodesign não foi definido. Configure o " +"caminho rcodesign nas configurações do editor (Exportar > macOS > rcodesign)." msgid "" "Privacy: Microphone access is enabled, but usage description is not " "specified." msgstr "" "Privacidade: O acesso ao microfone está ativado, mas a descrição de uso não " -"é especificada." +"foi especificada." msgid "" "Privacy: Camera access is enabled, but usage description is not specified." msgstr "" -"Privacidade: O acesso à câmera está ativado, mas a descrição de uso não é " +"Privacidade: O acesso à câmera está ativado, mas a descrição de uso não foi " "especificada." msgid "" @@ -11793,30 +14580,36 @@ msgid "" "not specified." msgstr "" "Privacidade: O acesso à localização está ativado, mas a descrição de uso não " -"é especificada." +"foi especificada." msgid "" "Privacy: Address book access is enabled, but usage description is not " "specified." msgstr "" -"Privacidade: O acesso ao livro de endereços está ativado, mas a descrição de " -"uso não é especificada." +"Privacidade: O acesso aos contatos está ativado, mas a descrição de uso não " +"foi especificada." msgid "" "Privacy: Calendar access is enabled, but usage description is not specified." msgstr "" "Privacidade: O acesso ao calendário está ativado, mas a descrição de uso não " -"é especificada." +"foi especificada." msgid "" "Privacy: Photo library access is enabled, but usage description is not " "specified." msgstr "" "Privacidade: O acesso à biblioteca de fotos está ativado, mas a descrição de " -"uso não é especificada." +"uso não foi especificada." + +msgid "Run on remote macOS system" +msgstr "Executar no sistema macOS remoto" + +msgid "Run exported project on remote macOS system" +msgstr "Execute o projeto exportado no sistema macOS remoto" msgid "Invalid package short name." -msgstr "Nome de pacote inválido." +msgstr "Nome abreviado do pacote inválido." msgid "Invalid package unique name." msgstr "Nome único de pacote inválido." @@ -11834,7 +14627,7 @@ msgid "Invalid background color." msgstr "Cor de fundo inválida." msgid "Invalid Store Logo image dimensions (should be 50x50)." -msgstr "Dimensões inválidas do logo da loja (deve ser 50x50)." +msgstr "Dimensões inválidas do Logo da Loja (deve ser 50x50)." msgid "Invalid square 44x44 logo image dimensions (should be 44x44)." msgstr "Dimensões inválidas do logo quadrado de 44x44 (deve ser 44x44)." @@ -11858,7 +14651,7 @@ msgid "Could not open template for export: \"%s\"." msgstr "Não foi possível abrir o modelo para exportação: \"%s\"." msgid "Invalid export template: \"%s\"." -msgstr "Template de exportação inválido: \"%s\"." +msgstr "Modelo de exportação inválido: \"%s\"." msgid "Could not write file: \"%s\"." msgstr "Não foi possível escrever o arquivo: \"%s\"." @@ -11890,18 +14683,80 @@ msgstr "Rodar HTML exportado no navegador padrão do sistema." msgid "Resources Modification" msgstr "Modificações dos Recursos" +msgid "Icon size \"%d\" is missing." +msgstr "O tamanho do ícone \"%d\" está ausente." + msgid "Failed to rename temporary file \"%s\"." msgstr "Falha ao renomear arquivo temporário \"%s\"." +msgid "Could not find rcedit executable at \"%s\"." +msgstr "Não foi possível encontrar o executável rcedit em \"%s\"." + +msgid "Could not find wine executable at \"%s\"." +msgstr "Não foi possível encontrar o executável do wine em \"%s\"." + +msgid "Invalid icon file \"%s\"." +msgstr "Arquivo de ícone inválido \"%s\"." + +msgid "" +"Could not start rcedit executable. Configure rcedit path in the Editor " +"Settings (Export > Windows > rcedit), or disable \"Application > Modify " +"Resources\" in the export preset." +msgstr "" +"Não foi possível iniciar o executável rcedit. Configure o caminho rcedit nas " +"Configurações do Editor (Exportar > Windows > rcedit) ou desative " +"\"Aplicativo > Modificar Recursos\" na predefinição de exportação." + +msgid "rcedit failed to modify executable: %s." +msgstr "rcedit falhou ao modificar o executável: %s." + +msgid "Could not find signtool executable at \"%s\"." +msgstr "Não foi possível encontrar o executável signtool em \"%s\"." + +msgid "Could not find osslsigncode executable at \"%s\"." +msgstr "Não foi possível encontrar o executável osslsigncode em \"%s\"." + msgid "No identity found." msgstr "Nenhuma identidade encontrada." msgid "Invalid identity type." msgstr "Tipo de identidade inválido." +msgid "Invalid timestamp server." +msgstr "Servidor de carimbo de data/hora inválido." + +msgid "" +"Could not start signtool executable. Configure signtool path in the Editor " +"Settings (Export > Windows > signtool), or disable \"Codesign\" in the " +"export preset." +msgstr "" +"Não foi possível iniciar o executável signtool. Configure o caminho do " +"signtool nas Configurações do Editor (Exportar > Windows > signtool) ou " +"desative \"Codesign\" na predefinição de exportação." + +msgid "" +"Could not start osslsigncode executable. Configure signtool path in the " +"Editor Settings (Export > Windows > osslsigncode), or disable \"Codesign\" " +"in the export preset." +msgstr "" +"Não foi possível iniciar o executável osslsigncode. Configure o caminho do " +"signtool nas Configurações do Editor (Exportar > Windows > osslsigncode) ou " +"desative \"Codesign\" na predefinição de exportação." + +msgid "Signtool failed to sign executable: %s." +msgstr "Signtool falhou ao assinar o executável: %s." + msgid "Failed to remove temporary file \"%s\"." msgstr "Falha ao remover o arquivo temporário \"%s\"." +msgid "" +"The rcedit tool must be configured in the Editor Settings (Export > Windows " +"> rcedit) to change the icon or app information data." +msgstr "" +"A ferramenta rcedit deve ser configurada nas Configurações do Editor " +"(Exportar > Windows > rcedit) para alterar o ícone ou os dados de " +"informações do aplicativo." + msgid "Invalid icon path:" msgstr "Caminho de ícone inválido:" @@ -11914,6 +14769,27 @@ msgstr "Versão de produto inválida:" msgid "Windows executables cannot be >= 4 GiB." msgstr "Executáveis Windows não podem ser >= 4GiB." +msgid "Run on remote Windows system" +msgstr "Executar em sistema Windows remoto" + +msgid "Run exported project on remote Windows system" +msgstr "Execute o projeto exportado no sistema Windows remoto" + +msgid "" +"A SpriteFrames resource must be created or set in the \"Frames\" property in " +"order for AnimatedSprite2D to display frames." +msgstr "" +"Um recurso SpriteFrames deve ser criado ou definido na propriedade " +"\"Quadros\" para que AnimatedSprite2D exiba quadros." + +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instantiated " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" +"Apenas um CanvasModulate visível é permitido por cena (ou conjunto de cenas " +"instanciadas). O primeiro criado funcionará, enquanto o restante será " +"ignorado." + msgid "" "This node has no shape, so it can't collide or interact with other objects.\n" "Consider adding a CollisionShape2D or CollisionPolygon2D as a child to " @@ -11924,25 +14800,48 @@ msgstr "" "Considere adicionar um CollisionShape2D ou CollisionPolygon2D como filho " "para definir sua forma." +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, CharacterBody2D, etc. to give them a shape." +msgstr "" +"CollisionPolygon2D serve apenas para fornecer uma forma de colisão para um " +"nó derivado de CollisionObject2D. Use-o apenas como filho de Area2D, " +"StaticBody2D, RigidBody2D, CharacterBody2D, etc." + msgid "An empty CollisionPolygon2D has no effect on collision." -msgstr "Um nó CollisionPolygon2D vazio não é efetivo para colisão." +msgstr "Um CollisionPolygon2D vazio não tem efeito na colisão." msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." msgstr "" "Polígono inválido. Pelo menos 3 pontos são necessários no modo de construção " -"\"Sólidos\"." +"de 'Sólidos'." msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." msgstr "" "Polígono inválido. Pelo menos 2 pontos são necessários no modo de construção " -"\"Segmentos\"." +"de 'Segmentos'." + +msgid "" +"The One Way Collision property will be ignored when the parent is an Area2D." +msgstr "" +"A propriedade 'One Way Collision' será ignorada quando o pai for um Area2D." + +msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, CharacterBody2D, etc. to give them a shape." +msgstr "" +"CollisionShape2D serve apenas para fornecer uma forma de colisão para um nó " +"derivado de CollisionObject2D. Use-o apenas como filho de Area2D, " +"StaticBody2D, RigidBody2D, CharacterBody2D, etc." msgid "" "A shape must be provided for CollisionShape2D to function. Please create a " "shape resource for it!" msgstr "" -"Uma forma deve ser fornecida para que o nó CollisionShape2D funcione. Por " -"favor, crie um recurso de forma para ele!" +"Uma forma deve ser fornecida para que CollisionShape2D funcione. Crie um " +"recurso de forma para isso!" msgid "" "Polygon-based shapes are not meant be used nor edited directly through the " @@ -11956,7 +14855,7 @@ msgid "" "\"Particles Animation\" enabled." msgstr "" "A animação CPUParticles2D requer o uso de um CanvasItemMaterial com " -"\"Animação de partículas\" ativada." +"\"Animação de Partículas\" ativada." msgid "" "A material to process the particles is not assigned, so no behavior is " @@ -11972,6 +14871,13 @@ msgstr "" "Animação Particles2D requer o uso de um CanvasItemMaterial com \"Animação de " "Partículas\" ativada." +msgid "" +"Particle trails are only available when using the Forward+ or Mobile " +"rendering backends." +msgstr "" +"As trilhas de partículas estão disponíveis apenas ao usar o módulo de " +"renderização Avançado+ ou Mobile." + msgid "Node A and Node B must be PhysicsBody2Ds" msgstr "O Nó A e o Nó B devem ser PhysicsBody2Ds" @@ -11991,32 +14897,92 @@ msgid "" "A texture with the shape of the light must be supplied to the \"Texture\" " "property." msgstr "" -"Uma textura com a forma da luz deve ser fornecida na propriedade \"textura\"." +"Uma textura de iluminação deve ser fornecida na propriedade \"Textura\"." msgid "" "An occluder polygon must be set (or drawn) for this occluder to take effect." msgstr "" -"Um polígono de oclusão deve ser definido (ou desenhado) para que este " -"oclusor tenha efeito." +"Um polígono oclusor deve ser definido (ou desenhado) para que esse oclusor " +"entre em vigor." msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" "O polígono para este oclusor está vazio. Por favor desenhe um polígono." msgid "" +"The NavigationAgent2D can be used only under a Node2D inheriting parent node." +msgstr "" +"O nó NavigationAgent2D pode ser usado apenas em um nó pai herdeiro de Node2D." + +msgid "" +"NavigationLink2D start position should be different than the end position to " +"be useful." +msgstr "" +"A posição inicial do nó NavigationLink2D deve ser diferente da posição final " +"para ser utilizado." + +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" +"O nó NavigationObstacle2D serve apenas para evitar colisões a um objeto do " +"tipo Node2D." + +msgid "" +"A NavigationMesh resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" +"Um recurso NavigationMesh deve ser definido ou criado para que este nó " +"funcione. Defina uma propriedade ou desenhe um polígono." + +msgid "" "ParallaxLayer node only works when set as child of a ParallaxBackground node." msgstr "" -"O nó ParallaxLayer apenas funciona quando definido como filho de um nó " +"O nó ParallaxLayer só funciona quando definido como filho de um nó " "ParallaxBackground." msgid "PathFollow2D only works when set as a child of a Path2D node." +msgstr "PathFollow2D só funciona quando definido como filho de um nó Path2D." + +msgid "" +"A PhysicalBone2D only works with a Skeleton2D or another PhysicalBone2D as a " +"parent node!" +msgstr "" +"Um PhysicalBone2D só funciona com um Skeleton2D ou outro PhysicalBone2D " +"sendo nó pai!" + +msgid "" +"A PhysicalBone2D needs to be assigned to a Bone2D node in order to function! " +"Please set a Bone2D node in the inspector." +msgstr "" +"Um nó PhysicalBone2D precisa ser atribuído a um nó Bone2D para funcionar! " +"Defina um nó Bone2D no inspetor." + +msgid "" +"A PhysicalBone2D node should have a Joint2D-based child node to keep bones " +"connected! Please add a Joint2D-based node as a child to this node!" +msgstr "" +"Um nó PhysicalBone2D deve ter um nó filho baseado em Joint2D para manter os " +"ossos conectados! Adicione um nó baseado em Joint2D como filho a este nó!" + +msgid "" +"Size changes to RigidBody2D will be overridden by the physics engine when " +"running.\n" +"Change the size in children collision shapes instead." msgstr "" -"PathFollow2D apenas funciona quando definido como filho de um nó Path2D." +"As alterações de tamanho em RigidBody2D serão substituídas pelo mecanismo de " +"física durante a execução.\n" +"Em vez disso, altere o tamanho nas formas de colisão dos filhos." msgid "Path property must point to a valid Node2D node to work." msgstr "" -"A propriedade \"Caminho\" deve apontar para um nó Node2D válido para " -"funcionar." +"A propriedade Caminho deve apontar para um nó Node2D válido para funcionar." + +msgid "" +"This node cannot interact with other objects unless a Shape2D is assigned." +msgstr "" +"Este nó não pode interagir com outros objetos, a menos que um Shape2D seja " +"atribuído." msgid "This Bone2D chain should end at a Skeleton2D node." msgstr "Esta cadeia Bone2D deve terminar em um nó Skeleton2D." @@ -12027,8 +14993,74 @@ msgstr "Um Bone2D só funciona com um Skeleton2D ou outro Bone2D como nó pai." msgid "" "This bone lacks a proper REST pose. Go to the Skeleton2D node and set one." msgstr "" -"Este osso não possui uma pose REST adequada. Vá para o nó Skeleton2D e " -"defina um." +"Este osso não possui uma posição de DESCANÇO adequada. Vá para o nó " +"Skeleton2D e defina uma." + +msgid "" +"A Y-sorted layer has the same Z-index value as a not Y-sorted layer.\n" +"This may lead to unwanted behaviors, as a layer that is not Y-sorted will be " +"Y-sorted as a whole with tiles from Y-sorted layers." +msgstr "" +"Uma camada Y-sorted tem o mesmo valor de índice Z que uma camada não Y-" +"sorted.\n" +"Isso pode levar a comportamentos indesejados, pois uma camada que não é Y-" +"sorted será toda Y-sorted com tiles de camadas Y-sorted." + +msgid "" +"A TileMap layer is set as Y-sorted, but Y-sort is not enabled on the TileMap " +"node itself." +msgstr "" +"Uma camada TileMap é definida como Y-sorted, mas o Y-sorted não está " +"habilitado no próprio nó TileMap." + +msgid "" +"Isometric TileSet will likely not look as intended without Y-sort enabled " +"for the TileMap and all of its layers." +msgstr "" +"TileSet isométrico provavelmente não terá a aparência pretendida sem Y-sort " +"ativado para o TileMap e todas as suas camadas." + +msgid "" +"External Skeleton3D node not set! Please set a path to an external " +"Skeleton3D node." +msgstr "" +"Nó Skeleton3D externo não definido! Defina um caminho para um nó Skeleton3D " +"externo." + +msgid "" +"Parent node is not a Skeleton3D node! Please use an external Skeleton3D if " +"you intend to use the BoneAttachment3D without it being a child of a " +"Skeleton3D node." +msgstr "" +"O nó pai não é um nó Skeleton3D! Por favor, use um Skeleton3D externo se " +"você pretende usar o BoneAttachment3D sem ser um filho de um nó Skeleton3D." + +msgid "" +"BoneAttachment3D node is not bound to any bones! Please select a bone to " +"attach this node." +msgstr "" +"O nó BoneAttachment3D não está vinculado a nenhum osso! Selecione um osso " +"para anexar este nó." + +msgid "" +"This node has no shape, so it can't collide or interact with other objects.\n" +"Consider adding a CollisionShape3D or CollisionPolygon3D as a child to " +"define its shape." +msgstr "" +"Este nó não tem forma, então não pode colidir ou interagir com outros " +"objetos.\n" +"Considere adicionar um CollisionShape3D ou CollisionPolygon3D como filho " +"para definir sua forma." + +msgid "" +"With a non-uniform scale this node will probably not function as expected.\n" +"Please make its scale uniform (i.e. the same on all axes), and change the " +"size in children collision shapes instead." +msgstr "" +"Com uma escala não uniforme, este nó provavelmente não funcionará como " +"esperado.\n" +"Torne sua escala uniforme (ou seja, a mesma em todos os eixos) e, em vez " +"disso, altere o tamanho nas formas de colisão dos filhos." msgid "" "CollisionPolygon3D only serves to provide a collision shape to a " @@ -12041,6 +15073,20 @@ msgstr "" "Use-o apenas como filho de Area3D, StaticBody3D, RigidBody3D, " "CharacterBody3D, etc... para dar-lhes uma forma." +msgid "An empty CollisionPolygon3D has no effect on collision." +msgstr "Um CollisionPolygon3D vazio não tem efeito na colisão." + +msgid "" +"A non-uniformly scaled CollisionPolygon3D node will probably not function as " +"expected.\n" +"Please make its scale uniform (i.e. the same on all axes), and change its " +"polygon's vertices instead." +msgstr "" +"Um nó CollisionPolygon3D com escala não uniforme provavelmente não " +"funcionará como esperado.\n" +"Por favor, torne sua escala uniforme (ou seja, a mesma em todos os eixos) e " +"altere os vértices de seu polígono." + msgid "" "CollisionShape3D only serves to provide a collision shape to a " "CollisionObject3D derived node.\n" @@ -12052,16 +15098,331 @@ msgstr "" "Por favor use-o apenas como filho de Area2D, StaticBody2D, RigidBody2D, " "KinematicBody2D, etc. para dá-los forma." +msgid "" +"A shape must be provided for CollisionShape3D to function. Please create a " +"shape resource for it." +msgstr "" +"Uma forma deve ser fornecida para que CollisionShape3D funcione. Por favor, " +"crie um recurso de forma para ele." + +msgid "" +"ConcavePolygonShape3D doesn't support RigidBody3D in another mode than " +"static." +msgstr "" +"ConcavePolygonShape3D não oferece suporte a RigidBody3D em outro modo além " +"do estático." + +msgid "" +"WorldBoundaryShape3D doesn't support RigidBody3D in another mode than static." +msgstr "" +"WorldBoundaryShape3D não oferece suporte a RigidBody3D em outro modo que não " +"seja estático." + +msgid "" +"A non-uniformly scaled CollisionShape3D node will probably not function as " +"expected.\n" +"Please make its scale uniform (i.e. the same on all axes), and change the " +"size of its shape resource instead." +msgstr "" +"Um nó CollisionShape3D com escala não uniforme provavelmente não funcionará " +"como esperado.\n" +"Torne sua escala uniforme (ou seja, a mesma em todos os eixos) e altere o " +"tamanho de seu recurso de forma." + msgid "Nothing is visible because no mesh has been assigned." msgstr "Nada é visível porque nenhuma malha foi atribuída." msgid "" +"CPUParticles3D animation requires the usage of a StandardMaterial3D whose " +"Billboard Mode is set to \"Particle Billboard\"." +msgstr "" +"A animação CPUParticles3D requer o uso de um StandardMaterial3D cujo Modo " +"Billboard está definido como \"Particle Billboard\"." + +msgid "" +"Decals are only available when using the Forward+ or Mobile rendering " +"backends." +msgstr "" +"Os decalques estão disponíveis apenas ao usar o módulo de renderização " +"Avançado+ ou Mobile." + +msgid "" +"The decal has no textures loaded into any of its texture properties, and " +"will therefore not be visible." +msgstr "" +"O decalque não tem texturas carregadas em nenhuma de suas propriedades de " +"textura e, portanto, não será visível." + +msgid "" +"The decal has a Normal and/or ORM texture, but no Albedo texture is set.\n" +"An Albedo texture with an alpha channel is required to blend the normal/ORM " +"maps onto the underlying surface.\n" +"If you don't want the Albedo texture to be visible, set Albedo Mix to 0." +msgstr "" +"O decalque tem uma textura Normal e/ou ORM, mas nenhuma textura Albedo está " +"definida.\n" +"Uma textura Albedo com um canal alfa é necessária para mesclar os mapas " +"normais/ORM na superfície subjacente.\n" +"Se você não quiser que a textura Albedo fique visível, defina Albedo Mix " +"como 0." + +msgid "" +"The decal's Cull Mask has no bits enabled, which means the decal will not " +"paint objects on any layer.\n" +"To resolve this, enable at least one bit in the Cull Mask property." +msgstr "" +"A Cull Mask do decalque não tem bits ativados, o que significa que o " +"decalque não pintará objetos em nenhuma camada.\n" +"Para resolver isso, habilite pelo menos um bit na propriedade Cull Mask." + +msgid "Fog Volumes are only visible when using the Forward+ backend." +msgstr "Os Volumes de Névoa são visíveis apenas ao usar o módulo Avançado+." + +msgid "" +"Fog Volumes need volumetric fog to be enabled in the scene's Environment in " +"order to be visible." +msgstr "" +"Os Volumes de Névoa precisam que a névoa volumétrica seja ativada no " +"ambiente da cena para ficar visível." + +msgid "" "Nothing is visible because meshes have not been assigned to draw passes." msgstr "" -"Nada está visível porque as meshes não foram atribuídas a passes de desenho." +"Nada está visível porque as malhas não foram atribuídas para desenhar passos." + +msgid "" +"Particles animation requires the usage of a BaseMaterial3D whose Billboard " +"Mode is set to \"Particle Billboard\"." +msgstr "" +"A animação de partículas requer o uso de um BaseMaterial3D cujo Modo " +"Billboard está definido como \"Particle Billboard\"." + +msgid "" +"Using Trail meshes with a skin causes Skin to override Trail poses. Suggest " +"removing the Skin." +msgstr "" +"O uso de malhas de trilha com uma Skin faz com que a Skin substitua as poses " +"de trilha. Sugerida a remoção da Skin." + +msgid "Trails active, but neither Trail meshes or a Skin were found." +msgstr "Trilhas ativas, mas nenhuma malha de trilha ou Skin foi encontrada." + +msgid "" +"Only one Trail mesh is supported. If you want to use more than a single " +"mesh, a Skin is needed (see documentation)." +msgstr "" +"Apenas uma malha de trilha é suportada. Se você quiser usar mais de uma " +"única malha, é necessário um Skin (consulte a documentação)." + +msgid "" +"Trails enabled, but one or more mesh materials are either missing or not set " +"for trails rendering." +msgstr "" +"Trilhas habilitadas, mas um ou mais materiais de malha estão ausentes ou não " +"definidos para renderização de trilhas." + +msgid "" +"The Bake Mask has no bits enabled, which means baking will not produce any " +"collision for this GPUParticlesCollisionSDF3D.\n" +"To resolve this, enable at least one bit in the Bake Mask property." +msgstr "" +"A Bake Mask não tem bits ativados, o que significa que o 'baking' não " +"produzirá nenhuma colisão para este nó GPUParticlesCollisionSDF3D.\n" +"Para resolver isso, habilite pelo menos um bit na propriedade Bake Mask." + +msgid "Node A and Node B must be PhysicsBody3Ds" +msgstr "O nó A e o nó B devem ser PhysicsBody3Ds" + +msgid "Node A must be a PhysicsBody3D" +msgstr "O nó A deve ser um PhysicsBody3D" + +msgid "Node B must be a PhysicsBody3D" +msgstr "O nó B deve ser um PhysicsBody3D" + +msgid "Joint is not connected to any PhysicsBody3Ds" +msgstr "Junção não está conectado a nenhum PhysicsBody3Ds" + +msgid "Node A and Node B must be different PhysicsBody3Ds" +msgstr "Nó A e Nó B devem ser diferentes PhysicsBody3Ds" + +msgid "" +"Shadows are not supported when using the GL Compatibility backend yet. " +"Support will be added in a future release." +msgstr "" +"Ainda não há suporte para sombras ao usar o módulo de Compatibilidade com " +"GL. O suporte será adicionado em uma versão futura." + +msgid "A light's scale does not affect the visual size of the light." +msgstr "A escala da iluminação não afeta o tamanho visual da luz." + +msgid "Projector texture only works with shadows active." +msgstr "A textura do projetor só funciona com sombras ativas." + +msgid "" +"Projector textures are not supported when using the GL Compatibility backend " +"yet. Support will be added in a future release." +msgstr "" +"As texturas do projetor ainda não são suportadas ao usar o módulo de " +"Compatibilidade GL. O suporte será adicionado em uma versão futura." + +msgid "A SpotLight3D with an angle wider than 90 degrees cannot cast shadows." +msgstr "" +"Um SpotLight3D com um ângulo maior que 90 graus não pode projetar sombras." + +msgid "Finding meshes, lights and probes" +msgstr "Buscando malhas, luzes e sondas" + +msgid "Preparing geometry %d/%d" +msgstr "Preparando a geometria %d/%d" + +msgid "Creating probes" +msgstr "Criando sondagens" + +msgid "Creating probes from mesh %d/%d" +msgstr "Criando sondas da malha %d/%d" msgid "Preparing Lightmapper" -msgstr "Preparando o mapeador de iluminação" +msgstr "Preparando o Mapeador de Iluminação" + +msgid "Preparing Environment" +msgstr "Preparando Ambiente" + +msgid "Generating Probe Volumes" +msgstr "Gerando Volumes de Sonda" + +msgid "Generating Probe Acceleration Structures" +msgstr "Gerando Estruturas de Aceleração de Sonda" + +msgid "" +"LightmapGI nodes are not supported when using the GL Compatibility backend " +"yet. Support will be added in a future release." +msgstr "" +"Os nós LightmapGI ainda não são suportados ao usar o módulo de " +"compatibilidade GL. O suporte será adicionado em uma versão futura." + +msgid "" +"The NavigationAgent3D can be used only under a Node3D inheriting parent node." +msgstr "" +"O nó NavigationAgent3D pode ser usado somente em um nó pai herdeiro de " +"Node3D." + +msgid "" +"NavigationLink3D start position should be different than the end position to " +"be useful." +msgstr "" +"A posição inicial do nó NavigationLink3D deve ser diferente da posição final " +"para ser útil." + +msgid "" +"The NavigationObstacle3D only serves to provide collision avoidance to a " +"Node3D inheriting parent object." +msgstr "" +"O nó NavigationObstacle3D serve apenas para evitar colisões para um objeto " +"pai herdeiro do Node3D." + +msgid "" +"Occlusion culling is disabled in the Project Settings, which means occlusion " +"culling won't be performed in the root viewport.\n" +"To resolve this, open the Project Settings and enable Rendering > Occlusion " +"Culling > Use Occlusion Culling." +msgstr "" +"A seleção de oclusão está desativada nas Configurações do Projeto, o que " +"significa que a seleção de oclusão não será executada na viewport raiz.\n" +"Para resolver isso, abra as Configurações do Projeto e ative Renderizador> " +"Seletor de Oclusão > Usar Seletor de Oclusão." + +msgid "" +"The Bake Mask has no bits enabled, which means baking will not produce any " +"occluder meshes for this OccluderInstance3D.\n" +"To resolve this, enable at least one bit in the Bake Mask property." +msgstr "" +"O Bake Mask não tem bits ativados, o que significa que o 'baking' não " +"produzirá nenhuma malha oclusora para este nó OccluderInstance3D.\n" +"Para resolver isso, habilite pelo menos um bit na propriedade Bake Mask." + +msgid "" +"No occluder mesh is defined in the Occluder property, so no occlusion " +"culling will be performed using this OccluderInstance3D.\n" +"To resolve this, set the Occluder property to one of the primitive occluder " +"types or bake the scene meshes by selecting the OccluderInstance3D and " +"pressing the Bake Occluders button at the top of the 3D editor viewport." +msgstr "" +"Nenhuma malha oclusora foi definida na propriedade 'Occluder', portanto, " +"nenhuma seleção de oclusão será executada usando este nó " +"OccluderInstance3D.\n" +"Para resolver isso, defina a propriedade Occluder para um dos tipos " +"primitivos de oclusores ou crie as malhas da cena selecionando " +"OccluderInstance3D e pressionando o botão Bake Occluders na parte superior " +"da janela do editor 3D." + +msgid "" +"The occluder mesh has less than 3 vertices, so no occlusion culling will be " +"performed using this OccluderInstance3D.\n" +"To generate a proper occluder mesh, select the OccluderInstance3D then use " +"the Bake Occluders button at the top of the 3D editor viewport." +msgstr "" +"A malha do oclusor tem menos de 3 vértices, então nenhuma seleção de oclusão " +"será realizada usando este nó OccluderInstance3D.\n" +"Para gerar uma malha oclusora adequada, selecione OccluderInstance3D e use o " +"botão Bake Occluders na parte superior da janela de visualização do editor " +"3D." + +msgid "" +"The polygon occluder has less than 3 vertices, so no occlusion culling will " +"be performed using this OccluderInstance3D.\n" +"Vertices can be added in the inspector or using the polygon editing tools at " +"the top of the 3D editor viewport." +msgstr "" +"O oclusor de polígono tem menos de 3 vértices, então nenhuma seleção de " +"oclusão será realizada usando este OccluderInstance3D.\n" +"Os vértices podem ser adicionados no inspetor ou usando as ferramentas de " +"edição de polígonos na parte superior da janela do editor 3D." + +msgid "PathFollow3D only works when set as a child of a Path3D node." +msgstr "PathFollow3D só funciona quando definido como filho de um nó Path3D." + +msgid "" +"PathFollow3D's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its " +"parent Path3D's Curve resource." +msgstr "" +"O ROTATION_ORIENTED do PathFollow3D requer que \"Up Vector\" seja ativado no " +"recurso Curve do Path3D pai." + +msgid "" +"Scale changes to RigidBody3D will be overridden by the physics engine when " +"running.\n" +"Please change the size in children collision shapes instead." +msgstr "" +"As alterações de escala para RigidBody3D serão substituídas pelo engine de " +"física durante a execução.\n" +"Em vez disso, altere o tamanho nas formas de colisão dos filhos." + +msgid "" +"ReflectionProbes are not supported when using the GL Compatibility backend " +"yet. Support will be added in a future release." +msgstr "" +"Ainda não há suporte para ReflectionProbes ao usar o Módulo de " +"Compatibilidade GL. O suporte será adicionado em uma versão futura." + +msgid "" +"The \"Remote Path\" property must point to a valid Node3D or Node3D-derived " +"node to work." +msgstr "" +"A propriedade \"Caminho Remoto\" deve apontar para um Node3D válido ou nó " +"derivado de Node3D para funcionar." + +msgid "" +"This node cannot interact with other objects unless a Shape3D is assigned." +msgstr "" +"Este nó não pode interagir com outros objetos, a menos que um nó Shape3D " +"seja atribuído." + +msgid "" +"ShapeCast3D does not support ConcavePolygonShape3Ds. Collisions will not be " +"reported." +msgstr "" +"O nó ShapeCast3D não suporta nó ConcavePolygonShape3D. Colisões não serão " +"relatadas." msgid "This body will be ignored until you set a mesh." msgstr "Este corpo será ignorado até você definir uma malha." @@ -12071,20 +15432,126 @@ msgid "" "order for AnimatedSprite3D to display frames." msgstr "" "Um recurso SpriteFrames deve ser criado ou definido na propriedade " -"\"Frames\" para que o nó AnimatedSprite3D mostre quadros." +"\"Quadros\" para que o nó AnimatedSprite3D mostre quadros." + +msgid "" +"VehicleWheel3D serves to provide a wheel system to a VehicleBody3D. Please " +"use it as a child of a VehicleBody3D." +msgstr "" +"VehicleWheel3D serve para fornecer um sistema de rodas para um " +"VehicleBody3D. Use-o como filho de um VehicleBody3D." + +msgid "" +"VisibleOnScreenNotifier3D nodes are not supported when using the GL " +"Compatibility backend yet. Support will be added in a future release." +msgstr "" +"Os nós VisibleOnScreenNotifier3D ainda não são suportados ao usar o Módulo " +"de Compatibilidade GL. O suporte será adicionado em uma versão futura." + +msgid "" +"The GeometryInstance3D visibility range's End distance is set to a non-zero " +"value, but is lower than the Begin distance.\n" +"This means the GeometryInstance3D will never be visible.\n" +"To resolve this, set the End distance to 0 or to a value greater than the " +"Begin distance." +msgstr "" +"A distância final do intervalo de visibilidade GeometryInstance3D é definida " +"como um valor diferente de zero, mas é menor que a distância inicial.\n" +"Isso significa que GeometryInstance3D nunca ficará visível.\n" +"Para resolver isso, defina a distância final como 0 ou um valor maior que a " +"distância inicial." + +msgid "" +"The GeometryInstance3D is configured to fade in smoothly over distance, but " +"the fade transition distance is set to 0.\n" +"To resolve this, increase Visibility Range Begin Margin above 0." +msgstr "" +"O GeometryInstance3D está configurado para desvanecer suavemente ao longo da " +"distância, mas a distância de transição de esmaecimento é definida como 0.\n" +"Para resolver isso, aumente a Margem Inicial do Alcance de Visibilidade " +"acima de 0." + +msgid "" +"The GeometryInstance3D is configured to fade out smoothly over distance, but " +"the fade transition distance is set to 0.\n" +"To resolve this, increase Visibility Range End Margin above 0." +msgstr "" +"O GeometryInstance3D está configurado para desaparecer gradualmente ao longo " +"da distância, mas a distância de transição de esmaecimento é definida como " +"0.\n" +"Para resolver isso, aumente a Margem Final do Alcance de Visibilidade acima " +"de 0." msgid "Plotting Meshes" -msgstr "Planejando Malhas" +msgstr "Plotando Malhas" msgid "Finishing Plot" msgstr "Terminando de Plotar" +msgid "Generating Distance Field" +msgstr "Gerando Campo de Distância" + +msgid "" +"VoxelGI nodes are not supported when using the GL Compatibility backend yet. " +"Support will be added in a future release." +msgstr "" +"Os nós VoxelGI ainda não são suportados ao usar o Módulo de Compatibilidade " +"GL. O suporte será adicionado em uma versão futura." + +msgid "" +"No VoxelGI data set, so this node is disabled. Bake static objects to enable " +"GI." +msgstr "" +"Nenhum conjunto de dados VoxelGI, então este nó está desabilitado. Crie " +"objetos estáticos para habilitar o GI." + +msgid "" +"To have any visible effect, WorldEnvironment requires its \"Environment\" " +"property to contain an Environment, its \"Camera Attributes\" property to " +"contain a CameraAttributes resource, or both." +msgstr "" +"Para ter qualquer efeito visível, WorldEnvironment requer que sua " +"propriedade \"Environment\" contenha um Environment, sua propriedade " +"\"Camera Attributes\" contenha um recurso CameraAttributes ou ambos." + +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instantiated " +"scenes)." +msgstr "" +"Apenas um WorldEnvironment é permitido por cena (ou conjunto de cenas " +"instanciadas)." + +msgid "XRCamera3D must have an XROrigin3D node as its parent." +msgstr "XRCamera3D deve ter um nó XROrigin3D como pai." + +msgid "XRController3D must have an XROrigin3D node as its parent." +msgstr "XRController3D deve ter um nó XROrigin3D como pai." + +msgid "No tracker name is set." +msgstr "Nenhum nome de rastreador foi definido." + +msgid "No pose is set." +msgstr "Nenhuma pose foi definida." + +msgid "XROrigin3D requires an XRCamera3D child node." +msgstr "XROrigin3D requer um nó filho XRCamera3D." + +msgid "" +"XR is not enabled in rendering project settings. Stereoscopic output is not " +"supported unless this is enabled." +msgstr "" +"XR não está ativado nas configurações do projeto de renderização. A saída " +"estereoscópica não é suportada, a menos que esteja habilitada." + msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "No nó do BlendTree '%s', animação não encontrada: '%s'" msgid "Animation not found: '%s'" msgstr "Animação não encontrada: '%s'" +msgid "Animation Apply Reset" +msgstr "Aplicar Redefinição De Animação" + msgid "In node '%s', invalid animation: '%s'." msgstr "No nó '%s', animação inválida: '%s'." @@ -12095,7 +15562,7 @@ msgid "Nothing connected to input '%s' of node '%s'." msgstr "Nada está ligado à entrada '%s' do nó '%s'." msgid "No root AnimationNode for the graph is set." -msgstr "Nenhuma raiz AnimationNode para o gráfico está definida." +msgstr "Nenhuma raiz AnimationNode para o gráfico foi definida." msgid "Path to an AnimationPlayer node containing animations is not set." msgstr "" @@ -12110,14 +15577,39 @@ msgid "The AnimationPlayer root node is not a valid node." msgstr "O nó raiz do AnimationPlayer não é um nó válido." msgid "" +"ButtonGroup is intended to be used only with buttons that have toggle_mode " +"set to true." +msgstr "" +"ButtonGroup destina-se a ser usado apenas com botões que têm toggle_mode " +"definido como true." + +msgid "" +"Color: #%s\n" +"LMB: Apply color\n" +"RMB: Remove preset" +msgstr "" +"Cor: #%s\n" +"LMB: Aplica cor\n" +"RMB: Remove predefinição" + +msgid "" "Color: #%s\n" "LMB: Apply color" msgstr "" "Cor: #%s\n" -"LMB: Aplicar cor" +"LMB: Aplica cor" + +msgid "Pick a color from the application window." +msgstr "Escolha uma cor na janela do aplicativo." + +msgid "Select a picker shape." +msgstr "Selecione a forma do seletor." + +msgid "Select a picker mode." +msgstr "Selecione o modo do seletor." msgid "Switch between hexadecimal and code values." -msgstr "Alterne entre valores haxadecimais e de código." +msgstr "Alterne entre valores hexadecimais e de código." msgid "Add current color as a preset." msgstr "Adicionar cor atual como uma predefinição." @@ -12139,15 +15631,122 @@ msgstr "" "estiver definido como \"Ignorar\". Para resolver isto, defina o Filtro do " "Mouse como \"Parar\" ou \"Passar\"." +msgid "" +"Changing the Z index of a control only affects the drawing order, not the " +"input event handling order." +msgstr "" +"Alterar o índice Z de um controle afeta apenas a ordem do desenho, não a " +"ordem de manipulação do evento de entrada." + +msgid "Theme Overrides" +msgstr "Substituições de Tema" + msgid "Alert!" msgstr "Alerta!" msgid "Please Confirm..." msgstr "Confirme, Por Favor..." +msgid "You don't have permission to access contents of this folder." +msgstr "Você não tem permissão para acessar o conteúdo desta pasta." + +msgid "All Files" +msgstr "Todos os Arquivos" + +msgid "Invalid extension, or empty filename." +msgstr "Extensão inválida ou nome de arquivo vazio." + +msgid "" +"Please be aware that GraphEdit and GraphNode will undergo extensive " +"refactoring in a future 4.x version involving compatibility-breaking API " +"changes." +msgstr "" +"Esteja ciente de que o GraphEdit e o GraphNode passarão por extensa " +"reformulação em uma futura versão 4.x envolvendo alterações de API de quebra " +"de compatibilidade." + msgid "Enable grid minimap." msgstr "Ativar o minimapa de grade." +msgid "Arrange nodes." +msgstr "Organizar os nós." + +msgid "" +"The current font does not support rendering one or more characters used in " +"this Label's text." +msgstr "" +"A fonte atual não suporta a renderização de um ou mais caracteres usados no " +"texto deste Rótulo." + +msgid "Same as Layout Direction" +msgstr "Mesma Direção do Layout" + +msgid "Auto-Detect Direction" +msgstr "Auto Detectar Direção" + +msgid "Left-to-Right" +msgstr "Esquerda para Direita" + +msgid "Right-to-Left" +msgstr "Direita para Esquerda" + +msgid "Left-to-Right Mark (LRM)" +msgstr "Marca da Esquerda para a Direita (LRM)" + +msgid "Right-to-Left Mark (RLM)" +msgstr "Marca da Direita para a Esquerda (RLM)" + +msgid "Start of Left-to-Right Embedding (LRE)" +msgstr "Iniciar Incorporação da Esquerda para a Direita (LRE)" + +msgid "Start of Right-to-Left Embedding (RLE)" +msgstr "Iniciar Incorporação da Direita para a Esquerda (RLE)" + +msgid "Start of Left-to-Right Override (LRO)" +msgstr "Iniciar Substituição da Esquerda para a Direita (LRO)" + +msgid "Start of Right-to-Left Override (RLO)" +msgstr "Iniciar Substituição da Direita para a Esquerda (RLO)" + +msgid "Pop Direction Formatting (PDF)" +msgstr "Formatação de Direção Pop (PDF)" + +msgid "Arabic Letter Mark (ALM)" +msgstr "Alinhamento de Letras Árabes (ALM)" + +msgid "Left-to-Right Isolate (LRI)" +msgstr "Isolado da Esquerda para a Direita (LRI)" + +msgid "Right-to-Left Isolate (RLI)" +msgstr "Isolado da Direita para a Esquerda (RLI)" + +msgid "First Strong Isolate (FSI)" +msgstr "Primeiro Isolado Forte (FSI)" + +msgid "Pop Direction Isolate (PDI)" +msgstr "Direção Pop Isolada (PDI)" + +msgid "Zero-Width Joiner (ZWJ)" +msgstr "Junta Largura-Zero (ZWU)" + +msgid "Zero-Width Non-Joiner (ZWNJ)" +msgstr "Largura-Zero Não-Junta (ZWNJ)" + +msgid "Word Joiner (WJ)" +msgstr "Juntador de Palavras (WJ)" + +msgid "Soft Hyphen (SHY)" +msgstr "Hífen Suave (SHY)" + +msgid "Text Writing Direction" +msgstr "Direção da Escrita do Texto" + +msgid "Display Control Characters" +msgstr "Exibir Caracteres de Controle" + +msgid "Insert Control Character" +msgstr "Inserir Caractere de Controle" + msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0." msgstr "" "Se \"Exp Edit\" estiver habilitado, \"Min Value\" deve ser maior que 0." @@ -12161,15 +15760,71 @@ msgstr "" "Use um contêiner como filho (VBox, HBox, etc.) ou um Control e defina o " "tamanho mínimo manualmente." +msgid "" +"This node doesn't have a SubViewport as child, so it can't display its " +"intended content.\n" +"Consider adding a SubViewport as a child to provide something displayable." +msgstr "" +"Este nó não possui um SubViewport como filho, portanto, não pode exibir seu " +"conteúdo pretendido.\n" +"Considere adicionar um SubViewport como filho para fornecer algo que possa " +"ser exibido." + msgid "(Other)" msgstr "(Outro)" msgid "" +"This node was saved as class type '%s', which was no longer available when " +"this scene was loaded." +msgstr "" +"Este nó foi salvo como tipo de classe '%s', que não estava mais disponível " +"quando esta cena foi carregada." + +msgid "" +"Data from the original node is kept as a placeholder until this type of node " +"is available again. It can hence be safely re-saved without risk of data " +"loss." +msgstr "" +"Os dados do nó original são mantidos como um espaço reservado até que esse " +"tipo de nó esteja disponível novamente. Portanto, ele pode ser salvo " +"novamente com segurança, sem risco de perda de dados." + +msgid "" +"Setting node name '%s' to be unique within scene for '%s', but it's already " +"claimed by '%s'.\n" +"'%s' is no longer set as having a unique name." +msgstr "" +"Configurando o nome do nó '%s' para ser único dentro da cena para '%s', mas " +"já foi reivindicado por '%s'.\n" +"'%s' não está mais definido como tendo um nome exclusivo." + +msgid "" +"This node is marked as deprecated and will be removed in future versions.\n" +"Please check the Godot documentation for information about migration." +msgstr "" +"Este nó está marcado como obsoleto e será removido em versões futuras.\n" +"Verifique a documentação do Godot para obter informações sobre migração." + +msgid "" +"This node is marked as experimental and may be subject to removal or major " +"changes in future versions." +msgstr "" +"Este nó está marcado como experimental e pode estar sujeito a remoção ou " +"grandes alterações em versões futuras." + +msgid "" "Default Environment as specified in Project Settings (Rendering -> " "Environment -> Default Environment) could not be loaded." msgstr "" -"O Ambiente Padrão especificado nas Configurações de Projeto (Rendering -> " -"Environment -> Default Environment) não pôde ser carregado." +"O Ambiente Padrão especificado nas Configurações do Projeto (Renderização -> " +"Ambiente -> Ambiente Padrão) não pôde ser carregado." + +msgid "" +"ShaderGlobalsOverride is not active because another node of the same type is " +"in the scene." +msgstr "" +"ShaderGlobalsOverride não está ativo porque outro nó do mesmo tipo está na " +"cena." msgid "" "Very low timer wait times (< 0.05 seconds) may behave in significantly " @@ -12190,6 +15845,27 @@ msgstr "" "O tamanho do Viewport deve ser maior ou igual a 2 pixels em ambas as " "dimensões para renderizar algo." +msgid "Cannot open font from file: %s." +msgstr "Não é possível abrir a fonte do arquivo: %s." + +msgid "Version %d of BMFont is not supported (should be 3)." +msgstr "A versão %d de BMFont não é suportada (deve ser 3)." + +msgid "Invalid BMFont info block size." +msgstr "Tamanho de bloco de informações BMFont inválido." + +msgid "Invalid BMFont common block size." +msgstr "Tamanho de bloco comum BMFont inválido." + +msgid "Can't load font texture: %s." +msgstr "Não é possível carregar a textura da fonte: %s." + +msgid "Unsupported BMFont texture format." +msgstr "Formato de textura BMFont não suportado." + +msgid "Invalid BMFont block type." +msgstr "Tipo de bloco BMFont inválido." + msgid "" "Shader keywords cannot be used as parameter names.\n" "Choose another name." @@ -12197,19 +15873,47 @@ msgstr "" "As palavras-chave do shader não podem ser usadas como nomes de parâmetros.\n" "Escolha outro nome." +msgid "This parameter type does not support the '%s' qualifier." +msgstr "Este tipo de parâmetro não suporta o qualificador '%s'." + +msgid "" +"Global parameter '%s' does not exist.\n" +"Create it in the Project Settings." +msgstr "" +"O parâmetro global '%s' não existe.\n" +"Crie-o nas Configurações do Projeto." + +msgid "" +"Global parameter '%s' has an incompatible type for this kind of node.\n" +"Change it in the Project Settings." +msgstr "" +"O parâmetro global '%s' possui um tipo incompatível para este tipo de nó.\n" +"Altere-o nas Configurações do Projeto." + msgid "" "The sampler port is connected but not used. Consider changing the source to " "'SamplerPort'." msgstr "" -"A porta sampler está conectada mas não está sendo usada. Considere alterar a " -"fonte para 'SamplerPort'." +"A porta do amostrador está conectada, mas não esta sendo usada. Considere " +"alterar a origem para 'SamplerPort'." msgid "Invalid source for preview." -msgstr "Fonte inválida para a prévia." +msgstr "Fonte inválida para visualização." msgid "Invalid source for shader." msgstr "Fonte inválida para o shader." +msgid "Invalid operator for that type." +msgstr "Operador inválido para esse tipo." + +msgid "" +"`%s` precision mode is not available for `gl_compatibility` profile.\n" +"Reverted to `None` precision." +msgstr "" +"O modo de precisão `%s` não está disponível para o perfil " +"`gl_compatibility`.\n" +"Revertido para a precisão `None`." + msgid "Default Color" msgstr "Cor Padrão" @@ -12222,17 +15926,741 @@ msgstr "Repetir" msgid "Invalid comparison function for that type." msgstr "Função de comparação inválida para esse tipo." +msgid "2D Mode" +msgstr "Modo 2D" + +msgid "Use All Surfaces" +msgstr "Usar Todas as Superfícies" + +msgid "Surface Index" +msgstr "Índice de Superfície" + +msgid "" +"Invalid number of arguments when calling stage function '%s', which expects " +"%d arguments." +msgstr "" +"Número inválido de argumentos ao chamar a função de estágio '%s', que espera " +"%d argumentos." + +msgid "" +"Invalid argument type when calling stage function '%s', type expected is " +"'%s'." +msgstr "" +"Tipo de argumento inválido ao chamar a função de estágio '%s', o tipo " +"esperado é '%s'." + +msgid "Expected integer constant within [%d..%d] range." +msgstr "Constante inteira esperada dentro do intervalo [%d..%d]." + +msgid "Argument %d of function '%s' is not a variable, array, or member." +msgstr "O argumento %d da função '%s' não é uma variável, matriz ou membro." + +msgid "Varyings cannot be passed for the '%s' parameter." +msgstr "Varyings não podem ser passadas para o parâmetro '%s'." + +msgid "A constant value cannot be passed for the '%s' parameter." +msgstr "Um valor constante não pode ser passado para o parâmetro '%s'." + +msgid "" +"Argument %d of function '%s' can only take a local variable, array, or " +"member." +msgstr "" +"O argumento %d da função '%s' só pode receber uma variável local, matriz ou " +"membro." + +msgid "Built-in function \"%s(%s)\" is only supported on high-end platforms." +msgstr "A função integrada \"%s(%s)\" só é suportada em plataformas recentes." + +msgid "Invalid arguments for the built-in function: \"%s(%s)\"." +msgstr "Argumentos inválidos para a função integrada: \"%s(%s)\"." + +msgid "Recursion is not allowed." +msgstr "A recursão não é permitida." + +msgid "Function '%s' can't be called from source code." +msgstr "A função '%s' não pode ser chamada a partir do código-fonte." + +msgid "" +"Invalid argument for \"%s(%s)\" function: argument %d should be %s but is %s." +msgstr "" +"Argumento inválido para a função \"%s(%s)\": o argumento %d deveria ser %s, " +"mas é %s." + +msgid "" +"Too few arguments for \"%s(%s)\" call. Expected at least %d but received %d." +msgstr "" +"Poucos argumentos para a chamada \"%s(%s)\". Esperado pelo menos %d, mas " +"recebido %d." + +msgid "" +"Too many arguments for \"%s(%s)\" call. Expected at most %d but received %d." +msgstr "" +"Muitos argumentos para a chamada \"%s(%s)\". Esperado no máximo %d, mas " +"recebido %d." + +msgid "Invalid assignment of '%s' to '%s'." +msgstr "Atribuição inválida de '%s' para '%s'." + +msgid "Expected constant expression." +msgstr "Expressão constante esperada." + +msgid "Expected ',' or ')' after argument." +msgstr "Esperado ',' ou ')' após o argumento." + msgid "Varying may not be assigned in the '%s' function." -msgstr "A variação não pode ser atribuída na função '%s'." +msgstr "A varying não pode ser atribuída na função '%s'." + +msgid "" +"Varying with '%s' data type may only be assigned in the 'fragment' function." +msgstr "" +"Varying do tipo de dados '%s' só pode ser atribuída na função 'fragmento'." + +msgid "" +"Varyings which assigned in 'vertex' function may not be reassigned in " +"'fragment' or 'light'." +msgstr "" +"Varyings atribuídas na função 'vértice' não podem ser reatribuídas em " +"'fragmento' ou 'luz'." + +msgid "" +"Varyings which assigned in 'fragment' function may not be reassigned in " +"'vertex' or 'light'." +msgstr "" +"Varyings atribuídas na função 'fragmento' não podem ser reatribuídas em " +"'vértice' ou 'luz'." msgid "Assignment to function." msgstr "Atribuição à função." +msgid "Swizzling assignment contains duplicates." +msgstr "A atribuição Swizzling contém duplicatas." + msgid "Assignment to uniform." msgstr "Atribuição à uniforme." msgid "Constants cannot be modified." -msgstr "Constantes não podem serem modificadas." +msgstr "As constantes não podem ser modificadas." + +msgid "" +"Sampler argument %d of function '%s' called more than once using both built-" +"ins and uniform textures, this is not supported (use either one or the " +"other)." +msgstr "" +"Argumento de amostra %d da função '%s' chamado mais de uma vez usando " +"texturas integradas e uniformes, isso não é suportado (use um ou outro)." + +msgid "" +"Sampler argument %d of function '%s' called more than once using textures " +"that differ in either filter or repeat setting." +msgstr "" +"Argumento de amostra %d da função '%s' chamado mais de uma vez usando " +"texturas que diferem na configuração de filtro ou repetição." + +msgid "" +"Sampler argument %d of function '%s' called more than once using different " +"built-ins. Only calling with the same built-in is supported." +msgstr "" +"Argumento de amostra %d da função '%s' chamado mais de uma vez usando " +"diferentes integrações. Apenas chamadas com a mesma integração são " +"suportadas." + +msgid "Array size is already defined." +msgstr "O tamanho da matriz já foi definido." + +msgid "Unknown array size is forbidden in that context." +msgstr "Tamanho de matriz desconhecido é proibido nesse contexto." + +msgid "Array size expressions are not supported." +msgstr "Expressões de tamanho de matriz não são suportadas." + +msgid "Expected a positive integer constant." +msgstr "Esperava-se uma constante de número inteiro positivo." + +msgid "Invalid data type for the array." +msgstr "Tipo de dados inválido para a matriz." + +msgid "Array size mismatch." +msgstr "Incompatibilidade de tamanho de matriz." + +msgid "Expected array initialization." +msgstr "Inicialização esperada da matriz." + +msgid "Cannot convert from '%s' to '%s'." +msgstr "Não é possível converter de '%s' para '%s'." + +msgid "Expected ')' in expression." +msgstr "Esperado ')' na expressão." + +msgid "Void value not allowed in expression." +msgstr "Valor nulo não permitido na expressão." + +msgid "Expected '(' after the type name." +msgstr "Esperado '(' após o nome do tipo." + +msgid "No matching constructor found for: '%s'." +msgstr "Nenhum construtor correspondente encontrado para: '%s'." + +msgid "Expected a function name." +msgstr "Esperava um nome de função." + +msgid "No matching function found for: '%s'." +msgstr "Nenhuma função correspondente encontrada para: '%s'." + +msgid "" +"Varying '%s' must be assigned in the 'vertex' or 'fragment' function first." +msgstr "" +"Varying '%s' deve ser atribuída na função 'vertex' ou 'fragment' primeiro." + +msgid "Varying '%s' cannot be passed for the '%s' parameter in that context." +msgstr "" +"Varying '%s' não pode ser passada para o parâmetro '%s' nesse contexto." + +msgid "A constant value cannot be passed for '%s' parameter." +msgstr "Um valor constante não pode ser passado para o parâmetro '%s'." + +msgid "" +"Unable to pass a multiview texture sampler as a parameter to custom " +"function. Consider to sample it in the main function and then pass the " +"vector result to it." +msgstr "" +"Não é possível passar um amostrador de textura multiview como um parâmetro " +"para a função personalizada. Considere fazer uma amostra na função principal " +"e depois passar o resultado do vetor para ela." + +msgid "Unknown identifier in expression: '%s'." +msgstr "Identificador desconhecido na expressão: '%s'." + +msgid "" +"%s has been removed in favor of using hint_%s with a uniform.\n" +"To continue with minimal code changes add 'uniform sampler2D %s : hint_%s, " +"filter_linear_mipmap;' near the top of your shader." +msgstr "" +"%s foi removido em favor do uso de hint_%s com um uniforme.\n" +"Para continuar com alterações mínimas no código, adicione 'uniform sampler2D " +"%s : hint_%s, filter_linear_mipmap;' perto do topo do seu shader." + +msgid "" +"Varying with '%s' data type may only be used in the 'fragment' function." +msgstr "Varying do tipo de dados '%s' só pode ser usada na função 'fragmento'." + +msgid "Varying '%s' must be assigned in the 'fragment' function first." +msgstr "Varying '%s' deve ser atribuída primeiro na função 'fragment'." + +msgid "" +"Varying with integer data type must be declared with `flat` interpolation " +"qualifier." +msgstr "" +"Varying com o tipo de dados inteiro deve ser declarada com o qualificador de " +"interpolação `flat`." + +msgid "Can't use function as identifier: '%s'." +msgstr "Não é possível usar a função como identificador: '%s'." + +msgid "Only integer expressions are allowed for indexing." +msgstr "Somente expressões inteiras são permitidas para indexação." + +msgid "Index [%d] out of range [%d..%d]." +msgstr "Índice [%d] fora do intervalo [%d..%d]." + +msgid "Expected expression, found: '%s'." +msgstr "Expressão esperada, encontrada: '%s'." + +msgid "Empty statement. Remove ';' to fix this warning." +msgstr "Declaração vazia. Remova ';' para corrigir este aviso." + +msgid "Expected an identifier as a member." +msgstr "Esperava-se um identificador como membro." + +msgid "Cannot combine symbols from different sets in expression '.%s'." +msgstr "" +"Não é possível combinar símbolos de conjuntos diferentes na expressão '.%s'." + +msgid "Invalid member for '%s' expression: '.%s'." +msgstr "Membro inválido para a expressão '%s': '.%s'." + +msgid "An object of type '%s' can't be indexed." +msgstr "Um objeto do tipo '%s' não pode ser indexado." + +msgid "Invalid base type for increment/decrement operator." +msgstr "Tipo de base inválido para operador de incremento/decremento." + +msgid "Invalid use of increment/decrement operator in a constant expression." +msgstr "" +"Uso inválido do operador de incremento/decremento em uma expressão constante." + +msgid "Invalid token for the operator: '%s'." +msgstr "Token inválido para o operador: '%s'." + +msgid "Unexpected end of expression." +msgstr "Fim inesperado da expressão." + +msgid "Invalid arguments to unary operator '%s': %s." +msgstr "Argumentos inválidos para o operador unário '%s': %s." + +msgid "Missing matching ':' for select operator." +msgstr "':' correspondente ausente para o operador selecionado." + +msgid "Invalid argument to ternary operator: '%s'." +msgstr "Argumento inválido para o operador ternário: '%s'." + +msgid "Invalid arguments to operator '%s': '%s'." +msgstr "Argumentos inválidos para o operador '%s': '%s'." + +msgid "A switch may only contain '%s' and '%s' blocks." +msgstr "Um switch só pode conter blocos '%s' e '%s'." + +msgid "Expected variable type after precision modifier." +msgstr "Tipo de variável esperado após o modificador de precisão." + +msgid "Invalid variable type (samplers are not allowed)." +msgstr "Tipo de variável inválido (amostradores não são permitidos)." + +msgid "Expected an identifier or '[' after type." +msgstr "Esperava-se um identificador ou '[' após o tipo." + +msgid "Expected an identifier." +msgstr "Esperado um identificador." + +msgid "Expected array initializer." +msgstr "Inicializador de matriz esperado." + +msgid "Expected data type after precision modifier." +msgstr "Tipo de dados esperado após o modificador de precisão." + +msgid "Expected a constant expression." +msgstr "Esperado uma expressão constante." + +msgid "Expected initialization of constant." +msgstr "Inicialização esperada da constante." + +msgid "" +"Expected constant expression for argument %d of function call after '='." +msgstr "" +"Expressão constante esperada para o argumento %d da chamada de função após " +"'='." + +msgid "Expected a boolean expression." +msgstr "Esperado uma expressão booleana." + +msgid "Expected an integer expression." +msgstr "Esperado uma expressão inteira." + +msgid "Cases must be defined before default case." +msgstr "Os casos devem ser definidos antes do caso padrão." + +msgid "Default case must be defined only once." +msgstr "O caso padrão deve ser definido apenas uma vez." + +msgid "Duplicated case label: %d." +msgstr "Rótulo de caso duplicado: %d." + +msgid "'%s' must be placed within a '%s' block." +msgstr "'%s' deve ser colocado dentro de um bloco '%s'." + +msgid "Expected an integer constant." +msgstr "Esperado uma constante inteira." + +msgid "Using '%s' in the '%s' processor function is incorrect." +msgstr "O uso de '%s' na função do processador '%s' está incorreto." + +msgid "Expected '%s' with an expression of type '%s'." +msgstr "Esperado '%s' com uma expressão do tipo '%s'." + +msgid "Expected return with an expression of type '%s'." +msgstr "Retorno esperado com uma expressão do tipo '%s'." + +msgid "Use of '%s' is not allowed here." +msgstr "O uso de '%s' não é permitido aqui." + +msgid "'%s' is not allowed outside of a loop or '%s' statement." +msgstr "'%s' não é permitido fora de um loop ou instrução '%s'." + +msgid "'%s' is not allowed outside of a loop." +msgstr "'%s' não é permitido fora de um loop." + +msgid "The middle expression is expected to be a boolean operator." +msgstr "Espera-se que a expressão do meio fosse um operador booleano." + +msgid "The left expression is expected to be a variable declaration." +msgstr "Espera-se que a expressão da esquerda seja uma declaração de variável." + +msgid "The precision modifier cannot be used on structs." +msgstr "O modificador de precisão não pode ser usado em structs." + +msgid "The precision modifier cannot be used on boolean types." +msgstr "O modificador de precisão não pode ser usado em tipos booleanos." msgid "Expected '%s' at the beginning of shader. Valid types are: %s." msgstr "Esperado '%s' no início do shader. Os tipos válidos são: %s." + +msgid "" +"Expected an identifier after '%s', indicating the type of shader. Valid " +"types are: %s." +msgstr "" +"Esperado um identificador após '%s', indicando o tipo de shader. Os tipos " +"válidos são: %s." + +msgid "Invalid shader type. Valid types are: %s" +msgstr "Tipo de shader inválido. Os tipos válidos são: %s" + +msgid "Expected an identifier for render mode." +msgstr "Esperava-se um identificador para o modo de renderização." + +msgid "Duplicated render mode: '%s'." +msgstr "Modo de renderização duplicado: '%s'." + +msgid "" +"Redefinition of render mode: '%s'. The '%s' mode has already been set to " +"'%s'." +msgstr "" +"Redefinição do modo de renderização: '%s'. O modo '%s' já foi definido como " +"'%s'." + +msgid "Invalid render mode: '%s'." +msgstr "Modo de renderização inválido: '%s'." + +msgid "Unexpected token: '%s'." +msgstr "Token inesperado: '%s'." + +msgid "Expected a struct identifier." +msgstr "Esperava-se um identificador de struct." + +msgid "Nested structs are not allowed." +msgstr "Estruturas aninhadas não são permitidas." + +msgid "Expected data type." +msgstr "Esperado tipo dados." + +msgid "A '%s' data type is not allowed here." +msgstr "Um tipo de dados '%s' não é permitido aqui." + +msgid "Expected an identifier or '['." +msgstr "Esperava-se um identificador ou '['." + +msgid "Empty structs are not allowed." +msgstr "Estruturas vazias não são permitidas." + +msgid "Uniform instances are not yet implemented for '%s' shaders." +msgstr "Instâncias uniformes ainda não foram implementadas para shaders '%s'." + +msgid "Uniform instances are not supported in gl_compatibility shaders." +msgstr "Instâncias uniformes não são suportadas em shaders gl_compatibility." + +msgid "Varyings cannot be used in '%s' shaders." +msgstr "Varyings não podem ser usadas em shaders '%s'." + +msgid "Interpolation qualifiers are not supported for uniforms." +msgstr "Os qualificadores de interpolação não são suportados para uniformes." + +msgid "The '%s' data type is not supported for uniforms." +msgstr "O tipo de dados '%s' não é suportado para uniformes." + +msgid "The '%s' data type is not allowed here." +msgstr "O tipo de dados '%s' não é permitido aqui." + +msgid "Interpolation modifier '%s' cannot be used with boolean types." +msgstr "" +"O modificador de interpolação '%s' não pode ser usado com tipos booleanos." + +msgid "Invalid data type for varying." +msgstr "Tipo de dados inválido para varying." + +msgid "Global uniform '%s' does not exist. Create it in Project Settings." +msgstr "O uniforme global '%s' não existe. Crie-o em Configurações do Projeto." + +msgid "Global uniform '%s' must be of type '%s'." +msgstr "O uniforme global '%s' deve ser do tipo '%s'." + +msgid "The '%s' qualifier is not supported for sampler types." +msgstr "O qualificador '%s' não é compatível com tipos de amostrador." + +msgid "The '%s' qualifier is not supported for matrix types." +msgstr "O qualificador '%s' não é suportado para tipos de matriz." + +msgid "The '%s' qualifier is not supported for uniform arrays." +msgstr "O qualificador '%s' não é suportado para matrizes uniformes." + +msgid "Expected valid type hint after ':'." +msgstr "Esperado tipo válido de inferência após ':'." + +msgid "This hint is not supported for uniform arrays." +msgstr "Esta inferência não é compatível com matrizes uniformes." + +msgid "Source color hint is for '%s', '%s' or sampler types only." +msgstr "" +"A inferência da cor de origem é apenas para '%s', '%s' ou tipos de amostra." + +msgid "Duplicated hint: '%s'." +msgstr "Inferência duplicada: '%s'." + +msgid "Range hint is for '%s' and '%s' only." +msgstr "O intervalo de inferência é apenas para '%s' e '%s'." + +msgid "Expected ',' after integer constant." +msgstr "Esperado ',' após a constante inteira." + +msgid "Expected an integer constant after ','." +msgstr "Esperado uma constante inteira após ','." + +msgid "Can only specify '%s' once." +msgstr "Só pode especificar '%s' uma vez." + +msgid "The instance index can't be negative." +msgstr "O índice da instância não pode ser negativo." + +msgid "Allowed instance uniform indices must be within [0..%d] range." +msgstr "" +"Índices uniformes de instância permitidos devem estar dentro do intervalo " +"[0..%d]." + +msgid "" +"'hint_normal_roughness_texture' is not supported in gl_compatibility shaders." +msgstr "" +"'hint_normal_roughness_texture' não é suportado em shaders gl_compatibility." + +msgid "This hint is only for sampler types." +msgstr "Esta inferência é apenas para tipos de amostrador." + +msgid "Redefinition of hint: '%s'. The hint has already been set to '%s'." +msgstr "" +"Redefinição da inferência: '%s'. A inferência já foi definida como '%s'." + +msgid "Duplicated filter mode: '%s'." +msgstr "Modo de filtro duplicado: '%s'." + +msgid "" +"Redefinition of filter mode: '%s'. The filter mode has already been set to " +"'%s'." +msgstr "" +"Redefinição do modo de filtro: '%s'. O modo de filtro já foi definido como " +"'%s'." + +msgid "Duplicated repeat mode: '%s'." +msgstr "Modo de repetição duplicado: '%s'." + +msgid "" +"Redefinition of repeat mode: '%s'. The repeat mode has already been set to " +"'%s'." +msgstr "" +"Redefinição do modo de repetição: '%s'. O modo de repetição já foi definido " +"como '%s'." + +msgid "Too many '%s' uniforms in shader, maximum supported is %d." +msgstr "Muitos uniformes '%s' no shader, o máximo suportado é %d." + +msgid "Setting default values to uniform arrays is not supported." +msgstr "Não há suporte para definir valores padrão para matrizes uniformes." + +msgid "Expected constant expression after '='." +msgstr "Expressão constante esperada após '='." + +msgid "Can't convert constant to '%s'." +msgstr "Não é possível converter constante para '%s'." + +msgid "Expected an uniform subgroup identifier." +msgstr "Esperava-se um identificador de subgrupo uniforme." + +msgid "Expected an uniform group identifier." +msgstr "Esperava-se um identificador de grupo uniforme." + +msgid "Expected an uniform group identifier or `;`." +msgstr "Esperado um identificador de grupo uniforme ou `;`." + +msgid "Group needs to be opened before." +msgstr "O grupo precisa ser aberto antes." + +msgid "Shader type is already defined." +msgstr "O tipo de shader já está definido." + +msgid "Expected constant, function, uniform or varying." +msgstr "Esperado uma constante, função, uniforme ou varying." + +msgid "Invalid constant type (samplers are not allowed)." +msgstr "Tipo de constante inválido (amostradores não são permitidos)." + +msgid "Invalid function type (samplers are not allowed)." +msgstr "Tipo de função inválido (amostradores não são permitidos)." + +msgid "Expected a function name after type." +msgstr "Esperava-se um nome de função após o tipo." + +msgid "Expected '(' after function identifier." +msgstr "Esperado '(' após o identificador da função." + +msgid "" +"Global non-constant variables are not supported. Expected '%s' keyword " +"before constant definition." +msgstr "" +"Variáveis não constantes globais não são suportadas. Palavra-chave '%s' " +"esperada antes da definição da constante." + +msgid "Expected an identifier after type." +msgstr "Esperava-se um identificador após o tipo." + +msgid "" +"The '%s' qualifier cannot be used within a function parameter declared with " +"'%s'." +msgstr "" +"O qualificador '%s' não pode ser usado em um parâmetro de função declarado " +"com '%s'." + +msgid "Expected a valid data type for argument." +msgstr "Esperava-se um tipo de dados válido para o argumento." + +msgid "Opaque types cannot be output parameters." +msgstr "Tipos opacos não podem ser parâmetros de saída." + +msgid "Void type not allowed as argument." +msgstr "Tipo vazio não permitido como argumento." + +msgid "Expected an identifier for argument name." +msgstr "Esperava-se um identificador para o nome do argumento." + +msgid "Function '%s' expects no arguments." +msgstr "A função '%s' não espera argumentos." + +msgid "Function '%s' must be of '%s' return type." +msgstr "A função '%s' deve ser do tipo de retorno '%s'." + +msgid "Expected a '{' to begin function." +msgstr "Espera-se um '{' para iniciar a função." + +msgid "Expected at least one '%s' statement in a non-void function." +msgstr "Espera-se pelo menos uma instrução '%s' em uma função não nula." + +msgid "uniform buffer" +msgstr "buffer uniforme" + +msgid "Expected a '%s'." +msgstr "Esperado um '%s'." + +msgid "Expected a '%s' or '%s'." +msgstr "Esperado um '%s' ou '%s'." + +msgid "Expected a '%s' after '%s'." +msgstr "Esperado um '%s' após '%s'." + +msgid "Redefinition of '%s'." +msgstr "Redefinição de '%s'." + +msgid "Unknown directive." +msgstr "Diretiva desconhecida." + +msgid "Invalid macro name." +msgstr "Nome de macro inválido." + +msgid "Macro redefinition." +msgstr "Redefinição de macros." + +msgid "Invalid argument name." +msgstr "Nome de argumento inválido." + +msgid "Expected a comma in the macro argument list." +msgstr "Esperava-se uma vírgula na lista de argumentos da macro." + +msgid "Unmatched elif." +msgstr "Elif inigualável." + +msgid "Missing condition." +msgstr "Condição ausente." + +msgid "Condition evaluation error." +msgstr "Erro de avaliação de condição." + +msgid "Unmatched else." +msgstr "else incomparável." + +msgid "Invalid else." +msgstr "else Inválido." + +msgid "Unmatched endif." +msgstr "Endif incomparável." + +msgid "Invalid endif." +msgstr "endif Inválido." + +msgid "Invalid ifdef." +msgstr "ifdef Inválido." + +msgid "Invalid ifndef." +msgstr "ifndef Inválido." + +msgid "Shader include file does not exist: " +msgstr "O arquivo de inclusão de shader não existe: " + +msgid "" +"Shader include load failed. Does the shader include exist? Is there a cyclic " +"dependency?" +msgstr "" +"Falha na inclusão do shader. O shader incluído existe? Existe uma " +"dependência cíclica?" + +msgid "Shader include resource type is wrong." +msgstr "O tipo de recurso de inclusão do shader está incorreto." + +msgid "Cyclic include found." +msgstr "Inclusão cíclica encontrada." + +msgid "Shader max include depth exceeded." +msgstr "Shader max inclui profundidade excedida." + +msgid "Invalid pragma directive." +msgstr "Diretiva pragma inválida." + +msgid "Invalid undef." +msgstr "undef Inválido." + +msgid "Macro expansion limit exceeded." +msgstr "Limite de expansão de macro excedido." + +msgid "Invalid macro argument list." +msgstr "Lista de argumentos de macro inválida." + +msgid "Invalid macro argument." +msgstr "Argumento de macro inválido." + +msgid "Invalid macro argument count." +msgstr "Contagem de argumentos de macro inválida." + +msgid "Can't find matching branch directive." +msgstr "Não foi possível encontrar a diretiva de ramificação correspondente." + +msgid "Invalid symbols placed before directive." +msgstr "Símbolos inválidos colocados antes da diretiva." + +msgid "Unmatched conditional statement." +msgstr "Instrução condicional incomparável." + +msgid "" +"Direct floating-point comparison (this may not evaluate to `true` as you " +"expect). Instead, use `abs(a - b) < 0.0001` for an approximate but " +"predictable comparison." +msgstr "" +"Comparação direta de ponto flutuante (isso pode não ser avaliado como `true` " +"como você espera). Em vez disso, use `abs(a - b) < 0.0001` para uma " +"comparação aproximada, mas previsível." + +msgid "The const '%s' is declared but never used." +msgstr "A constante '%s' foi declarada, mas nunca usada." + +msgid "The function '%s' is declared but never used." +msgstr "A função '%s' foi declarada, mas nunca usada." + +msgid "The struct '%s' is declared but never used." +msgstr "A estrutura '%s' foi declarada, mas nunca usada." + +msgid "The uniform '%s' is declared but never used." +msgstr "O uniforme '%s' foi declarado, mas nunca usado." + +msgid "The varying '%s' is declared but never used." +msgstr "A varying '%s' foi declarada, mas nunca usada." + +msgid "The local variable '%s' is declared but never used." +msgstr "A variável local '%s' foi declarada, mas nunca usada." + +msgid "" +"The total size of the %s for this shader on this device has been exceeded " +"(%d/%d). The shader may not work correctly." +msgstr "" +"O tamanho total de %s para este shader neste dispositivo foi excedido (%d/" +"%d). O shader pode não funcionar corretamente." diff --git a/editor/translations/editor/ru.po b/editor/translations/editor/ru.po index 8d4c60e25c..a94a188d24 100644 --- a/editor/translations/editor/ru.po +++ b/editor/translations/editor/ru.po @@ -130,13 +130,15 @@ # Alexander Alexeev <dergluck@gmail.com>, 2023. # Playmore Dev <playmoredevelop@gmail.com>, 2023. # Вячеслав Шароваров <frfnmtd272710@gmail.com>, 2023. +# Artemy Fedotov <catlovescpp@gmail.com>, 2023. +# Daniil <reidolf.danila@gmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-16 02:37+0000\n" -"Last-Translator: Danil Alexeev <danil@alexeev.xyz>\n" +"PO-Revision-Date: 2023-03-09 00:25+0000\n" +"Last-Translator: Daniil <reidolf.danila@gmail.com>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" "Language: ru\n" @@ -145,7 +147,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.16-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Unset" msgstr "Сбросить" @@ -240,6 +242,24 @@ msgstr "Верхнее действие, Sony Triangle, Xbox Y, Nintendo X" msgid "Back, Sony Select, Xbox Back, Nintendo -" msgstr "Назад, Sony Select, Xbox Back, Nintendo -" +msgid "Guide, Sony PS, Xbox Home" +msgstr "Гайд, Sony PS, Xbox Home" + +msgid "Start, Nintendo +" +msgstr "Старт, Nintendo +" + +msgid "Left Stick, Sony L3, Xbox L/LS" +msgstr "Левый Стик, Sony L3, Xbox L/LS" + +msgid "Right Stick, Sony R3, Xbox R/RS" +msgstr "Правый Стик, Sony R3, Xbox R/RS" + +msgid "Left Shoulder, Sony L1, Xbox LB" +msgstr "Левый Бампер, Sony L1, Xbox LB" + +msgid "Right Shoulder, Sony R1, Xbox RB" +msgstr "Правый Бампер, Sony R1, Xbox RB" + msgid "D-pad Up" msgstr "D-pad Вверх" @@ -252,6 +272,21 @@ msgstr "D-pad Влево" msgid "D-pad Right" msgstr "D-pad Вправо" +msgid "Xbox Share, PS5 Microphone, Nintendo Capture" +msgstr "Xbox Share, PS5 Microphone, Nintendo Capture" + +msgid "Xbox Paddle 1" +msgstr "Xbox Крестовина 1" + +msgid "Xbox Paddle 2" +msgstr "Xbox Крестовина 2" + +msgid "Xbox Paddle 3" +msgstr "Xbox Крестовина 3" + +msgid "Xbox Paddle 4" +msgstr "Xbox Крестовина 4" + msgid "PS4/5 Touchpad" msgstr "PS4/5 Тачпад" @@ -267,6 +302,16 @@ msgstr "коснулся" msgid "released" msgstr "отпустил" +msgid "Screen %s at (%s) with %s touch points" +msgstr "Экран %s в (%s) с %s тачпад точками" + +msgid "" +"Screen dragged with %s touch points at position (%s) with velocity of (%s)" +msgstr "Экран с %s тачпад точками в позиции (%s) перетянут со скоростью (%s)" + +msgid "Magnify Gesture at (%s) with factor %s" +msgstr "Жест увеличения в (%s) с коэффициентом %s" + msgid "MIDI Input on Channel=%s Message=%s" msgstr "MIDI Вход на канале=%s Сообщение=%s" @@ -417,6 +462,9 @@ msgstr "Выделить всё" msgid "Select Word Under Caret" msgstr "Выделить слово под курсором" +msgid "Add Selection for Next Occurrence" +msgstr "Добавить Выделение для Следующего Действия" + msgid "Clear Carets and Selection" msgstr "Очистить каретки и выделение" @@ -429,6 +477,9 @@ msgstr "Дублировать узлы" msgid "Delete Nodes" msgstr "Удалить узлы" +msgid "Go Up One Level" +msgstr "Вверх на один уровень" + msgid "Refresh" msgstr "Обновить" @@ -506,6 +557,9 @@ msgstr "" msgid "An action with the name '%s' already exists." msgstr "Действие с именем «%s» уже существует." +msgid "Cannot Revert - Action is same as initial" +msgstr "Невозможно вернуться - Действие схоже с первоначальным" + msgid "Revert Action" msgstr "Откатить действие" @@ -566,6 +620,21 @@ msgstr "Удалить выделенные ключи" msgid "Make Handles Free" msgstr "Сделать ручки свободными" +msgid "Make Handles Linear" +msgstr "Сделать Дескрипторы Линейными" + +msgid "Make Handles Balanced" +msgstr "Сделать Дескрипторы Сбалансированными" + +msgid "Make Handles Mirrored" +msgstr "Сделать Дескрипторы Отражёнными" + +msgid "Make Handles Balanced (Auto Tangent)" +msgstr "Сделать Дескрипторы Сбалансированными (Авто тангенс)" + +msgid "Make Handles Mirrored (Auto Tangent)" +msgstr "Сделать Дескрипторы Отражёнными (Авто тангенс)" + msgid "Add Bezier Point" msgstr "Добавить точку Безье" @@ -617,6 +686,16 @@ msgstr "Изменить длину анимации" msgid "Change Animation Loop" msgstr "Изменить цикл анимации" +msgid "Can't change loop mode on animation instanced from imported scene." +msgstr "" +"Невозможно переключить режим зацикливания анимации, взятой из " +"импортированной сцены." + +msgid "Can't change loop mode on animation embedded in another scene." +msgstr "" +"Невозможно переключить режим зацикливания анимации, встроенной в другую " +"сцену." + msgid "Property Track" msgstr "Дорожка параметра" @@ -629,6 +708,9 @@ msgstr "Дорожка вращения 3D" msgid "3D Scale Track" msgstr "Дорожка масштабирования 3D" +msgid "Blend Shape Track" +msgstr "Сгладить Форму Дорожки" + msgid "Call Method Track" msgstr "Дорожка вызова метода" @@ -713,6 +795,18 @@ msgstr "Ручка В:" msgid "Out-Handle:" msgstr "Ручка ИЗ:" +msgid "Handle mode: Free\n" +msgstr "Режим дескриптора: Свободный\n" + +msgid "Handle mode: Linear\n" +msgstr "Режим дескриптора: Линейный\n" + +msgid "Handle mode: Balanced\n" +msgstr "Режим дескриптора: Сбалансированный\n" + +msgid "Handle mode: Mirrored\n" +msgstr "Режим дескриптора: Отражённый\n" + msgid "Stream:" msgstr "Поток:" @@ -728,6 +822,9 @@ msgstr "Клип Анимации:" msgid "Toggle Track Enabled" msgstr "Включить/выключить дорожку" +msgid "Don't Use Blend" +msgstr "Не использовать Сглаживание" + msgid "Continuous" msgstr "Непрерывная" @@ -782,6 +879,13 @@ msgstr "Изменить режим цикла анимации" msgid "Change Animation Use Blend" msgstr "Изменить использование смешивания анимации" +msgid "" +"Compressed tracks can't be edited or removed. Re-import the animation with " +"compression disabled in order to edit." +msgstr "" +"Сжатые дорожки не могут быть удалены/изменены. Для редактирования анимации, " +"вам нужно переимпортировать её с выключенным сжатием." + msgid "Remove Anim Track" msgstr "Удалить дорожку анимации" @@ -929,6 +1033,9 @@ msgstr "Выберите узел AnimationPlayer для создания и р msgid "Imported Scene" msgstr "Импортированная сцена" +msgid "Toggle between the bezier curve editor and track editor." +msgstr "Переключаться между кривой Безье и редактором дорожек." + msgid "Only show tracks from nodes selected in tree." msgstr "Показывать дорожки только выделенных в дереве узлов." @@ -1019,6 +1126,9 @@ msgstr "Подчистить" msgid "Scale Ratio:" msgstr "Коэффициент масштабирования:" +msgid "Select Transition and Easing" +msgstr "Выбрать Переход и Ослабление" + msgid "Select Tracks to Copy" msgstr "Выбрать дорожки для копирования" @@ -1134,6 +1244,9 @@ msgstr "Выбрать метод" msgid "Filter Methods" msgstr "Фильтр методов" +msgid "No method found matching given filters." +msgstr "Методы не найдены для данных фильтров." + msgid "Script Methods Only" msgstr "Только методы скрипта" @@ -2093,6 +2206,9 @@ msgstr "Загрузить профиль" msgid "Export Profile" msgstr "Экспортировать профиль" +msgid "Forced classes on detect:" +msgstr "Принудительные классы для обнаружения:" + msgid "Edit Build Configuration Profile" msgstr "Изменить профиль конфигурации сборки" @@ -2295,6 +2411,19 @@ msgstr "Открыть" msgid "Select Current Folder" msgstr "Выбрать текущую папку" +msgid "Cannot save file with an empty filename." +msgstr "Невозможно сохранить безымянный файл." + +msgid "Cannot save file with a name starting with a dot." +msgstr "Невозможно сохранить файл с названием, начинающееся с точкой." + +msgid "" +"File \"%s\" already exists.\n" +"Do you want to overwrite it?" +msgstr "" +"Файл \"%s\" уже существует.\n" +"Перезаписать файл?" + msgid "Select This Folder" msgstr "Выбрать эту папку" @@ -11731,6 +11860,9 @@ msgstr "Внимание!" msgid "Please Confirm..." msgstr "Подтверждение..." +msgid "All Files" +msgstr "Все файлы" + msgid "Enable grid minimap." msgstr "Включить миникарту сетки." @@ -11922,6 +12054,15 @@ msgstr "Ошибка вычисления условия." msgid "Invalid macro argument count." msgstr "Недопустимое количество аргументов макроса." +msgid "" +"Direct floating-point comparison (this may not evaluate to `true` as you " +"expect). Instead, use `abs(a - b) < 0.0001` for an approximate but " +"predictable comparison." +msgstr "" +"Точное сравнение с плавающей точкой (может быть не совсем `тем`, чего вы " +"ожидаете). Вместо этого, используйте `abs(a - b) < 0.0001` для " +"приблизительного, но предсказуемого, сравнения." + msgid "The const '%s' is declared but never used." msgstr "Константа '%s' объявлена, но не используется." diff --git a/editor/translations/editor/sv.po b/editor/translations/editor/sv.po index 01d2558a8d..fc5ab4f62d 100644 --- a/editor/translations/editor/sv.po +++ b/editor/translations/editor/sv.po @@ -28,13 +28,14 @@ # Björn Åkesson <bjorn.akesson@gmail.com>, 2022, 2023. # Kenny Andersson <kenny@ordinary.se>, 2022. # Ludvig Svenonius <ludvig.svenonius@protonmail.com>, 2023. +# Daniel Ljung <weblate@bazonic.mozmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-09 18:26+0000\n" -"Last-Translator: Daniel K <danielkimblad@hotmail.com>\n" +"PO-Revision-Date: 2023-03-15 01:17+0000\n" +"Last-Translator: Daniel Ljung <weblate@bazonic.mozmail.com>\n" "Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/" "godot/sv/>\n" "Language: sv\n" @@ -42,7 +43,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.2-dev\n" msgid "Unset" msgstr "Nollställ" @@ -1903,6 +1904,9 @@ msgstr "" msgid "(Re)Importing Assets" msgstr "(Om)Importerar Tillgångar" +msgid "Experimental" +msgstr "Experimentell" + msgid "Top" msgstr "Topp" @@ -2356,6 +2360,9 @@ msgstr "Skicka Dokumentations Feedback" msgid "Community" msgstr "Gemenskap" +msgid "Forward+" +msgstr "Framåt+" + msgid "FileSystem" msgstr "FilSystem" diff --git a/editor/translations/editor/th.po b/editor/translations/editor/th.po index 2def27d878..c846ed8ff9 100644 --- a/editor/translations/editor/th.po +++ b/editor/translations/editor/th.po @@ -11,7 +11,7 @@ # Kongfa Waroros <gongpha@hotmail.com>, 2021. # Atirut Wattanamongkol <artjang301@gmail.com>, 2021. # PT 07 <porton555@gmail.com>, 2021. -# SysError_ <ictsanook@hotmail.com>, 2021. +# SysError_ <ictsanook@hotmail.com>, 2021, 2023. # Kanda Ninthfish <akkhaporn@gmail.com>, 2022. # Absurdnoobman <jakkalin91@gmail.com>, 2022. # Nuttapong Nut <nuttapong.510123@gmail.com>, 2023. @@ -20,8 +20,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-18 07:45+0000\n" -"Last-Translator: Nuttapong Nut <nuttapong.510123@gmail.com>\n" +"PO-Revision-Date: 2023-03-06 00:25+0000\n" +"Last-Translator: SysError_ <ictsanook@hotmail.com>\n" "Language-Team: Thai <https://hosted.weblate.org/projects/godot-engine/godot/" "th/>\n" "Language: th\n" @@ -29,7 +29,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.16-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Unset" msgstr "ยกเลิกการตั้งค่า" @@ -37,23 +37,210 @@ msgstr "ยกเลิกการตั้งค่า" msgid "Physical" msgstr "ทางกายภาพ" +msgid "Left Mouse Button" +msgstr "ปุ่มเมาส์ซ้าย" + +msgid "Right Mouse Button" +msgstr "ปุ่มเมาส์ขวา" + +msgid "Middle Mouse Button" +msgstr "ปุ่มเมาส์กลาง" + +msgid "Mouse Wheel Up" +msgstr "เลื่อนล้อเมาส์ขึ้น" + +msgid "Mouse Wheel Down" +msgstr "เลื่อนล้อเมาส์ลง" + +msgid "Mouse Wheel Left" +msgstr "เลื่อนล้อเมาส์ซ้าย" + +msgid "Mouse Wheel Right" +msgstr "เลื่อนล้อเมาส์ขวา" + +msgid "Mouse Thumb Button 1" +msgstr "ปุ่มเมาส์นิ้วโป้ง 1" + +msgid "Mouse Thumb Button 2" +msgstr "ปุ่มเมาส์นิ้วโป้ง 2" + msgid "Button" msgstr "ปุ่ม" +msgid "Double Click" +msgstr "ดับเบิลคลิก" + +msgid "Mouse motion at position (%s) with velocity (%s)" +msgstr "การเลื่อนเมาส์ที่ตำแหน่ง (%s) ด้วยอัตราเร็ว (%s)" + +msgid "Left Stick X-Axis, Joystick 0 X-Axis" +msgstr "จอยสติ๊กซ้าย แกน X, จอยสติ๊กที่ 0 แกน X" + +msgid "Left Stick Y-Axis, Joystick 0 Y-Axis" +msgstr "จอยสติ๊กซ้าย แกน Y, จอยสติ๊กที่ 0 แกน Y" + +msgid "Right Stick X-Axis, Joystick 1 X-Axis" +msgstr "จอยสติ๊กขวา แกน X, จอยสติ๊กที่ 1 แกน X" + +msgid "Right Stick Y-Axis, Joystick 1 Y-Axis" +msgstr "จอยสติ๊กขวา แกน Y, จอยสติ๊กที่ 1 แกน Y" + +msgid "Joystick 2 X-Axis, Left Trigger, Sony L2, Xbox LT" +msgstr "จอยสติ๊กที่ 2 แกน X, ปุ่ม Left Trigger, จอย Sony L2, จอย Xbox LT" + +msgid "Joystick 2 Y-Axis, Right Trigger, Sony R2, Xbox RT" +msgstr "จอยสติ๊กที่ 2 แกน Y, ปุ่ม Right Trigger, จอย Sony R2, จอย Xbox RT" + +msgid "Joystick 3 X-Axis" +msgstr "จอยสติ๊กที่ 3 แกน X" + +msgid "Joystick 3 Y-Axis" +msgstr "จอยสติ๊กที่ 3 แกน Y" + +msgid "Joystick 4 X-Axis" +msgstr "จอยสติ๊กที่ 4 แกน X" + +msgid "Joystick 4 Y-Axis" +msgstr "จอยสติ๊กที่ 4 แกน Y" + +msgid "Unknown Joypad Axis" +msgstr "ระนาบแกนของจอยที่ไม่รู้จัก" + +msgid "Joypad Motion on Axis %d (%s) with Value %.2f" +msgstr "การเคลื่อนไหวของจอยที่แกน %d (%s) ด้วยค่า %.2f" + +msgid "Bottom Action, Sony Cross, Xbox A, Nintendo B" +msgstr "ปุ่มจอยสั่งงานล่าง, จอย Sony X, จอย Xbox A, จอย Nintendo B" + +msgid "Right Action, Sony Circle, Xbox B, Nintendo A" +msgstr "ปุ่มจอยสั่งงานขวา, จอย Sony O, จอย Xbox B, จอย Nintendo A" + +msgid "Left Action, Sony Square, Xbox X, Nintendo Y" +msgstr "ปุ่มจอยสั่งงานซ้าย, จอย Sony สี่เหลี่ยม, จอย Xbox X, จอย Nintendo Y" + +msgid "Top Action, Sony Triangle, Xbox Y, Nintendo X" +msgstr "ปุ่มจอยสั่งงานบน, จอย Sony สามเหลี่ยม, จอย Xbox Y, จอย Nintendo X" + +msgid "Back, Sony Select, Xbox Back, Nintendo -" +msgstr "ปุ่มจอยย้อนกลับ, จอย Sony Select, จอย Xbox ย้อนกลับ, จอย Nintendo -" + +msgid "Guide, Sony PS, Xbox Home" +msgstr "ปุ่มจอยนำทาง, จอย Sony ปุ่ม PS, จอย Xbox ปุ่ม Home" + +msgid "Start, Nintendo +" +msgstr "ปุ่มจอยเริ่ม, จอย Nintendo +" + +msgid "Left Stick, Sony L3, Xbox L/LS" +msgstr "ปุ่มข้างในจอยสติ๊กซ้าย, จอย Sony L3, จอย Xbox L/LS" + +msgid "Right Stick, Sony R3, Xbox R/RS" +msgstr "ปุ่มข้างในจอยสติ๊กขวา, จอย Sony R3, จอย Xbox R/RS" + +msgid "Left Shoulder, Sony L1, Xbox LB" +msgstr "ปุ่มจอยไหล่ซ้าย, จอย Sony L1, จอย Xbox LB" + +msgid "Right Shoulder, Sony R1, Xbox RB" +msgstr "ปุ่มจอยไหล่ขวา, จอย Sony R1, จอย Xbox RB" + +msgid "D-pad Up" +msgstr "ปุ่ม D-pad ลูกศรบน" + +msgid "D-pad Down" +msgstr "ปุ่ม D-pad ลูกศรล่าง" + +msgid "D-pad Left" +msgstr "ปุ่ม D-pad ลูกศรซ้าย" + +msgid "D-pad Right" +msgstr "ปุ่ม D-pad ลูกศรขวา" + +msgid "Xbox Share, PS5 Microphone, Nintendo Capture" +msgstr "ปุ่ม Xbox Share, ปุ่มไมโครโฟน PS5, ปุ่ม Nintendo Capture" + +msgid "Xbox Paddle 1" +msgstr "ปุ่มไม้พาย Xbox 1" + +msgid "Xbox Paddle 2" +msgstr "ปุ่มไม้พาย Xbox 2" + +msgid "Xbox Paddle 3" +msgstr "ปุ่มไม้พาย Xbox 3" + +msgid "Xbox Paddle 4" +msgstr "ปุ่มไม้พาย Xbox 4" + +msgid "PS4/5 Touchpad" +msgstr "ทัชแพดของ PS4/5" + +msgid "Joypad Button %d" +msgstr "ปุ่มจอยที่ %d" + +msgid "Pressure:" +msgstr "แรงกด:" + +msgid "touched" +msgstr "แตะ" + +msgid "released" +msgstr "ปล่อย" + +msgid "Screen %s at (%s) with %s touch points" +msgstr "การสั่งงานหน้าจอ %s ที่ตำแหน่ง (s) ด้วยการแตะ %s จุด" + +msgid "" +"Screen dragged with %s touch points at position (%s) with velocity of (%s)" +msgstr "การลากที่หน้าจอด้วยจุดแตะ %s จุด ณ ตำแหน่ง (%s) ด้วยอัตราเร็ว (%s)" + +msgid "Magnify Gesture at (%s) with factor %s" +msgstr "การขยายหน้าจอที่ตำแหน่ง (%s) ด้วยอัตราขยาย %s" + +msgid "Pan Gesture at (%s) with delta (%s)" +msgstr "การเลื่อนหน้าจอที่ตำแหน่ง (%s) ด้วยอัตราส่วนต่าง (delta) ที่ (%s)" + +msgid "MIDI Input on Channel=%s Message=%s" +msgstr "อุปกรณ์นำเข้า MIDI ที่ช่องสัญญาณ=%s รหัสข้อความ=%s" + +msgid "Input Event with Shortcut=%s" +msgstr "Input Event ด้วยทางลัด=%s" + +msgid "Accept" +msgstr "ยอมรับ" + msgid "Select" msgstr "เลือก" msgid "Cancel" msgstr "ยกเลิก" +msgid "Focus Next" +msgstr "เลือกโฟกัสที่องค์ประกอบถัดไป" + +msgid "Focus Prev" +msgstr "เลือกโฟกัสที่องค์ประกอบก่อนหน้า" + +msgid "Left" +msgstr "ซ้าย" + +msgid "Right" +msgstr "ขวา" + msgid "Up" -msgstr "ขึ้น" +msgstr "บน" msgid "Down" -msgstr "ลง" +msgstr "ล่าง" + +msgid "Page Up" +msgstr "ปุ่มเลื่อนหน้าขึ้น (PgUp)" + +msgid "Page Down" +msgstr "ปุ่มเลื่อนหน้าขึ้น (PgDn)" + +msgid "Home" +msgstr "ปุ่มเลื่อนไปบนสุด Home" msgid "End" -msgstr "จบ" +msgstr "ปุ่มเลื่อนไปล่างสุด (End)" msgid "Cut" msgstr "ตัด" @@ -70,38 +257,152 @@ msgstr "ยกเลิกการกระทำ" msgid "Redo" msgstr "ทำซ้ำ" +msgid "Completion Query" +msgstr "ตัวช่วยเติมโค้ด" + +msgid "New Line" +msgstr "บรรทัดใหม่" + +msgid "New Blank Line" +msgstr "บรรทัดว่างใหม่" + +msgid "New Line Above" +msgstr "บรรทัดใหม่ด้านบน" + +msgid "Indent" +msgstr "ย่อหน้า" + +msgid "Backspace" +msgstr "ลบไปทางซ้าย" + +msgid "Backspace Word" +msgstr "ลบไปทางซ้ายทั้งคำ" + +msgid "Backspace all to Left" +msgstr "ลบไปทางซ้ายจนสุดบรรทัด" + msgid "Delete" -msgstr "ลบ" +msgstr "ลบไปทางขวา" + +msgid "Delete Word" +msgstr "ลบไปทางขวาทั้งคำ" + +msgid "Delete all to Right" +msgstr "ลบไปทางขวาจนสุดบรรทัด" + +msgid "Caret Left" +msgstr "เลื่อนเคอร์เซอร์พิมพ์ไปทางซ้าย" + +msgid "Caret Word Left" +msgstr "เลื่อนเคอร์เซอร์พิมพ์ไปทางซ้ายทั้งคำ" + +msgid "Caret Right" +msgstr "เลื่อนเคอร์เซอร์พิมพ์ไปทางขวา" + +msgid "Caret Word Right" +msgstr "เลื่อนเคอร์เซอร์พิมพ์ไปทางขวาทั้งคำ" + +msgid "Caret Up" +msgstr "เลื่อนเคอร์เซอร์พิมพ์ไปด้านบน" + +msgid "Caret Down" +msgstr "เลื่อนเคอร์เซอร์พิมพ์ไปด้านล่าง" + +msgid "Caret Line Start" +msgstr "เลื่อนเคอร์เซอร์พิมพ์ไปทางซ้ายบรรทัด" + +msgid "Caret Line End" +msgstr "เลื่อนเคอร์เซอร์พิมพ์ไปทางขวาบรรทัด" + +msgid "Caret Page Up" +msgstr "เลื่อนเคอร์เซอร์พิมพ์ไปด้านบนหนึ่งหน้า" + +msgid "Caret Page Down" +msgstr "เลื่อนเคอร์เซอร์พิมพ์ไปด้านล่างหนึ่งหน้า" + +msgid "Caret Document Start" +msgstr "เลื่อนเคอร์เซอร์พิมพ์ไปบนสุดเอกสาร" + +msgid "Caret Document End" +msgstr "เลื่อนเคอร์เซอร์พิมพ์ไปล่างสุดเอกสาร" + +msgid "Caret Add Below" +msgstr "เพิ่มเคอร์เซอร์พิมพ์ไปด้านล่าง" + +msgid "Caret Add Above" +msgstr "เพิ่มเคอร์เซอร์พิมพ์ไปด้านบน" + +msgid "Scroll Up" +msgstr "เลื่อนไปด้านบน" + +msgid "Scroll Down" +msgstr "เลื่อนไปด้านล่าง" msgid "Select All" msgstr "เลือกทั้งหมด" +msgid "Select Word Under Caret" +msgstr "เลือกคำใต้เคอร์เซอร์พิมพ์" + +msgid "Add Selection for Next Occurrence" +msgstr "เพิ่มที่เลือกสำหรับการค้นคำจุดถัดไป" + +msgid "Clear Carets and Selection" +msgstr "เคลียร์เคอร์เซอร์พิมพ์และที่เลือก" + +msgid "Toggle Insert Mode" +msgstr "สลับโหมดแทรกข้อความ" + +msgid "Submit Text" +msgstr "ส่งข้อความ" + msgid "Duplicate Nodes" msgstr "ทำซ้ำโหนด" msgid "Delete Nodes" msgstr "ลบโหนด" +msgid "Go Up One Level" +msgstr "เลื่อนขึ้นไปหนึ่งระดับ" + msgid "Refresh" msgstr "รีเฟรช" +msgid "Show Hidden" +msgstr "แสดงที่ซ่อนอยู่" + +msgid "Swap Input Direction" +msgstr "สลับทิศทางอินพุต" + +msgid "Invalid input %d (not passed) in expression" +msgstr "อินพุต %d (ไม่ส่งผ่าน) ใน expression ไม่ถูกต้อง" + msgid "self can't be used because instance is null (not passed)" -msgstr "คีย์เวิร์ด self ไม่สามารถใช้งานได้เนื่องจากตัวอินสแตนซ์เป็นค่า null (ไม่ส่งผ่าน)" +msgstr "คีย์เวิร์ด self ไม่สามารถใช้งานได้เนื่องจาก instance เป็น null (ไม่ส่งผ่าน)" msgid "Invalid operands to operator %s, %s and %s." -msgstr "ตัวดำเนินการไม่ถูกต้องสำหรับโอเปอเรเตอร์ %s, %s และ %s" +msgstr "ตัวถูกดำเนินการไม่ถูกต้องสำหรับตัวดำเนินการ %s, %s และ %s" msgid "Invalid index of type %s for base type %s" -msgstr "ดัชนีของชนิดตัวแปร '%s' ไม่ถูกต้องสำหรับชนิดต้นแบบ %s" +msgstr "ตำแหน่งดัชนี %s ไม่ถูกต้องสำหรับชนิดของ %s" msgid "Invalid named index '%s' for base type %s" -msgstr "ชื่อสำหรับดัชนีของ '%s' ไม่ถูกต้องสำหรับชนิดต้นแบบ %s" +msgstr "ดัชนีชื่อ '%s' ไม่ถูกต้องสำหรับชนิดของ %s" msgid "Invalid arguments to construct '%s'" -msgstr "อาร์กิวเมนต์ของคอนสตรัค '%s' ผิดพลาด" +msgstr "ค่า argument ไม่ถูกต้องสำหรับสร้าง '%s'" + +msgid "On call to '%s':" +msgstr "ขณะเรียก '%s':" + +msgid "Built-in script" +msgstr "สคริปต์แบบฝังโหนด" + +msgid "Built-in" +msgstr "ตั้งให้เป็นสคริปต์แบบฝังโหนด" msgid "B" -msgstr "B" +msgstr "ไบต์" msgid "KiB" msgstr "KiB" @@ -121,22 +422,61 @@ msgstr "PiB" msgid "EiB" msgstr "EiB" +msgid "Example: %s" +msgstr "ตัวอย่าง: %s" + +msgid "%d item" +msgid_plural "%d items" +msgstr[0] "%d หน่วย" + msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'" -msgstr "ชื่อผิดพลาด ไม่สามารถเป็นช่องว่างหรือประกอบด้วย '/', ':', '=', '\\' หรือ '\"'" +msgstr "" +"ชื่อ Action ไม่ถูกต้อง ไม่สามารถเป็นค่าว่างหรือประกอบด้วยสัญลักษณ์ '/', ':', '=', '\\' หรือ " +"'\"'" msgid "An action with the name '%s' already exists." -msgstr "มีการกระทำ '%s' อยู่แล้ว" +msgstr "มีชื่อของ Action '%s' อยู่แล้ว" + +msgid "Cannot Revert - Action is same as initial" +msgstr "ย้อนกลับไม่ได้ - Action เหมือนกับตอนเริ่มต้น" + +msgid "Revert Action" +msgstr "ย้อนกลับ Action" msgid "Add Event" -msgstr "เพิ่มปุ่มกด" +msgstr "เพิ่ม Event" + +msgid "Remove Action" +msgstr "ลบ Action" + +msgid "Cannot Remove Action" +msgstr "ไม่สามารถลบ Action ได้" + +msgid "Edit Event" +msgstr "แก้ไข Event" + +msgid "Remove Event" +msgstr "ลบ Event" + +msgid "Filter by name..." +msgstr "กรองด้วยชื่อ..." + +msgid "Clear All" +msgstr "ล้างทั้งหมด" + +msgid "Add New Action" +msgstr "เพิ่ม Action ใหม่" msgid "Add" msgstr "เพิ่ม" +msgid "Show Built-in Actions" +msgstr "แสดง Action ที่ติดตัวมา" + msgid "Action" -msgstr "การกระทำ" +msgstr "Action" msgid "Deadzone" msgstr "Deadzone" @@ -147,50 +487,131 @@ msgstr "เวลา:" msgid "Value:" msgstr "ค่า:" +msgid "Update Selected Key Handles" +msgstr "อัปเดต Key Handle ที่เลือก" + +msgid "Insert Key Here" +msgstr "เพิ่ม Key ที่นี่" + msgid "Duplicate Selected Key(s)" -msgstr "คัดลอกคีย์ที่เลือก" +msgstr "คัดลอก Key ที่เลือก" msgid "Delete Selected Key(s)" -msgstr "ลบคีย์ที่เลือก" +msgstr "ลบ Key ที่เลือก" + +msgid "Make Handles Free" +msgstr "ทำให้ Handles เป็นอิสระ" + +msgid "Make Handles Linear" +msgstr "ทำให้ Handles เป็นค่าเชิงเส้น" + +msgid "Make Handles Balanced" +msgstr "ทำให้ Handles เป็นค่าสมดุล" + +msgid "Make Handles Mirrored" +msgstr "ทำให้ Handles เป็นค่าสะท้อน" + +msgid "Make Handles Balanced (Auto Tangent)" +msgstr "ทำให้ค่า Handles เป็นค่าสมดุล (Auto Tangent)" + +msgid "Make Handles Mirrored (Auto Tangent)" +msgstr "ทำให้ Handles เป็นค่าสะท้อน (Auto Tangent)" msgid "Add Bezier Point" -msgstr "เพิ่มจุดเบซิเยร์" +msgstr "เพิ่มจุด Bezier" msgid "Move Bezier Points" -msgstr "ย้ายจุดเบซิเยร์" +msgstr "ย้ายจุด Bezier" + +msgid "Animation Duplicate Keys" +msgstr "ทำซ้ำ Animation Key เหล่านี้" + +msgid "Animation Delete Keys" +msgstr "ลบ Animation Key เหล่านี้" + +msgid "Focus" +msgstr "โฟกัส" + +msgid "Select All Keys" +msgstr "เลือก Key ทั้งหมด" + +msgid "Deselect All Keys" +msgstr "ยกเลิกการเลือก Key ทั้งหมด" + +msgid "Animation Change Transition" +msgstr "เปลี่ยนรูปแบบการเคลื่อนผ่าน (Transition) ของ Animation" + +msgid "Animation Change %s" +msgstr "แก้ไขค่า Animation %s" + +msgid "Animation Change Keyframe Value" +msgstr "แก้ไขค่า Keyframe ของ Animation" + +msgid "Animation Change Call" +msgstr "แก้ไขค่าเรียกใช้ (Call) ของ Animation" + +msgid "Animation Multi Change Transition" +msgstr "เปลี่ยนรูปแบบการเคลื่อนผ่าน (Transition) ของ Animation หลายตัว" + +msgid "Animation Multi Change %s" +msgstr "แก้ไขค่า Animation หลายตัว %s" + +msgid "Animation Multi Change Keyframe Value" +msgstr "แก้ไขค่า Keyframe ของ Animation หลายตัว" + +msgid "Animation Multi Change Call" +msgstr "แก้ไขค่าเรียกใช้ (Call) ของ Animation หลายตัว" msgid "Change Animation Length" -msgstr "แก้ไขความยาวแอนิเมชัน" +msgstr "แก้ไขความยาวของ Animation" msgid "Change Animation Loop" -msgstr "แก้ไขการวนซ้ำของแอนิเมชัน" +msgstr "เปลี่ยนรูปแบบโหมดวนซ้ำ (Loop) ของ Animation" + +msgid "Can't change loop mode on animation instanced from imported scene." +msgstr "ไม่สามารถแก้ไขโหมดวนซ้ำ (Loop) ของ Animation จากฉากที่นำเข้ามาได้" + +msgid "Can't change loop mode on animation embedded in another scene." +msgstr "ไม่สามารถแก้ไขโหมดวนซ้ำ (Loop) ของ Animation ที่ฝังอยู่อีกฉากหนึ่งได้" msgid "Property Track" -msgstr "แทร็กคุณสมบัติ" +msgstr "Track คุณสมบัติ" + +msgid "3D Position Track" +msgstr "Track ตำแหน่ง 3D" + +msgid "3D Rotation Track" +msgstr "Track การหมุน 3D" + +msgid "3D Scale Track" +msgstr "Track การเปลี่ยนขนาด 3D" + +msgid "Blend Shape Track" +msgstr "Track รูปทรงการ Blend" msgid "Call Method Track" -msgstr "เรียกแทร็กเมธอด" +msgstr "Track การเรียกใช้ Method" msgid "Bezier Curve Track" -msgstr "แทร็กเส้นโค้งเบซิเยร์" +msgstr "Track เส้นโค้ง Bezier" msgid "Audio Playback Track" -msgstr "แทร็กการเล่นเสียง" +msgstr "Track การเล่นเสียง" msgid "Animation Playback Track" -msgstr "แทร็กการเล่นแอนิเมชัน" +msgstr "Track การเล่น Animation" msgid "Animation length (frames)" -msgstr "ความยาวแอนิเมชัน (เฟรม)" +msgstr "ความยาว Animation (เฟรม)" msgid "Animation length (seconds)" -msgstr "ความยาวแอนิเมชัน (วินาที)" +msgstr "ความยาว Animation (วินาที)" msgid "Add Track" -msgstr "เพิ่มแทร็ก" +msgstr "เพิ่ม Track" msgid "Animation Looping" -msgstr "การวนซ้ำแอนิเมชัน" +msgstr "การวนซ้ำ Animation" msgid "Functions:" msgstr "ฟังก์ชัน:" @@ -198,32 +619,89 @@ msgstr "ฟังก์ชัน:" msgid "Audio Clips:" msgstr "คลิปเสียง:" +msgid "Animation Clips:" +msgstr "คลิป Animation:" + msgid "Change Track Path" -msgstr "เปลี่ยนที่อยู่แทร็ก" +msgstr "เปลี่ยนตำแหน่งที่อยู่ Track" msgid "Toggle this track on/off." -msgstr "เปิด/ปิดแทร็กนี้" +msgstr "เปิด/ปิด Track นี้" + +msgid "Use Blend" +msgstr "ใช้การ Blend" msgid "Update Mode (How this property is set)" -msgstr "โหมดอัพเดท (คุณสมบัตินี้ถูกตั้งค่าได้อย่างไร)" +msgstr "อัปเดตโหมด (ตามที่คุณสมบัตินี้ถูกตั้งค่าไว้)" msgid "Interpolation Mode" -msgstr "โหมดการแก้ไข" +msgstr "โหมดเหลื่อมค่า (Interpolation)" msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "โหมดวนลูป (เหลื่อมจุดสิ้นสุดด้วยจุดเริ่มต้นบนลูป)" +msgstr "โหมดวนซ้ำแบบห่อหุ้ม (เหลื่อมจุดสิ้นสุดด้วยจุดเริ่มต้นบนลูป)" msgid "Remove this track." -msgstr "ลบแทร็กนี้" +msgstr "ลบ Track นี้" + +msgid "Time (s):" +msgstr "เวลา (วินาที):" + +msgid "Position:" +msgstr "ตำแหน่ง:" + +msgid "Rotation:" +msgstr "การหมุน:" msgid "Scale:" -msgstr "อัตราส่วน:" +msgstr "ขนาด:" + +msgid "Blend Shape:" +msgstr "รูปร่างการ Blend:" msgid "Type:" -msgstr "ประเภท:" +msgstr "ชนิด:" + +msgid "(Invalid, expected type: %s)" +msgstr "(ไม่ถูกต้อง, ต้องการชนิดของ: %s)" + +msgid "Easing:" +msgstr "ชนิดการ Ease:" + +msgid "In-Handle:" +msgstr "In-Handle:" + +msgid "Out-Handle:" +msgstr "Out-Handle:" + +msgid "Handle mode: Free\n" +msgstr "โหมด Handle: อิสระ\n" + +msgid "Handle mode: Linear\n" +msgstr "โหมด Handle: เชิงเส้น\n" + +msgid "Handle mode: Balanced\n" +msgstr "โหมด Handle: สมดุล\n" + +msgid "Handle mode: Mirrored\n" +msgstr "โหมด Handle: สะท้อน\n" + +msgid "Stream:" +msgstr "การ Stream:" + +msgid "Start (s):" +msgstr "เริ่ม (วิ):" + +msgid "End (s):" +msgstr "สิ้นสุด (วิ):" + +msgid "Animation Clip:" +msgstr "คลิป Animation:" msgid "Toggle Track Enabled" -msgstr "เปิดการใช้งานการติดตามแทร็ก" +msgstr "เปิด/ปิดการเปิดใช้ Track" + +msgid "Don't Use Blend" +msgstr "ไม่ใช้โหมด Blend" msgid "Continuous" msgstr "ต่อเนื่อง" @@ -238,10 +716,16 @@ msgid "Nearest" msgstr "ใกล้ที่สุด" msgid "Linear" -msgstr "เส้นตรง" +msgstr "เชิงเส้น" msgid "Cubic" -msgstr "ลูกบาศก์" +msgstr "สมการลูกบาศก์" + +msgid "Linear Angle" +msgstr "เชิงเส้น (Angle)" + +msgid "Cubic Angle" +msgstr "สมการลูกบาศก์ (Angle)" msgid "Clamp Loop Interp" msgstr "ค่าต่ำสุด/สูงสุดของการวนลูป" diff --git a/editor/translations/editor/tr.po b/editor/translations/editor/tr.po index 9228009674..fae50df354 100644 --- a/editor/translations/editor/tr.po +++ b/editor/translations/editor/tr.po @@ -95,13 +95,15 @@ # Tolunay Mutlu <tlnymtlu@gmail.com>, 2023. # atahanacar <atahanacar@gmx.com>, 2023. # efella <furkanefe911@gmail.com>, 2023. +# Black <ebubekir23atalay@gmail.com>, 2023. +# Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-25 10:57+0000\n" -"Last-Translator: efella <furkanefe911@gmail.com>\n" +"PO-Revision-Date: 2023-03-15 01:17+0000\n" +"Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" "godot/tr/>\n" "Language: tr\n" @@ -109,10 +111,10 @@ 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.2-dev\n" msgid "Unset" -msgstr "Belirtilmemiş" +msgstr "Atamayı Kaldır" msgid "Physical" msgstr "Fiziksel" @@ -204,6 +206,12 @@ msgstr "Üst Aksiyon, Sony Üçgen, Xbox Y, Nintendo X" msgid "Back, Sony Select, Xbox Back, Nintendo -" msgstr "Geri, Sony Select, Xbox Back, Nintendo -" +msgid "Guide, Sony PS, Xbox Home" +msgstr "Kılavuz, Sony PS, Xbox Ana Sayfası" + +msgid "Start, Nintendo +" +msgstr "Start, Nintendo +" + msgid "Left Stick, Sony L3, Xbox L/LS" msgstr "Sol Çubuk, Sony L3, Xbox L/LS" @@ -294,6 +302,9 @@ msgstr "Geri al" msgid "Redo" msgstr "Yinele" +msgid "Completion Query" +msgstr "Tamamlama Sorgusu" + msgid "New Line" msgstr "Yeni Satır" @@ -325,7 +336,7 @@ msgid "Invalid input %d (not passed) in expression" msgstr "İfadede geçersiz giriş %d" msgid "self can't be used because instance is null (not passed)" -msgstr "örnek boş olduğu için self kullanılamaz (geçilmedi)" +msgstr "*self* kullanılamaz çünkü kopya oluşum *null* (verilmedi)" msgid "Invalid operands to operator %s, %s and %s." msgstr "\"%s\" işlecinde geçersiz terimler, '%s' ve '%s'." @@ -405,6 +416,9 @@ msgstr "Bezier Noktası Ekle" msgid "Move Bezier Points" msgstr "Bezier Noktalarını Taşı" +msgid "Focus" +msgstr "Odak" + msgid "Change Animation Length" msgstr "Animasyon Uzunluğunu Değiştir" @@ -504,6 +518,9 @@ msgstr "Animasyon Klibi:" msgid "Toggle Track Enabled" msgstr "İz Dönüştürücü Etkin" +msgid "Don't Use Blend" +msgstr "Karışımı Kullanmayın" + msgid "Continuous" msgstr "Sürekli" @@ -622,7 +639,7 @@ msgid "Scale" msgstr "Ölçekle" msgid "Methods" -msgstr "Metodlar" +msgstr "Yöntemler" msgid "Bezier" msgstr "Bezier Eğrisi" @@ -706,7 +723,7 @@ msgid "Create RESET Track(s)" msgstr "RESET İz(ler)i oluşturun" msgid "Optimize" -msgstr "En İyileştir" +msgstr "İyileştir" msgid "Remove invalid keys" msgstr "Geçersiz anahtarları kaldır" @@ -721,7 +738,7 @@ msgid "Clean-Up Animation(s) (NO UNDO!)" msgstr "Animasyon(ları) Temizle (GERİ ALINAMAZ!)" msgid "Clean-Up" -msgstr "Temizle" +msgstr "Temizlik" msgid "Scale Ratio:" msgstr "Ölçek Oranı:" @@ -753,7 +770,12 @@ msgstr "%d değiştirildi." msgid "%d match" msgid_plural "%d matches" msgstr[0] "% d eşleşme" -msgstr[1] "% d eşleşme" +msgstr[1] "% d eşleşmeler" + +msgid "%d of %d match" +msgid_plural "%d of %d matches" +msgstr[0] "%d içinde %d eşleşme" +msgstr[1] "%d içinde %d eşleşmeler" msgid "Match Case" msgstr "Büyük/Küçük Harf Eşleştir" @@ -856,6 +878,9 @@ msgstr "Bağla" msgid "Signal:" msgstr "Sinyal:" +msgid "No description." +msgstr "Açıklama yok." + msgid "Connect '%s' to '%s'" msgstr "'%s' sinyalini '%s' yöntemine bağla" @@ -879,7 +904,7 @@ msgstr "" "\"%s\" sinyalinden tüm bağlantıları kaldırmak istediğinizden emin misiniz?" msgid "Signals" -msgstr "sinyaller" +msgstr "Sinyaller" msgid "Are you sure you want to remove all connections from this signal?" msgstr "Bu sinyalden, tüm bağlantıları kaldırmak istediğinizden emin misiniz?" @@ -942,7 +967,7 @@ msgid "Monitors" msgstr "Monitörler" msgid "Monitor" -msgstr "Görüntülük" +msgstr "Ekran, İzleme" msgid "Value" msgstr "Değer" @@ -1504,7 +1529,7 @@ msgid "3D Physics" msgstr "3B Fizik" msgid "Navigation" -msgstr "Gezinim" +msgstr "Gezinti" msgid "OpenGL" msgstr "OpenGL" @@ -1822,7 +1847,7 @@ msgid "Save & Restart" msgstr "Kaydet ve Baştan Başlat" msgid "ScanSources" -msgstr "KaynaklarıTara" +msgstr "TaramaKaynakları" msgid "" "There are multiple importers for different types pointing to file %s, import " @@ -1834,6 +1859,9 @@ msgstr "" msgid "(Re)Importing Assets" msgstr "Varlıklar Yeniden-İçe Aktarılıyor" +msgid "Experimental" +msgstr "Deneysel" + msgid "Top" msgstr "Üst" @@ -1861,6 +1889,9 @@ msgstr "%s'yi geçersiz kılar:" msgid "default:" msgstr "varsayılan:" +msgid "Constructors" +msgstr "Yapıcı methodlar" + msgid "Operators" msgstr "Operatörler" @@ -1904,6 +1935,9 @@ msgstr "Yapıcı metot açıklaması" msgid "Method Descriptions" msgstr "Yöntem Açıklamaları" +msgid "Operator Descriptions" +msgstr "Operatör Açıklamaları" + msgid "%d match." msgstr "% d eşleşme." @@ -1947,7 +1981,7 @@ msgid "Class" msgstr "Sınıf" msgid "Method" -msgstr "Metot" +msgstr "Yöntem" msgid "Signal" msgstr "Sinyal" @@ -2527,6 +2561,9 @@ msgstr "Godot'u Geliştirmeye Destek Olun" msgid "Run Project" msgstr "Projeyi Çalıştır" +msgid "Forward+" +msgstr "İleri+" + msgid "Compatibility" msgstr "Uyumluluk" @@ -2777,6 +2814,9 @@ msgstr "Mantığınızı _run() metoduna yazın." msgid "There is an edited scene already." msgstr "Düzenlenmiş bir sahne zaten var." +msgid "Common" +msgstr "Yaygın" + msgid "Editor Settings" msgstr "Düzenleyici Ayarları" @@ -2794,14 +2834,113 @@ msgstr "Kısayollar" msgid "Binding" msgstr "Bağlayıcı" +msgid "" +"Hold %s to round to integers.\n" +"Hold Shift for more precise changes." +msgstr "" +"Tam sayıya yuvarlamak için %s tuşuna basılı tutun.\n" +"Hassas değişiklikler için Shift tuşuna basılı tutun." + +msgid "No notifications." +msgstr "Bildirim yok." + +msgid "Show notifications." +msgstr "Bildirimleri göster." + +msgid "Silence the notifications." +msgstr "Bildirimleri sessize al." + +msgid "Left Stick Left, Joystick 0 Left" +msgstr "Sol Kol Sol, Oyunkolu 0 Sol" + +msgid "Left Stick Right, Joystick 0 Right" +msgstr "Sol Kol Sağ, Oyunkolu 0 Sağ" + +msgid "Left Stick Up, Joystick 0 Up" +msgstr "Sol Kol Yukarı, Oyunkolu 0 Yukarı" + +msgid "Left Stick Down, Joystick 0 Down" +msgstr "Sol Kol Aşağı, Oyunkolu 0 Aşağı" + +msgid "Right Stick Left, Joystick 1 Left" +msgstr "Sağ Kol Sol, Oyunkolu 1 Sol" + +msgid "Right Stick Right, Joystick 1 Right" +msgstr "Sağ Kol Sağ, Oyunkolu 1 Sağ" + +msgid "Right Stick Up, Joystick 1 Up" +msgstr "Sağ Kol Yukarı, Oyunkolu 1 Yukarı" + +msgid "Right Stick Down, Joystick 1 Down" +msgstr "Sağ Kol Aşağı, Oyunkolu 1 Aşağı" + +msgid "Joystick 2 Left" +msgstr "Oyunkolu 2 Sol" + +msgid "Left Trigger, Sony L2, Xbox LT, Joystick 2 Right" +msgstr "Sol Tetik, Sony L2, Xbox LT, Oyunkolu 2 Sağ" + +msgid "Joystick 2 Up" +msgstr "Oyunkolu 2 Yukarı" + +msgid "Right Trigger, Sony R2, Xbox RT, Joystick 2 Down" +msgstr "Sağ Tetik, Sony R2, Xbox RT, Oyunkolu 2 Aşağı" + +msgid "Joystick 3 Left" +msgstr "Oyunkolu 3 Sol" + +msgid "Joystick 3 Right" +msgstr "Oyunkolu 3 Sağ" + +msgid "Joystick 3 Up" +msgstr "Oyunkolu 3 Yukarı" + +msgid "Joystick 3 Down" +msgstr "Oyunkolu 3 Aşağı" + +msgid "Joystick 4 Left" +msgstr "Oyunkolu 4 Sol" + +msgid "Joystick 4 Right" +msgstr "Oyunkolu 4 Sağ" + +msgid "Joystick 4 Up" +msgstr "Oyunkolu 4 Yukarı" + +msgid "Joystick 4 Down" +msgstr "Oyunkolu 4 Aşağı" + +msgid "Joypad Axis %d %s (%s)" +msgstr "Oyunkolu Ekseni %d %s (%s)" + msgid "All Devices" msgstr "Tüm Aygıtlar" msgid "Device" msgstr "Aygıt" +msgid "Listening for input..." +msgstr "Giriş için bekleniyor..." + +msgid "Filter by event..." +msgstr "Olaya göre süz..." + +msgid "" +"Target platform requires 'ETC2/ASTC' texture compression. Enable 'Import " +"ETC2 ASTC' in Project Settings." +msgstr "" +"Hedef platform, 'ETC2/ASTC' doku sıkıştırması gerekiriyor. Proje " +"Ayarları'nda 'ETC2 ASTC İçe Aktar'ı etkinleştirin." + +msgid "" +"Target platform requires 'S3TC/BPTC' texture compression. Enable 'Import " +"S3TC BPTC' in Project Settings." +msgstr "" +"Hedef platform, 'S3TC/BPTC' doku sıkıştırması gerektiriyor. Proje " +"Ayarları'nda 'S3TC BPTC İçe Aktar'ı etkinleştirin." + msgid "Project export for platform:" -msgstr "Platform için proje dışa aktarımı:" +msgstr "Şu platform için proje dışa aktarımı:" msgid "Completed with warnings." msgstr "Uyarılar ile tamamlandı." @@ -2812,17 +2951,23 @@ msgstr "Başarıyla tamamlandı." msgid "Failed." msgstr "Başarısız." +msgid "Storing File: %s" +msgstr "Dosya Depolanıyor: %s" + msgid "Storing File:" msgstr "Dosya Depolama:" msgid "No export template found at the expected path:" -msgstr "Beklenen adreste dışa aktarım şablonu bulunamadı:" +msgstr "Beklenen adreste hiç dışa aktarım şablonu bulunamadı:" + +msgid "ZIP Creation" +msgstr "ZIP Oluşturma" msgid "Could not open file to read from path \"%s\"." msgstr "\"%s\" yolundan okunacak dosya açılamadı." msgid "Packing" -msgstr "Paketle" +msgstr "Paketleme" msgid "Save PCK" msgstr "PCK Dosyasına Kaydet" @@ -3394,6 +3539,9 @@ msgstr "Grup Düzenleyici" msgid "Manage Groups" msgstr "Grupları Düzenle" +msgid "Global" +msgstr "Genel" + msgid "Reimport" msgstr "Yeniden İçe Aktar" @@ -3476,7 +3624,7 @@ msgid "Import As:" msgstr "Şu Şekilde İçe Aktar:" msgid "Preset" -msgstr "Ön ayar" +msgstr "HazırAyar" msgid "Save Scenes, Re-Import, and Restart" msgstr "Sahneleri kaydet, tekrar içe aktar ve baştan başlat" @@ -4007,6 +4155,9 @@ msgstr "Oynatma Modu:" msgid "Delete Selected" msgstr "Seçilenleri Sil" +msgid "Root" +msgstr "Kök" + msgid "AnimationTree" msgstr "AnimasyonAğacı" @@ -4538,6 +4689,15 @@ msgstr "Varsayılan tipi değiştir" msgid "Set Handle" msgstr "Tutamacı Ayarla" +msgid "Fill" +msgstr "Doldurmak" + +msgid "Custom" +msgstr "Özel" + +msgid "Expand" +msgstr "Genişletmek" + msgid "Top Left" msgstr "Sol Üst" @@ -5229,6 +5389,9 @@ msgstr "Abartı Görüntüle" msgid "Display Unshaded" msgstr "Gölgesiz Görüntüle" +msgid "SSAO" +msgstr "SSAO" + msgid "View Environment" msgstr "Ortamı Göster" @@ -5372,7 +5535,7 @@ msgid "Reset Field of View to Default" msgstr "Varsayılan Görüş Alanına Dön" msgid "Transform" -msgstr "Dönüşüm" +msgstr "Şekillendirme, Şekil" msgid "Snap Object to Floor" msgstr "Nesneyi zemine hizala" @@ -5458,6 +5621,12 @@ msgstr "Sonrası" msgid "Sun Color" msgstr "Güneş Rengi" +msgid "Glow" +msgstr "Işıltı" + +msgid "Tonemap" +msgstr "Ton haritası" + msgid "Remove Point from Curve" msgstr "Noktayı Eğriden Kaldır" @@ -6616,6 +6785,12 @@ msgstr "Yatay Yansıt" msgid "Flip Vertically" msgstr "Dikey Yansıt" +msgid "Tiles" +msgstr "Döşemeler, Tiles" + +msgid "Atlas" +msgstr "Atlas" + msgid "Yes" msgstr "Evet" @@ -6678,7 +6853,7 @@ msgid "Select SSH private key path" msgstr "SSH özel anahtar yolu seç" msgid "SSH Passphrase" -msgstr "SSH Parolası" +msgstr "SSH Güvenlik Cümlesi" msgid "Detect new changes" msgstr "Yeni değişiklikleri tespit et" @@ -6836,6 +7011,12 @@ msgstr "Bölümlenme" msgid "Light" msgstr "Işık" +msgid "Sky" +msgstr "Gökyüzü" + +msgid "Fog" +msgstr "Sis" + msgid "Add Node" msgstr "Düğüm Ekle" @@ -7307,6 +7488,9 @@ msgstr "Görsel Niteliği Düzenle:" msgid "Visual Shader Mode Changed" msgstr "Görsel Shader Modu Değişti" +msgid "Bake VoxelGI" +msgstr "VoxelGI pişir" + msgid "The path specified doesn't exist." msgstr "Belirtilen yol mevcut değil." @@ -7947,6 +8131,9 @@ msgstr "Betik Aç / Konum Seç" msgid "Open Script" msgstr "Betik Aç" +msgid "Inherit" +msgstr "Miras Alma" + msgid "File exists, it will be reused." msgstr "Dosya mevcut, yeniden kullanılacak." @@ -8158,6 +8345,9 @@ msgstr "Giden RPC" msgid "Config" msgstr "Yapılandırma" +msgid "Count" +msgstr "Sayma" + msgid "Size" msgstr "Boyut" @@ -8426,6 +8616,12 @@ msgstr "Tanımlayıcı eksik." msgid "The character '%s' is not allowed in Identifier." msgstr "Tanımlayıcı'da '%s' karakterine izin verilmiyor." +msgid "Can't get filesystem access." +msgstr "Dosya sistemi erişimi alınamıyor." + +msgid "Failed to get Info.plist hash." +msgstr "Bilgi alınamadı.plist karması." + msgid "Could not open icon file \"%s\"." msgstr "İkon dosyası \"%s\" açılamadı." @@ -8623,6 +8819,13 @@ msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "Bu engelleyici için engelleyici çokgeni boş. Lütfen bir çokgen çizin." msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" +"NavigationObstacle2D, yalnızca bir Node2D nesnesine çarpışmadan kaçınma " +"sağlamaya hizmet eder." + +msgid "" "ParallaxLayer node only works when set as child of a ParallaxBackground node." msgstr "" "ParallaxLayer, yalnızca ParallaxBackground düğümünün çocuğu olduğu zaman " @@ -8809,3 +9012,6 @@ msgstr "uniform için atama." msgid "Constants cannot be modified." msgstr "Sabit değerler değiştirilemez." + +msgid "Shader include file does not exist: " +msgstr "Gölgelendirici içerme dosyası mevcut değil: " diff --git a/editor/translations/editor/uk.po b/editor/translations/editor/uk.po index 2c819a0e6e..66d358a1df 100644 --- a/editor/translations/editor/uk.po +++ b/editor/translations/editor/uk.po @@ -28,12 +28,13 @@ # kirill7606 <k7606irill@gmail.com>, 2022. # Alex <anna.loban@yahoo.com>, 2023. # Ivan Nosatlev <maxonyt2@gmail.com>, 2023. +# Dmytro Kyrychuk <dmytro@kyrych.uk>, 2023. msgid "" msgstr "" "Project-Id-Version: Ukrainian (Godot Engine)\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-28 22:26+0000\n" +"PO-Revision-Date: 2023-03-12 20:08+0000\n" "Last-Translator: Мирослав <hlopukmyroslav@gmail.com>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot/uk/>\n" @@ -43,7 +44,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.16-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Unset" msgstr "Зняти" @@ -277,6 +278,9 @@ msgstr "Відступ" msgid "Dedent" msgstr "Зменшити Відступ" +msgid "Backspace" +msgstr "Стерти" + msgid "Backspace Word" msgstr "Стерти слово" @@ -1295,6 +1299,9 @@ msgstr "" msgid "Toggle Visibility" msgstr "Перемкнути видимість" +msgid "ms" +msgstr "мс" + msgid "Monitors" msgstr "Монітори" @@ -1364,6 +1371,15 @@ msgstr "Час" msgid "Calls" msgstr "Виклики" +msgid "CPU" +msgstr "CPU" + +msgid "GPU" +msgstr "GPU" + +msgid "Execution resumed." +msgstr "Виконання відновлено." + msgid "Bytes:" msgstr "Байтів:" @@ -1376,9 +1392,39 @@ msgstr "Помилка:" msgid "%s Error" msgstr "Помилка %s" +msgid "%s Error:" +msgstr "Помилка %s:" + +msgid "%s Source" +msgstr "Джерело %s" + +msgid "%s Source:" +msgstr "Джерело %s:" + msgid "Stack Trace" msgstr "Трасування стека" +msgid "Stack Trace:" +msgstr "Трасування стека:" + +msgid "Debug session started." +msgstr "Розпочато сеанс налагодження." + +msgid "Debug session closed." +msgstr "Сеанс налагодження завершено." + +msgid "Line %d" +msgstr "Рядок %d" + +msgid "Delete Breakpoint" +msgstr "Видалити точку зупинки" + +msgid "Delete All Breakpoints in:" +msgstr "Видалити всі точки зупинки в:" + +msgid "Delete All Breakpoints" +msgstr "Видалити всі точки зупинки" + msgid "Copy Error" msgstr "Помилка копіювання" @@ -1409,6 +1455,9 @@ msgstr "Продовжити" msgid "Stack Frames" msgstr "Стосувати кадри" +msgid "Filter Stack Variables" +msgstr "Фільтрувати змінні стека" + msgid "Breakpoints" msgstr "Точки зупину" @@ -1421,6 +1470,9 @@ msgstr "Згорнути все" msgid "Profiler" msgstr "Профайлер" +msgid "Visual Profiler" +msgstr "Візуальний профайлер" + msgid "List of Video Memory Usage by Resource:" msgstr "Список використання відеопам'яті за ресурсами:" @@ -1510,6 +1562,12 @@ msgstr "Відкрити сцени" msgid "Owners of: %s (Total: %d)" msgstr "Власник: %s (Загалом: %d)" +msgid "Localization remap" +msgstr "Перевизначення локалізації" + +msgid "Localization remap for path '%s' and locale '%s'." +msgstr "Перевизначення локалізації для шляху '%s' та локалі '%s'." + msgid "" "Remove the selected files from the project? (Cannot be undone.)\n" "Depending on your filesystem configuration, the files will either be moved " @@ -1728,6 +1786,12 @@ msgstr "Обхід" msgid "Bus Options" msgstr "Параметри шини" +msgid "Duplicate Bus" +msgstr "Дублювати шину" + +msgid "Delete Bus" +msgstr "Видалити шину" + msgid "Reset Volume" msgstr "Скинути гучність" @@ -1815,18 +1879,27 @@ msgstr "Припустимі символи:" msgid "Must not collide with an existing engine class name." msgstr "Назва має відрізнятися від наявної назви класу рушія." +msgid "Must not collide with an existing global script class name." +msgstr "Назва не повинна збігатися із наявною назвою глобального класу." + msgid "Must not collide with an existing built-in type name." msgstr "Назва не повинна збігатися із наявною назвою вбудованого типу." msgid "Must not collide with an existing global constant name." msgstr "Назва не повинна збігатися із назвою наявної загальної сталої." +msgid "Keyword cannot be used as an Autoload name." +msgstr "У назві автозавантаження не можна використовувати ключові слова." + msgid "Autoload '%s' already exists!" msgstr "Автозавантаження '%s' вже існує!" msgid "Rename Autoload" msgstr "Перейменувати автозавантаження" +msgid "Toggle Autoload Globals" +msgstr "Увімкнути автозавантаження глобальних скриптів" + msgid "Move Autoload" msgstr "Перемістити автозавантаження" @@ -1839,21 +1912,33 @@ msgstr "Увімкнути" msgid "Rearrange Autoloads" msgstr "Змінити порядок автозавантажень" +msgid "Can't add Autoload:" +msgstr "Не вдалося додати автозавантаження:" + msgid "%s is an invalid path. File does not exist." msgstr "%s не є коректним шляхом. Файла не існує." msgid "%s is an invalid path. Not in resource path (res://)." msgstr "%s є некоректним шляхом. Його немає у шляху ресурсів (res://)." +msgid "Add Autoload" +msgstr "Додати автозавантаження" + msgid "Path:" msgstr "Шлях:" +msgid "Set path or press \"%s\" to create a script." +msgstr "Вкажіть шлях або натисніть \"%s\", щоб створити скрипт." + msgid "Node Name:" msgstr "Ім'я Вузла:" msgid "Global Variable" msgstr "Загальна змінна" +msgid "3D Engine" +msgstr "3D рушій" + msgid "2D Physics" msgstr "Двовимірна фізика" @@ -1866,6 +1951,92 @@ msgstr "Навігація" msgid "OpenGL" msgstr "OpenGL" +msgid "Vulkan" +msgstr "Vulkan" + +msgid "Text Server: Fallback" +msgstr "Текстовий сервер: Запасний" + +msgid "Text Server: Advanced" +msgstr "Текстовий сервер: Розширений" + +msgid "TTF, OTF, Type 1, WOFF1 Fonts" +msgstr "Шрифти TTF, OTF, Type 1, WOFF1" + +msgid "WOFF2 Fonts" +msgstr "Шрифти WOFF2" + +msgid "SIL Graphite Fonts" +msgstr "Шрифти SIL Graphite" + +msgid "2D Physics nodes and PhysicsServer2D." +msgstr "Вузли 2D фізики та PhysicsServer2D." + +msgid "3D Physics nodes and PhysicsServer3D." +msgstr "Вузли 3D-фізики та PhysicsServer3D." + +msgid "Navigation, both 2D and 3D." +msgstr "Навігація, як 2D, так і 3D." + +msgid "XR (AR and VR)." +msgstr "XR (AR і VR)." + +msgid "" +"RenderingDevice based rendering (if disabled, the OpenGL back-end is " +"required)." +msgstr "" +"Візуалізація на основі RenderingDevice (якщо вимкнено, потрібен бекенд " +"OpenGL)." + +msgid "" +"OpenGL back-end (if disabled, the RenderingDevice back-end is required)." +msgstr "Бекенд OpenGL (якщо вимкнено, потрібен бекенд RenderingDevice)." + +msgid "Vulkan back-end of RenderingDevice." +msgstr "Бекенд Vulkan RenderingDevice." + +msgid "" +"Fallback implementation of Text Server\n" +"Supports basic text layouts." +msgstr "" +"Запасна реалізація текстового сервера\n" +"Підтримує основні текстові макети." + +msgid "" +"Text Server implementation powered by ICU and HarfBuzz libraries.\n" +"Supports complex text layouts, BiDi, and contextual OpenType font features." +msgstr "" +"Реалізація текстового сервера на основі бібліотек ICU та HarfBuzz.\n" +"Підтримує складні текстові макети, BiDi та контекстні функції шрифтів " +"OpenType." + +msgid "" +"TrueType, OpenType, Type 1, and WOFF1 font format support using FreeType " +"library (if disabled, WOFF2 support is also disabled)." +msgstr "" +"Підтримка форматів шрифтів TrueType, OpenType, Type 1 та WOFF1 за допомогою " +"бібліотеки FreeType (якщо вимкнено, підтримка WOFF2 також вимикається)." + +msgid "WOFF2 font format support using FreeType and Brotli libraries." +msgstr "" +"Підтримка формату шрифту WOFF2 за допомогою бібліотек FreeType та Brotli." + +msgid "" +"SIL Graphite smart font technology support (supported by Advanced Text " +"Server only)." +msgstr "" +"Підтримка технології інтелектуальних шрифтів SIL Graphite (підтримується " +"лише в Розширеному текстовому сервері)." + +msgid "General Features:" +msgstr "Основні можливості:" + +msgid "Text Rendering and Font Options:" +msgstr "Параметри візуалізації тексту та шрифтів:" + +msgid "File saving failed." +msgstr "Не вдалося зберегти файл." + msgid "Nodes and Classes:" msgstr "Вузли і класи:" @@ -1881,12 +2052,39 @@ msgstr "Новий" msgid "Save" msgstr "Зберегти" +msgid "Profile:" +msgstr "Профіль:" + msgid "Reset to Defaults" msgstr "Відновити типові параметри" +msgid "Detect from Project" +msgstr "Визначити з проекту" + +msgid "Actions:" +msgstr "Дії:" + +msgid "Configure Engine Build Profile:" +msgstr "Налаштування профілю збірки рушія:" + +msgid "Please Confirm:" +msgstr "Будь ласка, підтвердіть:" + +msgid "Engine Build Profile" +msgstr "Профіль збірки рушія" + +msgid "Load Profile" +msgstr "Завантажити профіль" + msgid "Export Profile" msgstr "Експорт профілю" +msgid "Edit Build Configuration Profile" +msgstr "Редагувати профіль конфігурації збірки" + +msgid "Filter Commands" +msgstr "Фільтрувати команди" + msgid "Paste Params" msgstr "Вставити параметри" @@ -1908,6 +2106,9 @@ msgstr "[не збережено]" msgid "Please select a base directory first." msgstr "Будь ласка, виберіть спочатку базовий каталог." +msgid "Could not create folder. File with that name already exists." +msgstr "Не вдалося створити теку. Файл або тека з таким іменем вже існує." + msgid "Choose a Directory" msgstr "Виберіть каталог" @@ -1944,6 +2145,9 @@ msgstr "Панель файлової системи" msgid "Import Dock" msgstr "Бічна панель імпортування" +msgid "History Dock" +msgstr "Панель Історія" + msgid "Allows to view and edit 3D scenes." msgstr "Надає змогу переглядати і редагувати просторові сцени." @@ -1976,6 +2180,9 @@ msgstr "" "Надає змогу налаштувати параметри імпортування для окремих пакунків. " "Потребує для роботи бічної панелі FileSystem." +msgid "Provides an overview of the editor's and each scene's undo history." +msgstr "Надає огляд історії скасувань редактора та кожної сцени." + msgid "(current)" msgstr "(поточний)" @@ -2076,6 +2283,19 @@ msgstr "Відкрити" msgid "Select Current Folder" msgstr "Вибрати поточну теку" +msgid "Cannot save file with an empty filename." +msgstr "Неможливо зберегти файл з порожнім іменем." + +msgid "Cannot save file with a name starting with a dot." +msgstr "Неможливо зберегти файл з іменем, що починається з крапки." + +msgid "" +"File \"%s\" already exists.\n" +"Do you want to overwrite it?" +msgstr "" +"Файл \"%s\" вже існує.\n" +"Хочете його перезаписати?" + msgid "Select This Folder" msgstr "Вибрати цю теку" @@ -2112,6 +2332,9 @@ msgstr "Відкрити файл або каталог" msgid "Save a File" msgstr "Зберегти файл" +msgid "Favorited folder does not exist anymore and will be removed." +msgstr "Вибрана папка більше не існує і буде видалена." + msgid "Go Back" msgstr "Перейти назад" @@ -2172,6 +2395,21 @@ msgstr "Попередній перегляд:" msgid "File:" msgstr "Файл:" +msgid "" +"Remove the selected files? For safety only files and empty directories can " +"be deleted from here. (Cannot be undone.)\n" +"Depending on your filesystem configuration, the files will either be moved " +"to the system trash or deleted permanently." +msgstr "" +"Видалити вибрані файли? З міркувань безпеки звідси можна видаляти лише файли " +"та порожні каталоги. (Видалення не можна скасувати).\n" +"Залежно від конфігурації вашої файлової системи, файли буде переміщено до " +"системного кошика або видалено безповоротно." + +msgid "Some extensions need the editor to restart to take effect." +msgstr "" +"Деякі розширення потребують перезапуску редактора, щоб набути чинності." + msgid "Restart" msgstr "Перезапустити" @@ -2191,6 +2429,55 @@ msgstr "" msgid "(Re)Importing Assets" msgstr "Імпортування ресурсів" +msgid "Import resources of type: %s" +msgstr "Імпорт ресурсів типу: %s" + +msgid "No return value." +msgstr "Значення не повертається." + +msgid "Deprecated" +msgstr "Застаріле" + +msgid "Experimental" +msgstr "Експериментальне" + +msgid "This method supports a variable number of arguments." +msgstr "Цей метод підтримує змінну кількість аргументів." + +msgid "" +"This method is called by the engine.\n" +"It can be overridden to customize built-in behavior." +msgstr "" +"Цей метод викликається рушієм.\n" +"Його можна перевизначити, щоб налаштувати вбудовану поведінку." + +msgid "" +"This method has no side effects.\n" +"It does not modify the object in any way." +msgstr "" +"Цей метод не має побічних ефектів.\n" +"Він ніяк не модифікує об'єкт." + +msgid "" +"This method does not need an instance to be called.\n" +"It can be called directly using the class name." +msgstr "" +"Для виклику цього методу не потрібен екземпляр.\n" +"Його можна викликати безпосередньо за допомогою назви класу." + +msgid "Error codes returned:" +msgstr "Повернуто коди помилок:" + +msgid "There is currently no description for this %s." +msgstr "Наразі для цього %s немає опису." + +msgid "" +"There is currently no description for this %s. Please help us by " +"[color=$color][url=$url]contributing one[/url][/color]!" +msgstr "" +"Наразі немає опису для цього %s. Будь ласка, допоможіть нам, [color=$color]" +"[url=$url]зробивши внесок[/url][/color]!" + msgid "Top" msgstr "Верхівка" @@ -2203,9 +2490,31 @@ msgstr "Успадковує:" msgid "Inherited by:" msgstr "Успадковано:" +msgid "" +"This class is marked as deprecated. It will be removed in future versions." +msgstr "" +"Цей клас позначено як застарілий. Його буде вилучено у наступних версіях." + +msgid "" +"This class is marked as experimental. It is subject to likely change or " +"possible removal in future versions. Use at your own discretion." +msgstr "" +"Цей клас позначено як експериментальний. Він може бути змінений або " +"вилучений у майбутніх версіях. Використовуйте на власний розсуд." + msgid "Description" msgstr "Опис" +msgid "There is currently no description for this class." +msgstr "Наразі для цього класу немає опису." + +msgid "" +"There is currently no description for this class. Please help us by " +"[color=$color][url=$url]contributing one[/url][/color]!" +msgstr "" +"Наразі для цього класу немає опису. Будь ласка, допоможіть нам, " +"[color=$color][url=$url]зробивши внесок[/url][/color]!" + msgid "Online Tutorials" msgstr "Підручники в інтернеті" @@ -2218,6 +2527,15 @@ msgstr "перевизначення %s:" msgid "default:" msgstr "типовий:" +msgid "property:" +msgstr "властивість:" + +msgid "Constructors" +msgstr "Конструктори" + +msgid "Operators" +msgstr "Оператори" + msgid "Theme Properties" msgstr "Властивості теми" @@ -2230,6 +2548,9 @@ msgstr "Константи" msgid "Fonts" msgstr "Шрифти" +msgid "Font Sizes" +msgstr "Розміри шрифту" + msgid "Icons" msgstr "Піктограми" @@ -2239,12 +2560,28 @@ msgstr "Стилі" msgid "Enumerations" msgstr "Переліки" +msgid "Annotations" +msgstr "Анотації" + +msgid "There is currently no description for this annotation." +msgstr "Наразі опис для цієї анотації відсутній." + +msgid "" +"There is currently no description for this annotation. Please help us by " +"[color=$color][url=$url]contributing one[/url][/color]!" +msgstr "" +"Наразі опис для цієї анотації відсутній. Будь ласка, допоможіть нам, " +"[color=$color][url=$url]зробивши внесок[/url][/color]!" + msgid "Property Descriptions" msgstr "Описи властивостей" msgid "(value)" msgstr "(значення)" +msgid "There is currently no description for this property." +msgstr "Наразі для цього об'єкту немає опису." + msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" @@ -2252,9 +2589,15 @@ msgstr "" "У поточній версії немає опису цієї властивості. Будь ласка, [color=$color]" "[url=$url]створіть його[/url][/color]!" +msgid "Constructor Descriptions" +msgstr "Описи конструкторів" + msgid "Method Descriptions" msgstr "Описи методів" +msgid "Operator Descriptions" +msgstr "Описи операторів" + msgid "%d match." msgstr "%d відповідник." @@ -2276,12 +2619,21 @@ msgstr "Показати усе" msgid "Classes Only" msgstr "Лише класи" +msgid "Constructors Only" +msgstr "Тільки конструктори" + msgid "Methods Only" msgstr "Лише методи" +msgid "Operators Only" +msgstr "Тільки оператори" + msgid "Signals Only" msgstr "Лише сигнали" +msgid "Annotations Only" +msgstr "Тільки анотації" + msgid "Constants Only" msgstr "Лише сталі" @@ -2294,6 +2646,9 @@ msgstr "Лише властивості теми" msgid "Member Type" msgstr "Тип члена" +msgid "(constructors)" +msgstr "(конструктори)" + msgid "Class" msgstr "Клас" @@ -2303,6 +2658,9 @@ msgstr "Метод" msgid "Signal" msgstr "Сигнал" +msgid "Annotation" +msgstr "Анотація" + msgid "Constant" msgstr "Сталий" @@ -2312,6 +2670,12 @@ msgstr "Властивість" msgid "Theme Property" msgstr "Властивість теми" +msgid "This member is marked as deprecated." +msgstr "Цей член позначено як застарілий." + +msgid "This member is marked as experimental." +msgstr "Цей член позначений як експериментальний." + msgid "Property:" msgstr "Властивість:" @@ -2324,33 +2688,102 @@ msgstr "" msgid "Open Documentation" msgstr "Відкрити документацію" +msgid "Element %d: %s%d*" +msgstr "Елемент %d: %s%d*" + msgid "Move Up" msgstr "Перемістити вгору" msgid "Move Down" msgstr "Перемістити вниз" +msgid "Clear Array" +msgstr "Очистити масив" + +msgid "Resize Array..." +msgstr "Змінити розмір масиву..." + +msgid "Add Element" +msgstr "Додати елемент" + msgid "Resize Array" msgstr "Змінити розмір масиву" +msgid "New Size:" +msgstr "Новий розмір:" + +msgid "Element %s" +msgstr "Елемент %" + +msgid "Add Metadata" +msgstr "Додати метадані" + msgid "Set %s" msgstr "Встановити %s" msgid "Set Multiple:" msgstr "Встановити кратність:" +msgid "Remove metadata %s" +msgstr "Видалити метадані %s" + msgid "Pinned %s" msgstr "Пришпилено %s" msgid "Unpinned %s" msgstr "Відшпилено %s" +msgid "Add metadata %s" +msgstr "Додати метадані %s" + +msgid "Metadata name can't be empty." +msgstr "Назва метаданих не може бути порожньою." + +msgid "Metadata name must be a valid identifier." +msgstr "Назва метаданих має бути коректним ідентифікатором." + +msgid "Metadata with name \"%s\" already exists." +msgstr "Метадані з назвою \"%s\" вже існують." + +msgid "Names starting with _ are reserved for editor-only metadata." +msgstr "Назви, що починаються з _, зарезервовані лише для метаданих редактора." + +msgid "Metadata name is valid." +msgstr "Назва метаданих коректна." + +msgid "Add Metadata Property for \"%s\"" +msgstr "Додати властивість метаданих для \"%s\"" + +msgid "Copy Value" +msgstr "Копіювати значення" + +msgid "Paste Value" +msgstr "Вставити значення" + msgid "Copy Property Path" msgstr "Копіювати шлях до властивості" +msgid "Select existing layout:" +msgstr "Виберіть існуючий макет:" + +msgid "Changed Locale Language Filter" +msgstr "Змінено фільтр локальної мови" + +msgid "Changed Locale Script Filter" +msgstr "Змінено фільтр локальної писемності" + +msgid "Changed Locale Country Filter" +msgstr "Змінено фільтр локальної країни" + msgid "Changed Locale Filter Mode" msgstr "Змінено режим фільтрування локалі" +msgid "[Default]" +msgstr "[За замовчуванням]" + +msgid "Select a Locale" +msgstr "Виберіть локалізацію" + msgid "Show All Locales" msgstr "Показати усі локалізації" @@ -2363,15 +2796,56 @@ msgstr "Редагувати фільтри" msgid "Language:" msgstr "Мова:" +msgctxt "Locale" +msgid "Script:" +msgstr "Писемність:" + +msgid "Country:" +msgstr "Країна:" + +msgid "Language" +msgstr "Мова" + +msgctxt "Locale" +msgid "Script" +msgstr "Писемність" + +msgid "Country" +msgstr "Країна" + msgid "Variant" msgstr "Варіант" +msgid "Filter Messages" +msgstr "Фільтр повідомлень" + msgid "Clear Output" msgstr "Очистити вивід" msgid "Copy Selection" msgstr "Копіювати позначене" +msgid "" +"Collapse duplicate messages into one log entry. Shows number of occurrences." +msgstr "" +"Згорнути повторювані повідомлення в один запис журналу. Відображається " +"кількість повторень." + +msgid "Focus Search/Filter Bar" +msgstr "Перейти в поле Пошуку/Фільтру" + +msgid "Toggle visibility of standard output messages." +msgstr "Переключити видимість стандартних повідомлень виводу." + +msgid "Toggle visibility of errors." +msgstr "Переключити видимість помилок." + +msgid "Toggle visibility of warnings." +msgstr "Переключити видимість попереджень." + +msgid "Toggle visibility of editor messages." +msgstr "Переключити видимість повідомлень редактора." + msgid "New Window" msgstr "Нове вікно" @@ -2406,6 +2880,13 @@ msgstr "" "Цей ресурс неможливо зберегти, оскільки він не належить до редагованої " "сцени. Спочатку, зробіть його унікальним." +msgid "" +"This resource can't be saved because it was imported from another file. Make " +"it unique first." +msgstr "" +"Цей ресурс не може бути збережений, оскільки він був імпортований з іншого " +"файлу. Спочатку зробіть його унікальним." + msgid "Save Resource As..." msgstr "Зберегти ресурс як..." @@ -2418,6 +2899,22 @@ msgstr "Невідомий формат файлу:" msgid "Error while saving." msgstr "Помилка при збереженні." +msgid "Can't open file '%s'. The file could have been moved or deleted." +msgstr "" +"Не вдалося відкрити файл '%s'. Файл міг бути переміщений або видалений." + +msgid "Error while parsing file '%s'." +msgstr "Помилка при розборі файлу '%s'." + +msgid "Scene file '%s' appears to be invalid/corrupt." +msgstr "Файл сцени '%s' виглядає недійсним/пошкодженим." + +msgid "Missing file '%s' or one its dependencies." +msgstr "Відсутній файл '%s' або одна з його залежностей." + +msgid "Error while loading file '%s'." +msgstr "Помилка при завантаженні файлу '%s'." + msgid "Saving Scene" msgstr "Збереження сцени" @@ -2431,6 +2928,13 @@ msgid "This operation can't be done without a tree root." msgstr "Ця операція не може бути виконана без кореню дерева." msgid "" +"This scene can't be saved because there is a cyclic instance inclusion.\n" +"Please resolve it and then attempt to save again." +msgstr "" +"Цю сцену неможливо зберегти через циклічне включення екземпляра.\n" +"Будь ласка, приберіть це включення, потім повторіть спробу збереження." + +msgid "" "Couldn't save scene. Likely dependencies (instances or inheritance) couldn't " "be satisfied." msgstr "" @@ -2474,6 +2978,11 @@ msgstr "Назву компонування не знайдено!" msgid "Restored the Default layout to its base settings." msgstr "Відновлено початкові параметри типового компонування." +msgid "This object is marked as read-only, so it's not editable." +msgstr "" +"Цей об’єкт позначено як доступний лише для читання, тому його не можна " +"редагувати." + msgid "" "This resource belongs to a scene that was imported, so it's not editable.\n" "Please read the documentation relevant to importing scenes to better " @@ -2485,27 +2994,74 @@ msgstr "" "краще зрозуміти цей робочий процес." msgid "" +"This resource belongs to a scene that was instantiated or inherited.\n" +"Changes to it must be made inside the original scene." +msgstr "" +"Цей ресурс належить до сцени, яка була вставлена або успадкована.\n" +"Зміни до нього слід вносити всередині оригінальної сцени." + +msgid "" "This resource was imported, so it's not editable. Change its settings in the " "import panel and then re-import." msgstr "" "Цей ресурс імпортовано, тому його не можна редагувати. Змініть свої " "налаштування на панелі імпорту, а потім знову імпортуйте." +msgid "" +"This scene was imported, so changes to it won't be kept.\n" +"Instantiating or inheriting it will allow you to make changes to it.\n" +"Please read the documentation relevant to importing scenes to better " +"understand this workflow." +msgstr "" +"Ця сцена була імпортована, тому зміни до неї не зберігатимуться.\n" +"Інстансинґ або успадкування дозволить внесення змін до неї.\n" +"Будь ласка, прочитайте документацію, що стосується імпорту сцен, щоб краще " +"зрозуміти цей робочий процес." + msgid "Changes may be lost!" msgstr "Зміни можуть бути втрачені!" +msgid "This object is read-only." +msgstr "Цей об’єкт доступний лише для читання." + +msgid "" +"Movie Maker mode is enabled, but no movie file path has been specified.\n" +"A default movie file path can be specified in the project settings under the " +"Editor > Movie Writer category.\n" +"Alternatively, for running single scenes, a `movie_file` string metadata can " +"be added to the root node,\n" +"specifying the path to a movie file that will be used when recording that " +"scene." +msgstr "" +"Режим Movie Maker увімкнено, але шлях до файлу фільму не вказано.\n" +"Шлях до файлу фільму за замовчуванням можна вказати у Параметрах проекту у " +"категорії Редактор > Запис Фільму.\n" +"Крім того, для запуску окремих сцен до кореневого вузла можна додати " +"метадані рядка `movie_file`,\n" +"де буде вказано шлях до файла фільму, який буде використано під час запису " +"цієї сцени." + msgid "There is no defined scene to run." msgstr "Немає визначеної сцени для виконання." msgid "Save scene before running..." msgstr "Зберегти сцену перед запуском…" +msgid "Could not start subprocess(es)!" +msgstr "Не вдалося запустити підпроцес(и)!" + +msgid "Reload the played scene." +msgstr "Перезавантажити відтворену сцену." + msgid "Play the project." -msgstr "Запустити проєкт." +msgstr "Запустити проект." msgid "Play the edited scene." msgstr "Відтворити поточну відредаговану сцену." +msgid "Play a custom scene." +msgstr "Відтворити вибіркову сцену." + msgid "Open Base Scene" msgstr "Відкрити основну сцену" @@ -2521,9 +3077,15 @@ msgstr "Швидке відкриття скрипту..." msgid "Save & Reload" msgstr "Зберегти і перезавантажити" +msgid "Save modified resources before reloading?" +msgstr "Зберегти змінені ресурси перед перезавантаженням?" + msgid "Save & Quit" msgstr "Зберегти та вийти" +msgid "Save modified resources before closing?" +msgstr "Зберегти змінені ресурси перед закриттям?" + msgid "Save changes to '%s' before reloading?" msgstr "Зберегти зміни, внесені до «%s», перед перезавантаженням?" @@ -2559,12 +3121,30 @@ msgstr "Скасування неможливе, доки натиснуто к msgid "Nothing to undo." msgstr "Нічого скасовувати." +msgid "Global Undo: %s" +msgstr "Скасувати глобально: %s" + +msgid "Remote Undo: %s" +msgstr "Скасувати віддалено: %s" + +msgid "Scene Undo: %s" +msgstr "Скасувати в сцені: %s" + msgid "Can't redo while mouse buttons are pressed." msgstr "Повторення дій неможливе, доки натиснуто кнопки миші." msgid "Nothing to redo." msgstr "Нічого повторювати." +msgid "Global Redo: %s" +msgstr "Повторити глобально: %s" + +msgid "Remote Redo: %s" +msgstr "Повторити віддалено: %s" + +msgid "Scene Redo: %s" +msgstr "Повторити в сцені: %s" + msgid "Can't reload a scene that was never saved." msgstr "Неможливо перезавантажити сцену, яку ніколи не зберігали." @@ -2741,6 +3321,9 @@ msgstr "Панорамування зображення" msgid "Dock Position" msgstr "Положення панелей" +msgid "Make Floating" +msgstr "Зробити десятковим" + msgid "Add a new scene." msgstr "Додати нову сцену." @@ -2762,6 +3345,18 @@ msgstr "Перейти до раніше відкритої сцени." msgid "Copy Text" msgstr "Копіювати текст" +msgid "Next Scene Tab" +msgstr "Наступна Вкладка Сцени" + +msgid "Previous Scene Tab" +msgstr "Попередня Вкладка Сцени" + +msgid "Focus FileSystem Filter" +msgstr "Фокусуватися на фільтрі Файлової Системи" + +msgid "Command Palette" +msgstr "Палітра команд" + msgid "New Scene" msgstr "Нова сцена" @@ -2780,8 +3375,11 @@ msgstr "Відкрити останні" msgid "Save Scene" msgstr "Зберегти сцену" +msgid "Export As..." +msgstr "Експортувати як…" + msgid "MeshLibrary..." -msgstr "Бібліотека сітки..." +msgstr "Бібліотека мешів..." msgid "Close Scene" msgstr "Закрити сцену" @@ -2795,9 +3393,18 @@ msgstr "Проєкт" msgid "Project Settings..." msgstr "Параметри проєкту…" +msgid "Project Settings" +msgstr "Параметри проекту" + msgid "Version Control" msgstr "Керування версіями" +msgid "Create Version Control Metadata" +msgstr "Створення метаданих керування версіями" + +msgid "Version Control Settings" +msgstr "Параметри контроля версій" + msgid "Export..." msgstr "Експортувати…" @@ -2807,6 +3414,9 @@ msgstr "Встановити шаблон збирання для Android…" msgid "Open User Data Folder" msgstr "Відкриття теки даних користувача" +msgid "Customize Engine Build Configuration..." +msgstr "Налаштувати конфігурацію збірки рушія..." + msgid "Tools" msgstr "Інструменти" @@ -2825,6 +3435,9 @@ msgstr "Редактор" msgid "Editor Settings..." msgstr "Параметри редактора…" +msgid "Command Palette..." +msgstr "Палітра команд..." + msgid "Editor Layout" msgstr "Редактор компонування" @@ -2852,6 +3465,9 @@ msgstr "Керування можливостями редактора…" msgid "Manage Export Templates..." msgstr "Керування шаблонами експортування…" +msgid "Configure FBX Importer..." +msgstr "Налаштувати імпортер FBX..." + msgid "Help" msgstr "Довідка" @@ -2879,15 +3495,63 @@ msgstr "Про Godot" msgid "Support Godot Development" msgstr "Підтримати розробку Godot" +msgid "Run the project's default scene." +msgstr "Запустити сцену проекту за замовчуванням." + msgid "Run Project" -msgstr "Запустити проєкт" +msgstr "Запустити проект" + +msgid "Pause the running project's execution for debugging." +msgstr "Призупинити виконання запущеного проекту для налагодження." + +msgid "Pause Running Project" +msgstr "Призупинити запущений проект" + +msgid "Stop the currently running project." +msgstr "Зупинити поточний проект." + +msgid "Stop Running Project" +msgstr "Зупинити виконання проекту" + +msgid "Run the currently edited scene." +msgstr "Запустити поточну відредаговану сцену." + +msgid "Run Current Scene" +msgstr "Запустити поточну сцену" + +msgid "Run a specific scene." +msgstr "Запустити певну сцену." + +msgid "Run Specific Scene" +msgstr "Запустити певну сцену" + +msgid "" +"Enable Movie Maker mode.\n" +"The project will run at stable FPS and the visual and audio output will be " +"recorded to a video file." +msgstr "" +"Увімкніть режим Movie Maker.\n" +"Проект працюватиме зі стабільною частотою кадрів, а візуальний і звуковий " +"вихід буде записаний у відеофайл." + +msgid "Choose a renderer." +msgstr "Виберіть рендерер." + +msgid "Mobile" +msgstr "Мобільний" msgid "Compatibility" msgstr "Сумісність" +msgid "Changing the renderer requires restarting the editor." +msgstr "Зміна рендерера вимагає перезапуску редактора." + msgid "Update Continuously" msgstr "Оновлювати неперервно" +msgid "Update When Changed" +msgstr "Оновлення при зміні" + msgid "Hide Update Spinner" msgstr "Приховати оновлення лічильника" @@ -2900,11 +3564,14 @@ msgstr "Інспектор" msgid "Node" msgstr "Вузол" +msgid "History" +msgstr "Історія" + msgid "Expand Bottom Panel" msgstr "Розгорнути нижню панель" msgid "Output" -msgstr "Результат" +msgstr "Вивід" msgid "Don't Save" msgstr "Не зберігати" @@ -2920,6 +3587,26 @@ msgstr "Керування шаблонами" msgid "Install from file" msgstr "Встановити з файла" +msgid "Select Android sources file" +msgstr "Виберіть файл вихідних кодів Android" + +msgid "" +"This will set up your project for gradle Android builds by installing the " +"source template to \"res://android/build\".\n" +"You can then apply modifications and build your own custom APK on export " +"(adding modules, changing the AndroidManifest.xml, etc.).\n" +"Note that in order to make gradle builds instead of using pre-built APKs, " +"the \"Use Gradle Build\" option should be enabled in the Android export " +"preset." +msgstr "" +"Це налаштує ваш проєкт на використання нетипових збірок Android шляхом " +"встановлення шаблона джерела до «res://android/build».\n" +"Далі, ви можете внести зміни і зібрати власний нетиповий APK при " +"експортуванні (додаючи модулі, змінюючи AndroidManifest.xml тощо).\n" +"Зауважте, що з метою створення нетипових збірок, замість використання " +"попередньо зібраних APK, слід позначити пункт \"Скористатися нетиповою " +"збіркою\" у шаблоні експортування Android." + msgid "" "The Android build template is already installed in this project and it won't " "be overwritten.\n" @@ -2988,6 +3675,9 @@ msgstr "Відкрити наступний редактор" msgid "Open the previous Editor" msgstr "Відкрити попередній редактор" +msgid "Ok" +msgstr "Ок" + msgid "Warning!" msgstr "Увага!" @@ -3012,6 +3702,9 @@ msgstr "Редагування додатка" msgid "Installed Plugins:" msgstr "Встановлені плаґіни:" +msgid "Create New Plugin" +msgstr "Створити новий плагін" + msgid "Version" msgstr "Версія" @@ -3027,6 +3720,9 @@ msgstr "Редагувати текст:" msgid "On" msgstr "Увімкнено" +msgid "Renaming layer %d:" +msgstr "Перейменування шару %d:" + msgid "No name provided." msgstr "Ім'я не вказано." @@ -3039,12 +3735,45 @@ msgstr "Біт %d, значення %d" msgid "Rename" msgstr "Перейменувати" +msgid "Rename layer" +msgstr "Перейменувати шар" + +msgid "Layer %d" +msgstr "Шар %d" + +msgid "No Named Layers" +msgstr "Нема названих шарів" + +msgid "Edit Layer Names" +msgstr "Редагувати назви шарів" + +msgid "<empty>" +msgstr "<порожньо>" + +msgid "Temporary Euler may be changed implicitly!" +msgstr "Тимчасовий Ейлер може бути змінений неявно!" + +msgid "" +"Temporary Euler will not be stored in the object with the original value. " +"Instead, it will be stored as Quaternion with irreversible conversion.\n" +"This is due to the fact that the result of Euler->Quaternion can be " +"determined uniquely, but the result of Quaternion->Euler can be multi-" +"existent." +msgstr "" +"Тимчасове значення Ейлера не буде зберігатися в об’єкті з початковим " +"значенням. Воно буде збережено як кватерніон із незворотним перетворенням.\n" +"Це через те, що результат Ейлер->Кватерніон визначається однозначно, а " +"результат Кватерніон->Ейлер може бути різним." + msgid "Assign..." msgstr "Призначити…" msgid "Invalid RID" msgstr "Некоректний RID" +msgid "Recursion detected, unable to assign resource to property." +msgstr "Виявлено рекурсію, не вдається призначити ресурс властивості." + msgid "" "Can't create a ViewportTexture on resources saved as a file.\n" "Resource needs to belong to a scene." @@ -3070,12 +3799,21 @@ msgstr "Виберіть панель перегляду" msgid "Selected node is not a Viewport!" msgstr "Позначений вузол не є панеллю перегляду!" +msgid "%s (size %s)" +msgstr "%s (розмір %s)" + msgid "Size:" msgstr "Розмір:" msgid "Remove Item" msgstr "Вилучити елемент" +msgid "Dictionary (Nil)" +msgstr "Словник (Nil)" + +msgid "Dictionary (size %d)" +msgstr "Словник (розмір %d)" + msgid "New Key:" msgstr "Новий ключ:" @@ -3085,6 +3823,15 @@ msgstr "Нове значення:" msgid "Add Key/Value Pair" msgstr "Додати пару ключ-значення" +msgid "Localizable String (Nil)" +msgstr "Локалізуючий рядок (Nil)" + +msgid "Localizable String (size %d)" +msgstr "Локалізуючий рядок (розмір %d)" + +msgid "Add Translation" +msgstr "Додати переклад" + msgid "" "The selected resource (%s) does not match any type expected for this " "property (%s)." @@ -3095,9 +3842,15 @@ msgstr "" msgid "Quick Load" msgstr "Швидке завантаження" +msgid "Inspect" +msgstr "Оглянути" + msgid "Make Unique" msgstr "Зробити унікальним" +msgid "Make Unique (Recursive)" +msgstr "Зробити унікальним (Рекурсивним)" + msgid "Convert to %s" msgstr "Перетворити до %s" @@ -3110,6 +3863,15 @@ msgstr "Новий скрипт" msgid "Extend Script" msgstr "Розширити скрипт" +msgid "New Shader" +msgstr "Новий шейдер" + +msgid "No Remote Debug export presets configured." +msgstr "Не налаштовано пресети експорту віддаленого налагодження." + +msgid "Remote Debug" +msgstr "Віддалене налагодження" + msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the Export menu or define an existing preset " @@ -3129,6 +3891,17 @@ msgstr "Напишіть свою логіку в методі _run ()." msgid "There is an edited scene already." msgstr "Редагована сцена вже існує." +msgid "" +"Couldn't run editor script, did you forget to override the '_run' method?" +msgstr "" +"Не вдалося запустити скрипт редактора, ви забули перевизначити метод '_run'?" + +msgid "Edit Built-in Action" +msgstr "Редагувати вбудовану дію" + +msgid "Edit Shortcut" +msgstr "Редагувати ярлик" + msgid "Common" msgstr "Загальні" @@ -3138,6 +3911,9 @@ msgstr "Параметри редактора" msgid "General" msgstr "Загальне" +msgid "Filter Settings" +msgstr "Фільтрувати параметри" + msgid "The editor must be restarted for changes to take effect." msgstr "Щоб зміни набули чинності, редактор слід перезапустити." @@ -3147,12 +3923,81 @@ msgstr "Клавіатурні скорочення" msgid "Binding" msgstr "Палітурка" +msgid "" +"Hold %s to round to integers.\n" +"Hold Shift for more precise changes." +msgstr "" +"Утримуйте натиснутою %s, щоб заокруглити до цілих.\n" +"Утримуйте натиснутою Shift, щоб зміни були точнішими." + +msgid "No notifications." +msgstr "Нема сповіщень." + +msgid "Show notifications." +msgstr "Показати сповіщення." + +msgid "Silence the notifications." +msgstr "Вимкнути сповіщення." + +msgid "Joystick 2 Left" +msgstr "Джойстик 2 Лівий" + +msgid "Joystick 2 Up" +msgstr "Джойстик 2 Вгору" + +msgid "Joystick 3 Left" +msgstr "Джойстик 3 Лівий" + +msgid "Joystick 3 Right" +msgstr "Джойстик 3 Вправо" + +msgid "Joystick 3 Up" +msgstr "Джойстик 3 Вгору" + +msgid "Joystick 3 Down" +msgstr "Джойстик 3 Вниз" + +msgid "Joystick 4 Left" +msgstr "Джойстик 4 Вліво" + +msgid "Joystick 4 Right" +msgstr "Джойстик 4 Вправо" + +msgid "Joystick 4 Up" +msgstr "Джойстик 4 Вгору" + +msgid "Joystick 4 Down" +msgstr "Джойстик 4 Вниз" + +msgid "Joypad Axis %d %s (%s)" +msgstr "Вісь джойстика %d %s (%s)" + msgid "All Devices" msgstr "Усі пристрої" msgid "Device" msgstr "Пристрій" +msgid "Listening for input..." +msgstr "Очікування введення..." + +msgid "Filter by event..." +msgstr "Фільтрувати за подіями..." + +msgid "" +"Target platform requires 'ETC2/ASTC' texture compression. Enable 'Import " +"ETC2 ASTC' in Project Settings." +msgstr "" +"Платформа призначення потребує стиснення текстур 'ETC2/ASTC'. Увімкніть " +"пункт 'Імпортувати ETC2 ASTC' у Параметрах проекту." + +msgid "" +"Target platform requires 'S3TC/BPTC' texture compression. Enable 'Import " +"S3TC BPTC' in Project Settings." +msgstr "" +"Платформа призначення вимагає стиснення текстур 'S3TC/BPTC'. Увімкніть опцію " +"'Імпортувати S3TC BPTC' у Параметрах проекту." + msgid "Project export for platform:" msgstr "Експортування проєкту для платформи:" @@ -3165,12 +4010,21 @@ msgstr "Завершено успішно." msgid "Failed." msgstr "Помилка." +msgid "Storing File: %s" +msgstr "Збереження файлу: %s" + msgid "Storing File:" msgstr "Збереження файлу:" msgid "No export template found at the expected path:" msgstr "У очікуваному каталозі не знайдено шаблонів експортування:" +msgid "ZIP Creation" +msgstr "Створення ZIP" + +msgid "Could not open file to read from path \"%s\"." +msgstr "Не вдалося відкрити файл для читання з шляху \"%s\"." + msgid "Packing" msgstr "Пакування" @@ -3183,8 +4037,20 @@ msgstr "Не вдалося створити файл «%s»." msgid "Failed to export project files." msgstr "Не вдалося експортувати файли проєкту." +msgid "Can't open file for writing at path \"%s\"." +msgstr "Неможливо відкрити для запису файл по шляху \"%s\"." + +msgid "Can't open file for reading-writing at path \"%s\"." +msgstr "Не вдалося відкрити файл для читання-запису по шляху \"%s\"." + +msgid "Can't create encrypted file." +msgstr "Не вдається створити зашифрований файл." + +msgid "Can't open encrypted file to write." +msgstr "Не вдається відкрити зашифрований файл для запису." + msgid "Can't open file to read from path \"%s\"." -msgstr "Не вдалося відкрити файл для читання зі шляху «%s»." +msgstr "Не вдається відкрити файл для читання зі шляху \"%s\"." msgid "Save ZIP" msgstr "Зберегти ZIP" @@ -3312,6 +4178,9 @@ msgstr "Завантаження" msgid "Connection Error" msgstr "Помилка з'єднання" +msgid "TLS Handshake Error" +msgstr "Помилка TLS Рукостискання" + msgid "Can't open the export templates file." msgstr "Не вдалося відкрити файл шаблонів експортування." @@ -3426,6 +4295,9 @@ msgstr "" msgid "Delete preset '%s'?" msgstr "Вилучити набір «%s»?" +msgid "%s Export" +msgstr "Експорт на %s" + msgid "Release" msgstr "Випуск" @@ -3466,6 +4338,12 @@ msgstr "Експортувати позначені ресурси (і зале msgid "Export selected resources (and dependencies)" msgstr "Експортувати позначені ресурси (і залежності)" +msgid "Export all resources in the project except resources checked below" +msgstr "Експортувати усі ресурси у проекті, крім відмічених нижче" + +msgid "Export as dedicated server" +msgstr "Експортувати як виділений сервер" + msgid "Export Mode:" msgstr "Режим експортування:" @@ -3498,10 +4376,36 @@ msgstr "Нетипове (з відокремленням комами):" msgid "Feature List:" msgstr "Список можливостей:" +msgid "Encryption" +msgstr "Шифрування" + +msgid "Encrypt Exported PCK" +msgstr "Зашифрувати експортований PCK" + +msgid "Encrypt Index (File Names and Info)" +msgstr "Зашифрувати індекс (Назви файлів та Інформацію)" + +msgid "" +"Filters to include files/folders\n" +"(comma-separated, e.g: *.tscn, *.tres, scenes/*)" +msgstr "" +"Фільтри для включення файлів/тек\n" +"(через кому, наприклад: *.tscn, *.tres, scenes/*)" + +msgid "" +"Filters to exclude files/folders\n" +"(comma-separated, e.g: *.ctex, *.import, music/*)" +msgstr "" +"Фільтри для виключення файлів/тек\n" +"(через кому, наприклад: *.ctex, *.import, music/*)" + msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)" msgstr "" "Некоректний ключ шифрування (ключ має складатися із 64 шістнадцяткових цифр)" +msgid "Encryption Key (256-bits as hexadecimal):" +msgstr "Ключ шифрування (256-біт, як шістнадцяткове число):" + msgid "" "Note: Encryption key needs to be stored in the binary,\n" "you need to build the export templates from source." @@ -3512,6 +4416,9 @@ msgstr "" msgid "More Info..." msgstr "Додаткова інформація…" +msgid "Export PCK/ZIP..." +msgstr "Експортувати PCK/ZIP..." + msgid "Export Project..." msgstr "Експортувати проєкт…" @@ -3542,9 +4449,37 @@ msgstr "Керування шаблонами експорту" msgid "Export With Debug" msgstr "Експортувати із діагностикою" +msgid "Path to FBX2glTF executable is empty." +msgstr "Шлях до виконуваного файлу FBX2glTF порожній." + +msgid "Path to FBX2glTF executable is invalid." +msgstr "Шлях до виконуваного файлу FBX2glTF невірний." + +msgid "Error executing this file (wrong version or architecture)." +msgstr "Помилка при виконанні цього файлу (невірна версія або архітектура)." + +msgid "FBX2glTF executable is valid." +msgstr "Виконуваний файл FBX2glTF є дійсним." + +msgid "Configure FBX Importer" +msgstr "Налаштування імпортера FBX" + +msgid "" +"FBX2glTF is required for importing FBX files.\n" +"Please download it and provide a valid path to the binary:" +msgstr "" +"FBX2glTF необхідний для імпорту FBX файлів.\n" +"Будь ласка, завантажте його та вкажіть правильний шлях до бінарного файлу:" + +msgid "Click this link to download FBX2glTF" +msgstr "Натисніть на це посилання, щоб завантажити FBX2glTF" + msgid "Browse" msgstr "Вибрати" +msgid "Confirm Path" +msgstr "Підтвердіть шлях" + msgid "Favorites" msgstr "Вибране" @@ -3571,6 +4506,12 @@ msgstr "Помилка переміщення:" msgid "Error duplicating:" msgstr "Помилка дублювання:" +msgid "Failed to save resource at %s: %s" +msgstr "Не вдалося зберегти ресурс на %s: %s" + +msgid "Failed to load resource at %s: %s" +msgstr "Не вдалося завантажити ресурс з %s: %s" + msgid "Unable to update dependencies:" msgstr "Неможливо оновити залежності:" @@ -3640,15 +4581,36 @@ msgstr "Переглянути власників..." msgid "Move To..." msgstr "Перемістити до..." +msgid "Folder..." +msgstr "Тека..." + +msgid "Scene..." +msgstr "Сцена…" + +msgid "Script..." +msgstr "Скрипт…" + +msgid "Resource..." +msgstr "Ресурс…" + +msgid "TextFile..." +msgstr "Текстовий файл…" + msgid "New Scene..." -msgstr "Створити сцену…" +msgstr "Нова сцена…" msgid "New Script..." -msgstr "Створити скрипт…" +msgstr "Новий скрипт…" msgid "New Resource..." msgstr "Створити ресурс…" +msgid "New TextFile..." +msgstr "Новий текстовий файл…" + +msgid "Sort Files" +msgstr "Впорядкувати файли" + msgid "Sort by Name (Ascending)" msgstr "Упорядкувати за назвою (зростання)" @@ -3667,18 +4629,33 @@ msgstr "Упорядкувати за останнім внесенням змі msgid "Sort by First Modified" msgstr "Упорядкувати за початковим внесенням змін" +msgid "Copy UID" +msgstr "Копіювати UID" + msgid "Duplicate..." msgstr "Дублювати..." msgid "Rename..." msgstr "Перейменувати..." +msgid "Open in External Program" +msgstr "Відкрити в зовнішній програмі" + +msgid "Go to previous selected folder/file." +msgstr "Перейти до попередньої вибраної теки/файлу." + +msgid "Go to next selected folder/file." +msgstr "Перейти до наступної теки/файлу." + msgid "Re-Scan Filesystem" msgstr "Пересканування файлової системи" msgid "Toggle Split Mode" msgstr "Перемкнути режим поділу" +msgid "Filter Files" +msgstr "Фільтрувати файли" + msgid "" "Scanning Files,\n" "Please Wait..." @@ -3726,9 +4703,21 @@ msgstr "Замінити..." msgid "Replace in Files" msgstr "Замінити у файлах" +msgid "Replace all (no undo)" +msgstr "Замінити всі (без скасування)" + msgid "Searching..." msgstr "Шукаємо…" +msgid "%d match in %d file" +msgstr "%d відповідник у %d файлі" + +msgid "%d matches in %d file" +msgstr "%d відповідників у %d файлі" + +msgid "%d matches in %d files" +msgstr "%d відповідників у %d файлах" + msgid "Add to Group" msgstr "Додати до групи" @@ -3765,12 +4754,190 @@ msgstr "Редактор груп" msgid "Manage Groups" msgstr "Керування групами" +msgid "The Beginning" +msgstr "Початок" + +msgid "Global" +msgstr "Загально" + +msgid "Audio Stream Importer: %s" +msgstr "Імпортер аудіо-потоку: %s" + msgid "Reimport" msgstr "Переімпортувати" +msgid "Enable looping." +msgstr "Зациклити." + msgid "Offset:" msgstr "Зсув:" +msgid "" +"Loop offset (from beginning). Note that if BPM is set, this setting will be " +"ignored." +msgstr "" +"Зсув циклу (від початку). Зауважте, що якщо задано BPM, цей параметр буде " +"ігноруватися." + +msgid "Loop:" +msgstr "Цикл:" + +msgid "" +"Configure the Beats Per Measure (tempo) used for the interactive streams.\n" +"This is required in order to configure beat information." +msgstr "" +"Встановіть кількість ударів на такт (BPM)(темп), для інтерактивних потоків.\n" +"Це потрібно для того, щоб налаштувати інформацію про ритм." + +msgid "Beat Count:" +msgstr "Кількість ударів:" + +msgid "" +"Configure the amount of Beats used for music-aware looping. If zero, it will " +"be autodetected from the length.\n" +"It is recommended to set this value (either manually or by clicking on a " +"beat number in the preview) to ensure looping works properly." +msgstr "" +"Налаштуйте кількість ударів, що використовуються для зациклення музики. Якщо " +"значення дорівнює нулю, його буде автоматично визначено з довжини.\n" +"Рекомендується встановити це значення (або вручну, або натиснувши на номер " +"такту у попередньому перегляді), щоб зациклення працювало належним чином." + +msgid "Bar Beats:" +msgstr "Ударів у такті:" + +msgid "" +"Configure the Beats Per Bar. This used for music-aware transitions between " +"AudioStreams." +msgstr "" +"Налаштуйте кількість Ударів на такт. Використовується для переходів між " +"аудіопотоками з урахуванням музики." + +msgid "Music Playback:" +msgstr "Відтворення музики:" + +msgid "New Configuration" +msgstr "Нова конфігурація" + +msgid "Remove Variation" +msgstr "Вилучити варіацію" + +msgid "Preloaded glyphs: %d" +msgstr "Попередньо завантажені гліфи: %d" + +msgid "" +"Warning: There are no configurations specified, no glyphs will be pre-" +"rendered." +msgstr "" +"Попередження: Не вказано жодних конфігурацій, жодні гліфи не будуть " +"попередньо відрендерені." + +msgid "" +"Warning: Multiple configurations have identical settings. Duplicates will be " +"ignored." +msgstr "" +"Попередження: Кілька конфігурацій мають однакові параметри. Дублікати будуть " +"проігноровані." + +msgid "" +"Note: LCD Subpixel antialiasing is selected, each of the glyphs will be pre-" +"rendered for all supported subpixel layouts (5x)." +msgstr "" +"Примітка: Якщо вибрано згладжування LCD Subpixel, кожен гліф буде попередньо " +"відрендерено для всіх підтримуваних субпіксельних макетів (5x)." + +msgid "" +"Note: Subpixel positioning is selected, each of the glyphs might be pre-" +"rendered for multiple subpixel offsets (up to 4x)." +msgstr "" +"Примітка: Вибрано субпіксельне позиціонування, кожен гліф може бути " +"попередньо відрендерений для декількох субпіксельних зсувів (до 4x)." + +msgid "Advanced Import Settings for '%s'" +msgstr "Розширені параметри імпорту для '%s'" + +msgid "Rendering Options" +msgstr "Параметри рендерингу" + +msgid "Select font rendering options, fallback font, and metadata override:" +msgstr "" +"Виберіть параметри рендерингу шрифту, запасний шрифт і перевизначення " +"метаданих:" + +msgid "Pre-render Configurations" +msgstr "Конфігурації попереднього рендерингу" + +msgid "" +"Add font size, and variation coordinates, and select glyphs to pre-render:" +msgstr "" +"Додайте розмір шрифту, координати варіацій і виберіть гліфи для попереднього " +"рендеру:" + +msgid "Configuration:" +msgstr "Конфігурація:" + +msgid "Add configuration" +msgstr "Додати конфігурацію" + +msgid "Clear Glyph List" +msgstr "Очистити список гліфів" + +msgid "Glyphs from the Translations" +msgstr "Гліфи з перекладів" + +msgid "Select translations to add all required glyphs to pre-render list:" +msgstr "" +"Виберіть переклад, щоб додати всі необхідні гліфи до списку попереднього " +"рендеру:" + +msgid "Shape all Strings in the Translations and Add Glyphs" +msgstr "Надайте форму всім Рядкам у Перекладах і Додайте гліфи" + +msgid "Glyphs from the Text" +msgstr "Гліфи з тексту" + +msgid "" +"Enter a text and select OpenType features to shape and add all required " +"glyphs to pre-render list:" +msgstr "" +"Введіть текст і виберіть функції OpenType, щоб сформувати і додати всі " +"необхідні гліфи до списку попереднього рендеру:" + +msgid "Shape Text and Add Glyphs" +msgstr "Формування тексту та Додавання гліфів" + +msgid "Glyphs from the Character Map" +msgstr "Гліфи з Карти символів" + +msgid "" +"Add or remove glyphs from the character map to pre-render list:\n" +"Note: Some stylistic alternatives and glyph variants do not have one-to-one " +"correspondence to character, and not shown in this map, use \"Glyphs from " +"the text\" tab to add these." +msgstr "" +"Додайте або видаліть гліфи з карти символів до списку попереднього рендеру:\n" +"Примітка: Деякі стилістичні альтернативи та варіанти гліфів не мають точної " +"відповідності до символів і не показані в цій карті, використовуйте вкладку " +"\"Гліфи з тексту\", щоб додати їх." + +msgid "Dynamically rendered TrueType/OpenType font" +msgstr "Динамічно відрендерений шрифт TrueType/OpenType" + +msgid "Prerendered multichannel(+true) signed distance field" +msgstr "Попередньо відрендерене багатоканальне (+true) поле відстані зі знаком" + +msgid "Can't load font texture:" +msgstr "Не вдається завантажити текстуру шрифту:" + +msgid "Image margin too big." +msgstr "Занадто велике поле зображення." + +msgid "Character margin too bit." +msgstr "Поле символа занадто мале." + +msgid "Pre-Import Scene" +msgstr "Попередній імпорт сцени" + msgid "Importing Scene..." msgstr "Імпортування сцени..." @@ -3789,10 +4956,20 @@ msgstr "Пошкоджений/зламаний скрипт для пост-і msgid "Error running post-import script:" msgstr "Помилка запуску після імпорту скрипту:" +msgid "Did you return a Node-derived object in the `_post_import()` method?" +msgstr "Ви повернули похідний об'єкт Node (Вузла) у методі `_post_import()`?" + msgid "Saving..." msgstr "Збереження..." msgid "" +"Error importing GLSL shader file: '%s'. Open the file in the filesystem dock " +"in order to see the reason." +msgstr "" +"Помилка імпортування файлу шейдерів GLSL: '%s'. Відкрийте файл на панелі " +"Файлової системи, щоб з'ясувати причину." + +msgid "" "%s: Texture detected as used as a normal map in 3D. Enabling red-green " "texture compression to reduce memory usage (blue channel is discarded)." msgstr "" @@ -3800,18 +4977,159 @@ msgstr "" "формі. Вмикаємо стискання червоно-зеленої текстури для зменшення споживання " "пам'яті (канал синього відкинуто)." +msgid "" +"%s: Texture detected as used as a roughness map in 3D. Enabling roughness " +"limiter based on the detected associated normal map at %s." +msgstr "" +"%s: Виявлена текстура використовується як карта шорсткості у 3D. Увімкнення " +"обмежувача шорсткості на основі виявленої асоційованої карти нормалей у %s." + +msgid "" +"%s: Texture detected as used in 3D. Enabling mipmap generation and setting " +"the texture compression mode to %s." +msgstr "" +"%s: Виявлено текстуру, що використовується у 3D. Увімкнення генерації mipmap " +"і встановлення режиму стиснення текстури на %s." + +msgid "2D/3D (Auto-Detect)" +msgstr "2D/3D (автовизначення)" + msgid "2D" msgstr "Двовимірна графіка" msgid "3D" msgstr "Просторова графіка" +msgid "<Unnamed Material>" +msgstr "<Безіменний матеріал>" + +msgid "Import ID: %s" +msgstr "Ідентифікатор імпорту: %s" + +msgid "" +"Type: %s\n" +"Import ID: %s" +msgstr "" +"Тип: %s\n" +"Ідентифікатор імпорту: %s" + +msgid "Error opening scene" +msgstr "Помилка відкриття сцени" + +msgid "Advanced Import Settings for AnimationLibrary '%s'" +msgstr "Додаткові параметри імпорту для AnimationLibrary '%s'" + +msgid "Advanced Import Settings for Scene '%s'" +msgstr "Додаткові параметри імпорту для Сцени '%s'" + +msgid "Select folder to extract material resources" +msgstr "Виберіть теку для вилучення матеріальних ресурсів" + +msgid "Select folder where mesh resources will save on import" +msgstr "Виберіть теку, куди будуть збережені ресурси мешів при імпорті" + +msgid "Select folder where animations will save on import" +msgstr "Виберіть теку, куди будуть збережені анімації після імпорту" + +msgid "Existing file with the same name will be replaced." +msgstr "Існуючий файл з такою самою назвою буде замінено." + +msgid "" +"This material already references an external file, no action will be taken.\n" +"Disable the external property for it to be extracted again." +msgstr "" +"Цей матеріал вже посилається на зовнішній файл, ніяких дій не буде " +"виконано.\n" +"Вимкніть зовнішню властивість, щоб витягти його знову." + +msgid "" +"Material has no name nor any other way to identify on re-import.\n" +"Please name it or ensure it is exported with an unique ID." +msgstr "" +"Матеріал не має назви або іншого способу ідентифікації при повторному " +"імпорті.\n" +"Будь ласка, дайте йому назву або переконайтеся, що він експортується з " +"унікальним ідентифікатором." + +msgid "Extract Materials to Resource Files" +msgstr "Витягнути матеріали у Файли ресурсів" + +msgid "Extract" +msgstr "Витяг" + +msgid "" +"This mesh already saves to an external resource, no action will be taken." +msgstr "" +"Цей меш вже зберігається на зовнішньому ресурсі, жодних дій виконуватися не " +"буде." + +msgid "Existing file with the same name will be replaced on import." +msgstr "Існуючий файл з такою самою назвою буде замінено при імпорті." + +msgid "" +"Mesh has no name nor any other way to identify on re-import.\n" +"Please name it or ensure it is exported with an unique ID." +msgstr "" +"Меш не має назви або іншого способу ідентифікації при повторному імпорті.\n" +"Будь ласка, дайте йому ім'я або переконайтеся, що він експортується з " +"унікальним ідентифікатором." + +msgid "Set paths to save meshes as resource files on Reimport" +msgstr "" +"Задати шляхи для збереження мешів як файлів ресурсів при Повторному імпорті" + +msgid "Set Paths" +msgstr "Встановити шляхи" + +msgid "" +"This animation already saves to an external resource, no action will be " +"taken." +msgstr "" +"Ця анімація вже зберігається на зовнішньому ресурсі, ніяких дій не буде " +"виконано." + +msgid "Set paths to save animations as resource files on Reimport" +msgstr "" +"Задати шляхи для збереження анімацій як файлів ресурсів при Повторному " +"імпорті" + +msgid "Can't make material external to file, write error:" +msgstr "" +"Неможливо зробити матеріал зовнішнім по відношенню до файлу, помилка запису:" + +msgid "Actions..." +msgstr "Дії..." + +msgid "Extract Materials" +msgstr "Витягти матеріали" + +msgid "Set Animation Save Paths" +msgstr "Встановити шляхи збереження анімації" + +msgid "Set Mesh Save Paths" +msgstr "Встановити шляхи збереження меша" + msgid "Meshes" -msgstr "Сітка" +msgstr "Меші" msgid "Materials" msgstr "Матеріали" +msgid "Save Extension:" +msgstr "Зберегти розширення:" + +msgid "Text: *.tres" +msgstr "Текст: *.tres" + +msgid "Binary: *.res" +msgstr "Двійкові: *.res" + +msgid "Text Resource" +msgstr "Текстовий ресурс" + +msgid "Binary Resource" +msgstr "Двійковий ресурс" + msgid "Select Importer" msgstr "Виберіть засіб імпортування" @@ -3848,6 +5166,9 @@ msgstr "Імпортувати як:" msgid "Preset" msgstr "Набір" +msgid "Advanced..." +msgstr "Додатково..." + msgid "Save Scenes, Re-Import, and Restart" msgstr "Зберегти сцени, повторно імпортувати і перезапустити" @@ -3867,12 +5188,70 @@ msgstr "" "Виберіть файл ресурсів у файловій системі або у інспекторі для коригування " "параметрів імпортування." +msgid "No Event Configured" +msgstr "Подія не налаштована" + +msgid "Keyboard Keys" +msgstr "Клавіші клавіатури" + +msgid "Mouse Buttons" +msgstr "Кнопки мишки" + +msgid "Joypad Buttons" +msgstr "Кнопки джойстика" + +msgid "Joypad Axes" +msgstr "Осі джойстика" + +msgid "Event Configuration" +msgstr "Конфігурація події" + +msgid "Manual Selection" +msgstr "Ручний вибір" + +msgid "Filter Inputs" +msgstr "Фільтрувати введення" + +msgid "Additional Options" +msgstr "Додаткові параметри" + msgid "Device:" msgstr "Пристрій:" +msgid "Command / Control (auto)" +msgstr "Command / Control (автоматично)" + +msgid "" +"Automatically remaps between 'Meta' ('Command') and 'Control' depending on " +"current platform." +msgstr "" +"Автоматичне перемикається між 'Meta' ('Command') і 'Control' залежно від " +"поточної платформи." + +msgid "Keycode (Latin Equivalent)" +msgstr "Код клавіші (латинський еквівалент)" + +msgid "Physical Keycode (Position on US QWERTY Keyboard)" +msgstr "Фізичний код клавіші (позиція на американській QWERTY-клавіатурі)" + +msgid "Key Label (Unicode, Case-Insensitive)" +msgstr "Мітка клавіші (Unicode, без урахування регістру)" + +msgid "" +"The following resources will be duplicated and embedded within this resource/" +"object." +msgstr "" +"Наступні ресурси будуть продубльовані та вбудовані в цей ресурс/об'єкт." + +msgid "This object has no resources." +msgstr "Цей об'єкт не має ресурсів." + msgid "Failed to load resource." msgstr "Не вдалося завантажити ресурс." +msgid "(Current)" +msgstr "(Поточний)" + msgid "Property Name Style" msgstr "Стиль назв властивостей" @@ -3921,15 +5300,27 @@ msgstr "Копіювати ресурс" msgid "Make Resource Built-In" msgstr "Зробити ресурс вбудованим" +msgid "Go to previous edited object in history." +msgstr "Перейти до попереднього редагованого об'єкта в історії." + +msgid "Go to next edited object in history." +msgstr "Перейти до наступного редагованого об'єкта в історії." + msgid "History of recently edited objects." msgstr "Історія нещодавно відредагованих об'єктів." msgid "Open documentation for this object." msgstr "Відкрити документацію для цього об'єкта." +msgid "Filter Properties" +msgstr "Фільтрувати властивості" + msgid "Manage object properties." msgstr "Керувати властивостями об'єкта." +msgid "This cannot be undone. Are you sure?" +msgstr "Це не можна скасувати. Ви впевнені?" + msgid "Add %d Translations" msgstr "Додати %d перекладів" @@ -3952,6 +5343,18 @@ msgstr "Вилучити переспрямування ресурсу" msgid "Remove Resource Remap Option" msgstr "Вилучити параметр переспрямування ресурсу" +msgid "Add %d file(s) for POT generation" +msgstr "Додати файл(и) %d для POT генерації" + +msgid "Remove file from POT generation" +msgstr "Видалити файл з генерації POT" + +msgid "Removed" +msgstr "Видалено" + +msgid "%s cannot be found." +msgstr "%s не знайдено." + msgid "Translations" msgstr "Переклади" @@ -3970,9 +5373,36 @@ msgstr "Переспрямування за локаллю:" msgid "Locale" msgstr "Мова" +msgid "POT Generation" +msgstr "Генерація POT" + +msgid "Files with translation strings:" +msgstr "Файли з рядками перекладу:" + +msgid "Generate POT" +msgstr "Згенерувати POT" + +msgid "Set %s on %d nodes" +msgstr "Встановити %s на вузлах %d" + +msgid "%s (%d Selected)" +msgstr "%s (%d вибрано)" + msgid "Select a single node to edit its signals and groups." msgstr "Виберіть окремий вузол для редагування його сигналів та груп." +msgid "Plugin name cannot be blank." +msgstr "Назва плагіна не може бути пустою." + +msgid "Script extension must match chosen language extension (.%s)." +msgstr "Розширення скрипта має відповідати розширенню обраної мови (.%s)." + +msgid "Subfolder name is not a valid folder name." +msgstr "Назва вкладеної теки не допустима." + +msgid "Subfolder cannot be one which already exists." +msgstr "Вкладена тека не може бути такою, яка вже існує." + msgid "Edit a Plugin" msgstr "Редагувати додаток" @@ -4042,9 +5472,16 @@ msgstr "Завантажити…" msgid "Move Node Point" msgstr "Пересунути вузлову точку" +msgid "Change BlendSpace1D Config" +msgstr "Змініть конфігурацію BlendSpace1D" + msgid "Change BlendSpace1D Labels" msgstr "Змінити мітки BlendSpace1D" +msgid "This type of node can't be used. Only animation nodes are allowed." +msgstr "" +"Цей тип вузла не може бути використаний. Дозволені лише анімаційні вузли." + msgid "This type of node can't be used. Only root nodes are allowed." msgstr "" "Не можна використовувати цей тип вузлів. Можна використовувати лише кореневі " @@ -4081,6 +5518,9 @@ msgstr "" msgid "Enable snap and show grid." msgstr "Увімкнути прилипання і показати сітку." +msgid "Sync:" +msgstr "Синхронізувати:" + msgid "Blend:" msgstr "Змішувати:" @@ -4099,6 +5539,9 @@ msgstr "Трикутник вже існує." msgid "Add Triangle" msgstr "Додати трикутник" +msgid "Change BlendSpace2D Config" +msgstr "Змінити конфігурацію BlendSpace2D" + msgid "Change BlendSpace2D Labels" msgstr "Змінити мітки BlendSpace2D" @@ -4129,6 +5572,9 @@ msgstr "Створити трикутники злиття автоматичн msgid "Parameter Changed:" msgstr "Змінено параметр:" +msgid "Inspect Filters" +msgstr "Оглянути фільтри" + msgid "Output node can't be added to the blend tree." msgstr "Вузол виведення не можна додавати до дерева злиття." @@ -4189,6 +5635,9 @@ msgstr "Звукові кліпи" msgid "Functions" msgstr "Функції" +msgid "Inspect Filtered Tracks:" +msgstr "Оглянути відфільтровані доріжки:" + msgid "Edit Filtered Tracks:" msgstr "Редагувати фільтровані доріжки:" @@ -4201,18 +5650,172 @@ msgstr "Додати вузол…" msgid "Enable Filtering" msgstr "Увімкнути фільтрування" +msgid "Library Name:" +msgstr "Назва Бібліотеки:" + +msgid "Animation name can't be empty." +msgstr "Назва анімації не може бути порожньою." + +msgid "Animation name contains invalid characters: '/', ':', ',' or '['." +msgstr "Назва анімації містить недопустимі символи: '/', ':', ',' або '['." + +msgid "Animation with the same name already exists." +msgstr "Анімація з такою ж назвою вже існує." + +msgid "Enter a library name." +msgstr "Введіть назву бібліотеки." + +msgid "Library name contains invalid characters: '/', ':', ',' or '['." +msgstr "Назва бібліотеки містить неприпустимі символи: '/', ':', ',' або '['." + +msgid "Library with the same name already exists." +msgstr "Бібліотека з такою назвою вже існує." + +msgid "Animation name is valid." +msgstr "Назва анімації допустима." + +msgid "Global library will be created." +msgstr "Буде створена глобальна бібліотека." + +msgid "Library name is valid." +msgstr "Назва бібліотеки допустима." + +msgid "Add Animation to Library: %s" +msgstr "Додати анімацію до бібліотеки: %s" + +msgid "Add Animation Library: %s" +msgstr "Додати бібліотеку анімації: %s" + msgid "Load Animation" msgstr "Завантажити анімацію" +msgid "" +"This animation library can't be saved because it does not belong to the " +"edited scene. Make it unique first." +msgstr "" +"Цю бібліотеку анімації не можна зберегти, оскільки вона не належить до " +"редагованої сцени. Спочатку зробіть її унікальною." + +msgid "" +"This animation library can't be saved because it was imported from another " +"file. Make it unique first." +msgstr "" +"Цю бібліотеку анімації неможливо зберегти, оскільки її було імпортовано з " +"іншого файлу. Спочатку зробіть її унікальною." + +msgid "Save Library" +msgstr "Зберегти бібліотеку" + +msgid "Make Animation Library Unique: %s" +msgstr "Зробити бібліотеку анімації унікальною: %s" + +msgid "" +"This animation can't be saved because it does not belong to the edited " +"scene. Make it unique first." +msgstr "" +"Цю анімацію не можна зберегти, оскільки вона не належить до відредагованої " +"сцени. Спочатку зробіть її унікальною." + +msgid "" +"This animation can't be saved because it was imported from another file. " +"Make it unique first." +msgstr "" +"Цю анімацію не можна зберегти, оскільки вона була імпортована з іншого " +"файлу. Спочатку зробіть її унікальною." + +msgid "Save Animation" +msgstr "Зберегти анімацію" + +msgid "Make Animation Unique: %s" +msgstr "Зробити анімацію унікальною: %s" + +msgid "Invalid AnimationLibrary file." +msgstr "Неприпустимий файл бібліотеки анімації." + +msgid "This library is already added to the player." +msgstr "Бібліотека вже долучена до гравця." + +msgid "Invalid Animation file." +msgstr "Неприпустимий файл анімації." + +msgid "This animation is already added to the library." +msgstr "Ця анімація вже додана до бібліотеки." + +msgid "Load Animation into Library: %s" +msgstr "Завантажити анімацію до бібліотеки: %s" + +msgid "Save Animation library to File: %s" +msgstr "Зберегти бібліотеку анімації у файл: %s" + +msgid "Save Animation to File: %s" +msgstr "Зберегти анімацію у файл: %s" + +msgid "Rename Animation Library: %s" +msgstr "Перейменувати бібліотеку анімації: %s" + +msgid "[Global]" +msgstr "[Глобальна]" + +msgid "Rename Animation: %s" +msgstr "Перейменувати анімацію: %s" + msgid "Animation Name:" msgstr "Назва анімації:" +msgid "No animation resource in clipboard!" +msgstr "У буфері обміну немає ресурсу анімації!" + msgid "Pasted Animation" msgstr "Вставлена анімація" msgid "Open in Inspector" msgstr "Відкрити в інспекторі" +msgid "Remove Animation Library: %s" +msgstr "Видалити бібліотеку анімації: %s" + +msgid "Remove Animation from Library: %s" +msgstr "Видалити анімацію з бібліотеки: %s" + +msgid "[built-in]" +msgstr "[вбудована]" + +msgid "[imported]" +msgstr "[імпортована]" + +msgid "Add Animation to Library" +msgstr "Додати анімацію до бібліотеки" + +msgid "Load animation from file and add to library" +msgstr "Завантажити анімацію з файлу та додати до бібліотеки" + +msgid "Paste Animation to Library from clipboard" +msgstr "Вставити анімацію до бібліотеки з буфера обміну" + +msgid "Save animation library to resource on disk" +msgstr "Зберегти бібліотеку анімації до ресурсу на диску" + +msgid "Remove animation library" +msgstr "Видалити бібліотеку анімації" + +msgid "Copy animation to clipboard" +msgstr "Копіювати анімацію в буфер обміну" + +msgid "Save animation to resource on disk" +msgstr "Збереження анімації до ресурсу на диску" + +msgid "Remove animation from Library" +msgstr "Видалити анімацію з бібліотеки" + +msgid "Edit Animation Libraries" +msgstr "Редагувати бібліотеки анімації" + +msgid "Add Library" +msgstr "Додати бібліотеку" + +msgid "Load Library" +msgstr "Завантажити бібліотеку" + msgid "Storage" msgstr "Сховище даних" @@ -4231,12 +5834,18 @@ msgstr "Перейменувати анімацію" msgid "Change Animation Name:" msgstr "Змінити ім'я анімації:" +msgid "Delete Animation '%s'?" +msgstr "Видалити анімацію '%s'?" + msgid "Remove Animation" msgstr "Вилучити анімацію" msgid "Invalid animation name!" msgstr "Некоректна назва анімації!" +msgid "Animation '%s' already exists!" +msgstr "Анімація '%s' вже існує!" + msgid "Duplicate Animation" msgstr "Дублювати анімацію" @@ -4246,6 +5855,12 @@ msgstr "Змінена подальша анімація" msgid "Change Blend Time" msgstr "Змінити час змішування" +msgid "[Global] (create)" +msgstr "[Глобальна] (створити)" + +msgid "Duplicated Animation Name:" +msgstr "Дубльована назва анімації:" + msgid "Play selected animation backwards from current pos. (A)" msgstr "" "Відтворити обрану анімацію в зворотньому напрямку від поточної позиції. (A)" @@ -4253,6 +5868,9 @@ msgstr "" msgid "Play selected animation backwards from end. (Shift+A)" msgstr "Відтворити вибрану анімацію назад з кінця. (Shift+A)" +msgid "Pause/stop animation playback. (S)" +msgstr "Пауза/зупинка відтворення анімації. (S)" + msgid "Play selected animation from start. (Shift+D)" msgstr "Відтворити вибрану анімацію від початку. (Shift+D)" @@ -4271,6 +5889,9 @@ msgstr "Інструменти анімації" msgid "Animation" msgstr "Анімація" +msgid "Manage Animations..." +msgstr "Керівник анімацій..." + msgid "Edit Transitions..." msgstr "Редагувати переходи…" @@ -4337,6 +5958,12 @@ msgstr "Пересунути вузол" msgid "Transition exists!" msgstr "Існує перехід!" +msgid "To" +msgstr "До" + +msgid "Add Node and Transition" +msgstr "Додати вузол і перехід" + msgid "Add Transition" msgstr "Додати перехід" @@ -4364,6 +5991,17 @@ msgstr "Вилучено вузол" msgid "Transition Removed" msgstr "Вилучено перехід" +msgid "" +"Select and move nodes.\n" +"RMB: Add node at position clicked.\n" +"Shift+LMB+Drag: Connects the selected node with another node or creates a " +"new node if you select an area without nodes." +msgstr "" +"Виберіть і перемістіть вузли.\n" +"ПКМ: Додасть вузол там, де ви натиснули.\n" +"Shift+ЛКМ+перетягування: з’єднує вибраний вузол з іншим вузлом або створить " +"новий вузол, якщо вибрати область без вузлів." + msgid "Create new nodes." msgstr "Створити вузли." @@ -4373,18 +6011,27 @@ msgstr "З'єднати вузли." msgid "Group Selected Node(s)" msgstr "Згрупувати позначені вузли" +msgid "Ungroup Selected Node" +msgstr "Розгрупувати вибраний вузол" + msgid "Remove selected node or transition." msgstr "Вилучити позначений вузол або перехід." msgid "Transition:" msgstr "Перехід:" +msgid "New Transitions Should Auto Advance" +msgstr "Нові переходи повинні виконуватися автоматично" + msgid "Play Mode:" msgstr "Режим гри:" msgid "Delete Selected" msgstr "Вилучити вибране" +msgid "Delete All" +msgstr "Видалити все" + msgid "Root" msgstr "Корінь" @@ -4460,6 +6107,9 @@ msgstr "Не вдалося пройти перевірку хешу SHA-256" msgid "Asset Download Error:" msgstr "Помилка завантаження ресурсу:" +msgid "Ready to install!" +msgstr "Готовий до встановлення!" + msgid "Downloading (%s / %s)..." msgstr "Отримання (%s з %s)…" @@ -4530,6 +6180,24 @@ msgstr "Остання" msgid "All" msgstr "Все" +msgid "No results for \"%s\" for support level(s): %s." +msgstr "Немає результатів для \"%s\" для рівня(ів) підтримки: %s." + +msgid "" +"No results compatible with %s %s for support level(s): %s.\n" +"Check the enabled support levels using the 'Support' button in the top-right " +"corner." +msgstr "" +"Немає результатів, сумісних з %s %s для рівня(ів) підтримки: %s.\n" +"Перевірте увімкнені рівні підтримки за допомогою кнопки \"Підтримка\" у " +"верхньому правому куті." + +msgid "Search Templates, Projects, and Demos" +msgstr "Шукати шаблони, проекти та демонстрації" + +msgid "Search Assets (Excluding Templates, Projects, and Demos)" +msgstr "Пошук активів (із виключенням шаблонів, проектів та демонстрацій)" + msgid "Import..." msgstr "Імпортувати…" @@ -4557,6 +6225,12 @@ msgstr "ZIP файл ресурсів" msgid "Audio Preview Play/Pause" msgstr "Пуск/Пауза прослуховування звуку" +msgid "Bone Picker:" +msgstr "Вибір кістки:" + +msgid "Clear mappings in current group." +msgstr "Очистити зв'язки в поточній групі." + msgid "Preview" msgstr "Попередній перегляд" @@ -4584,6 +6258,9 @@ msgstr "Крок повороту:" msgid "Scale Step:" msgstr "Крок масштабу:" +msgid "Move Node(s) to Position" +msgstr "Пересунути вузол(и) на Позицію" + msgid "Move Vertical Guide" msgstr "Перемістити вертикальну напрямну" @@ -4644,6 +6321,24 @@ msgstr "Згруповано" msgid "Add Node Here" msgstr "Додати вузол тут" +msgid "Instantiate Scene Here" +msgstr "Вставити Екземпляр сцени сюди" + +msgid "Paste Node(s) Here" +msgstr "Вставити вузол(и) сюди" + +msgid "Move Node(s) Here" +msgstr "Пересунути вузол(и) сюди" + +msgid "units" +msgstr "одиниць" + +msgid "Moving:" +msgstr "Переміщення:" + +msgid "Rotating:" +msgstr "Обертання:" + msgid "Scaling:" msgstr "Масштаб:" @@ -4681,6 +6376,9 @@ msgstr "Вставити позу" msgid "Clear Guides" msgstr "Вилучити напрямні" +msgid "Create Custom Bone2D(s) from Node(s)" +msgstr "Створити нетипові кістки2D з вузла(ів)" + msgid "Zoom to 3.125%" msgstr "Масштаб у 3,125%" @@ -4746,12 +6444,21 @@ msgstr "Режим масштабування" msgid "Shift: Scale proportionally." msgstr "Shift: масштабувати пропорційно." +msgid "Show list of selectable nodes at position clicked." +msgstr "Показати список виділених вузлів у позиції клацання." + msgid "Click to change object's rotation pivot." msgstr "Клацання змінює центр обертання об'єкта." msgid "Pan Mode" msgstr "Режим панорамування" +msgid "" +"You can also use Pan View shortcut (Space by default) to pan in any mode." +msgstr "" +"Ви також можете використати комбінацію клавіш Панорамування (за " +"замовчуванням Пробіл) для панорамування в будь-якому режимі." + msgid "Ruler Mode" msgstr "Режим вимірювання" @@ -4806,12 +6513,24 @@ msgstr "Прилипання до інших вузлів" msgid "Snap to Guides" msgstr "Прилипання до напрямних" +msgid "Lock selected node, preventing selection and movement." +msgstr "Блокувати вибраний вузол, запобігаючи виділенню та переміщенню." + msgid "Lock Selected Node(s)" -msgstr "Заблокувати позначені вузли" +msgstr "Заблокувати вибраний вузол(и)" + +msgid "Unlock selected node, allowing selection and movement." +msgstr "Розблокувати вибраний вузол і дозволити виділення та переміщення." msgid "Unlock Selected Node(s)" msgstr "Розблокувати позначені вузли" +msgid "Make selected node's children not selectable." +msgstr "Зробити дочірні вузли вибраного вузла недоступними для вибору." + +msgid "Make selected node's children selectable." +msgstr "Зробити дочірні вузли вибраного вузла доступними для вибору." + msgid "Ungroup Selected Node(s)" msgstr "Розгрупувати позначені вузли" @@ -4821,6 +6540,9 @@ msgstr "Параметри каркаса" msgid "Show Bones" msgstr "Показати кістки" +msgid "Make Bone2D Node(s) from Node(s)" +msgstr "Створити вузол(и) Bone2D з вузла(ів)" + msgid "View" msgstr "Перегляд" @@ -4857,6 +6579,9 @@ msgstr "Показати панель перегляду" msgid "Show Group And Lock Icons" msgstr "Показати піктограми групування та блокування" +msgid "Show Transformation Gizmos" +msgstr "Показувати Ґізмос перетворення" + msgid "Center Selection" msgstr "Центрувати на вибраному" @@ -4914,6 +6639,22 @@ msgstr "Розділити крок сітки на 2" msgid "Adding %s..." msgstr "Додавання %s..." +msgid "Drag and drop to add as child of current scene's root node." +msgstr "" +"Перетягніть, щоб додати дочірній елемент кореневому вузлу поточної сцени." + +msgid "Hold Ctrl when dropping to add as child of selected node." +msgstr "" +"Утримуйте Ctrl під час перетягування, щоб додати дочірній елемент вибраному " +"вузлу." + +msgid "Hold Shift when dropping to add as sibling of selected node." +msgstr "" +"Утримуйте Shift під час перетягування, щоб додати брата вибраному вузлу." + +msgid "Hold Alt when dropping to add as a different node type." +msgstr "Утримуйте Alt під час перетягування, щоб додати вузол іншого типу." + msgid "Cannot instantiate multiple nodes without root." msgstr "" "Створення екземплярів декількох вузлів є неможливим без кореневого запису." @@ -4921,15 +6662,61 @@ msgstr "" msgid "Create Node" msgstr "Створити вузол" +msgid "Error instantiating scene from %s" +msgstr "Помилка вставки екземпляра сцени з %s" + msgid "Change Default Type" msgstr "Змінити стандартний тип" +msgid "Set Target Position" +msgstr "Встановити цільову позицію" + msgid "Set Handle" msgstr "Встановити обробник" +msgid "This node doesn't have a control parent." +msgstr "Цей вузол не має керуючого предка." + +msgid "" +"Use the appropriate layout properties depending on where you are going to " +"put it." +msgstr "" +"Використовуйте відповідні властивості макета залежно від того, де ви " +"збираєтеся розмістити це." + +msgid "This node is a child of a container." +msgstr "Цей вузол є дочірнім елементом контейнера." + +msgid "Use container properties for positioning." +msgstr "Використовуйте властивості контейнера для позиціонування." + +msgid "This node is a child of a regular control." +msgstr "Цей вузол є дочірнім елементом звичайного елемента керування." + +msgid "Use anchors and the rectangle for positioning." +msgstr "Використовуйте прив'язки і прямокутник для позиціонування." + +msgid "Collapse positioning hint." +msgstr "Згорнути підказку позиціонування." + +msgid "Expand positioning hint." +msgstr "Розгорнути підказку позиціонування." + +msgid "Container Default" +msgstr "Контейнер за замовчуванням" + msgid "Fill" msgstr "Заповнення" +msgid "Shrink Begin" +msgstr "Стиснути до початку" + +msgid "Shrink Center" +msgstr "Стиснути до центру" + +msgid "Shrink End" +msgstr "Стиснути до кінця" + msgid "Custom" msgstr "Нетиповий" @@ -4984,9 +6771,67 @@ msgstr "Праворуч за шириною" msgid "Full Rect" msgstr "Увесь прямокутник" +msgid "" +"Enable to also set the Expand flag.\n" +"Disable to only set Shrink/Fill flags." +msgstr "" +"Увімкнути, щоб також встановити галочку Розширити.\n" +"Вимкнути, щоб встановити лише галочку Стиснути/Заповнити." + +msgid "Some parents of the selected nodes do not support the Expand flag." +msgstr "Деякі предки вибраних вузлів не підтримують галочку Розгорнути." + +msgid "Align with Expand" +msgstr "Вирівняти Розгортанням" + +msgid "Change Anchors, Offsets, Grow Direction" +msgstr "Змінити прив'язки, зміщення, напрямок розширення" + +msgid "Change Anchors, Offsets (Keep Ratio)" +msgstr "Змінити прив’язки, зміщення (зберегти співвідношення)" + +msgid "Change Vertical Size Flags" +msgstr "Змінити позначки вертикального розміру" + +msgid "Change Horizontal Size Flags" +msgstr "Змінити позначки горизонтального розміру" + +msgid "Presets for the anchor and offset values of a Control node." +msgstr "Шаблони для прив'язок та зміщень вузла Керування." + +msgid "Anchor preset" +msgstr "Шаблон прив'язки" + +msgid "Set to Current Ratio" +msgstr "Встановити до Поточних пропорцій" + +msgid "Adjust anchors and offsets to match the current rect size." +msgstr "" +"Налаштувати прив'язки та зміщення відповідно до поточного розміру " +"прямокутника." + +msgid "" +"When active, moving Control nodes changes their anchors instead of their " +"offsets." +msgstr "" +"Якщо активовано, пересування вузлів Control змінюватиме їхні прив'язки, а не " +"їх зміщення." + +msgid "Sizing settings for children of a Container node." +msgstr "Налаштування розмірів для дочірніх вузлів вузла Container." + +msgid "Horizontal alignment" +msgstr "Горизонтальне вирівнювання" + +msgid "Vertical alignment" +msgstr "Вертикальне вирівнювання" + msgid "Load Emission Mask" msgstr "Завантажити маску випромінювання" +msgid "CPUParticles2D" +msgstr "CPUParticles2D" + msgid "Generated Point Count:" msgstr "Кількість генерованих точок:" @@ -5008,6 +6853,9 @@ msgstr "Захопити з пікселя" msgid "Emission Colors" msgstr "Кольори випромінювання" +msgid "CPUParticles3D" +msgstr "CPUParticles3D" + msgid "Create Emission Points From Node" msgstr "Створити випромінювач з вузла" @@ -5112,6 +6960,16 @@ msgstr "" "Якщо увімкнено цей параметр, контури зіткнення та вузли raycast (для 2D та " "3D) буде видно у запущеному проєкті." +msgid "Visible Paths" +msgstr "Видимі шляхи" + +msgid "" +"When this option is enabled, curve resources used by path nodes will be " +"visible in the running project." +msgstr "" +"Коли цю опцію увімкнено у запущеному проекті будуть видимі, ресурси кривої, " +"що використовуються вузлами шляху." + msgid "Visible Navigation" msgstr "Видимі навігації" @@ -5150,15 +7008,73 @@ msgstr "" "При віддаленому використанні на пристрої, це ефективніше з мережевою " "файловою системою." +msgid "Keep Debug Server Open" +msgstr "Тримати сервер налагодження відкритим" + +msgid "" +"When this option is enabled, the editor debug server will stay open and " +"listen for new sessions started outside of the editor itself." +msgstr "" +"Якщо цей параметр увімкнено, сервер налагодження редактора залишатиметься " +"відкритим і прослуховуватиме нові сеанси, розпочаті поза межами самого " +"редактора." + +msgid "Run Multiple Instances" +msgstr "Запуск кількох вставлених екземплярів" + +msgid "Run %d Instance" +msgid_plural "Run %d Instances" +msgstr[0] "Запустити %d вставлений екземпляр" +msgstr[1] "Запустити %d вставлені екземпляри" +msgstr[2] "Запустити %d вставлених екземплярів" + +msgid "Overrides (%d)" +msgstr "Перевизначення (%d)" + +msgctxt "Locale" +msgid "Add Script" +msgstr "Додати писемність" + +msgid "Add Locale" +msgstr "Додати мову" + +msgid "Variation Coordinates (%d)" +msgstr "Координати варіації (%d)" + +msgid "No supported features" +msgstr "Немає підтримуваних функцій" + +msgid "Features (%d of %d set)" +msgstr "Функції (%d від набору %d)" + +msgid "Add Feature" +msgstr "Додати функцію" + +msgid " - Variation" +msgstr " - Варіація" + +msgid "Unable to preview font" +msgstr "Неможливо переглянути шрифт" + msgid "Convert to CPUParticles2D" msgstr "Перетворити на CPUParticles2D" +msgid "Generating Visibility Rect (Waiting for Particle Simulation)" +msgstr "Створення області видимості (Очікування симуляції частинок)" + msgid "Generate Visibility Rect" msgstr "Створити область видимості" +msgid "Can only set point into a ParticleProcessMaterial process material" +msgstr "" +"Поставити точку можна тільки в процедурному матеріалі ParticleProcessMaterial" + msgid "Clear Emission Mask" msgstr "Очистити маску випромінювання" +msgid "GPUParticles2D" +msgstr "CPUParticles2D" + msgid "Generation Time (sec):" msgstr "Час генерації (сек):" @@ -5168,6 +7084,9 @@ msgstr "Сторони геометричної фігури не обмежую msgid "The geometry doesn't contain any faces." msgstr "Геометрія не містить жодної грані." +msgid "\"%s\" doesn't inherit from Node3D." +msgstr "\"%s\" не успадковується від Node3D." + msgid "\"%s\" doesn't contain geometry." msgstr "«%s» не містить геометричної конструкції." @@ -5192,12 +7111,62 @@ msgstr "Об'єм" msgid "Emission Source:" msgstr "Джерело випромінювання:" +msgid "A processor material of type 'ParticleProcessMaterial' is required." +msgstr "Потрібен матеріал типу 'ParticlesProcessMaterial'." + +msgid "Convert to CPUParticles3D" +msgstr "Перетворити на CPUParticles3D" + +msgid "Generating Visibility AABB (Waiting for Particle Simulation)" +msgstr "Генерація видимості AABB (очікування моделювання частинок)" + msgid "Generate Visibility AABB" -msgstr "Генерувати AABB" +msgstr "Генерувати Видимість AABB" + +msgid "GPUParticles3D" +msgstr "GPUParticles3D" + +msgid "Generate AABB" +msgstr "Згенерувати AABB" + +msgid "Low" +msgstr "Нижче" + +msgid "Moderate" +msgstr "Помірно" + +msgid "High" +msgstr "Вище" + +msgid "Subdivisions: %s" +msgstr "Підрозділи: %s" + +msgid "Cell size: %s" +msgstr "Розмір комірки: %s" + +msgid "Video RAM size: %s MB (%s)" +msgstr "Розмір відеопам'яті: %s МБ (%s)" + +msgid "Bake SDF" +msgstr "Запекти SDF" + +msgid "" +"No faces detected during GPUParticlesCollisionSDF3D bake.\n" +"Check whether there are visible meshes matching the bake mask within its " +"extents." +msgstr "" +"Під час запікання GPUParticlesCollisionSDF3D не виявлено граней.\n" +"Перевірте, чи є видимі меші, що відповідають масці запікання, в її межах." + +msgid "Select path for SDF Texture" +msgstr "Виберіть шлях до текстури SDF" msgid "Gradient Edited" msgstr "Змінено градієнт" +msgid "Reverse/mirror gradient." +msgstr "Зворотний/дзеркальний градієнт." + msgid "Swap GradientTexture2D Fill Points" msgstr "Поміняти точки заповнення GradientTexture2D" @@ -5207,6 +7176,9 @@ msgstr "Поміняти точки заповнення градієнта" msgid "Toggle Grid Snap" msgstr "Перемкнути прилипання до ґратки" +msgid "Configure" +msgstr "Конфігурація" + msgid "Create Occluder Polygon" msgstr "Створено затінювальний полігон" @@ -5217,11 +7189,24 @@ msgstr "" "Не вдається визначити шлях для збереження карт освітлення.\n" "Збережіть вашу сцену і повторіть спробу." +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" +"Немає мешів для запікання. Переконайтеся, що вони містять канал UV2, і " +"позначено пункт \"Запекти світло\"." + msgid "Failed creating lightmap images, make sure path is writable." msgstr "" "Збій створення карти освітленості, переконайтеся, що шлях доступний для " "запису." +msgid "No editor scene root found." +msgstr "Коренева сцена редактора не знайдена." + +msgid "Lightmap data is not local to the scene." +msgstr "Дані карти світла не є локальними для сцени." + msgid "Bake Lightmaps" msgstr "Запікати карти освітлення" @@ -5273,8 +7258,32 @@ msgstr "Створити навігаційну сітку" msgid "Contained Mesh is not of type ArrayMesh." msgstr "Вбудована сітка не має типу ArrayMesh." +msgid "" +"Mesh cannot unwrap UVs because it does not belong to the edited scene. Make " +"it unique first." +msgstr "" +"Сітка не може розгортати UVs, оскільки не належить до редагованої сцени. " +"Спочатку зробіть її унікальною." + +msgid "" +"Mesh cannot unwrap UVs because it belongs to another resource which was " +"imported from another file type. Make it unique first." +msgstr "" +"Сітка не може розгорнути UV, бо належить іншому ресурсу, який було " +"імпортовано з іншого типу файлу. Спочатку зробіть її унікальною." + +msgid "" +"Mesh cannot unwrap UVs because it was imported from another file type. Make " +"it unique first." +msgstr "" +"Сітка не може розгорнути UV, оскільки імпортована з файлу іншого типу. " +"Спочатку зробіть її унікальною." + msgid "UV Unwrap failed, mesh may not be manifold?" -msgstr "UV-розгортка не вдалася, можливо у полісеткі не однозв'язна форма?" +msgstr "UV-розгортка не вдалася, можливо у сітки не однозв'язна форма?" + +msgid "Unwrap UV2" +msgstr "Розгорнути UV2" msgid "No mesh to debug." msgstr "Немає сітки для налагодження." @@ -5282,6 +7291,18 @@ msgstr "Немає сітки для налагодження." msgid "Mesh has no UV in layer %d." msgstr "Сітка не має UV у шарі %d." +msgid "MeshInstance3D lacks a Mesh." +msgstr "У MeshInstance3D відсутній Mesh." + +msgid "Mesh has no surface to create outlines from." +msgstr "Сітка не має поверхні, щоб створити контури." + +msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES." +msgstr "Типом сітки примітива не є PRIMITIVE_TRIANGLES." + +msgid "Could not create outline." +msgstr "Не вдалося створити контур." + msgid "Create Outline" msgstr "Створити контур" @@ -5291,6 +7312,15 @@ msgstr "Сітка" msgid "Create Trimesh Static Body" msgstr "Створити увігнуте статичне тіло" +msgid "" +"Creates a StaticBody3D and assigns a polygon-based collision shape to it " +"automatically.\n" +"This is the most accurate (but slowest) option for collision detection." +msgstr "" +"Створює StaticBody3D і автоматично пов'язує з ним засновану на " +"багатокутниках форму зіткнення.\n" +"Це найточніший (але найповільніший) варіант для виявлення зіткнення." + msgid "Create Trimesh Collision Sibling" msgstr "Створити увігнуту область зіткнення" @@ -5338,6 +7368,17 @@ msgstr "" msgid "Create Outline Mesh..." msgstr "Створити контурну сітку ..." +msgid "" +"Creates a static outline mesh. The outline mesh will have its normals " +"flipped automatically.\n" +"This can be used instead of the StandardMaterial Grow property when using " +"that property isn't possible." +msgstr "" +"Створює статичну контурну сітку. Нормалі контурної сітки " +"віддзеркалюватимуться автоматично.\n" +"Цим можна скористатися замість властивості Grow StandardMaterial, якщо " +"використання цієї властивості є неможливим." + msgid "View UV1" msgstr "Перегляд UV1" @@ -5399,6 +7440,9 @@ msgstr "Не вказане джерело сітки (й у вузлі не в msgid "Mesh source is invalid (invalid path)." msgstr "Джерело сітки недійсне (неправильний шлях)." +msgid "Mesh source is invalid (not a MeshInstance3D)." +msgstr "Неправильне джерело сітки (не MeshInstance3D)." + msgid "Mesh source is invalid (contains no Mesh resource)." msgstr "Неправильне джерело сітки (немає ресурсу сітки)." @@ -5459,6 +7503,12 @@ msgstr "Обсяг:" msgid "Populate" msgstr "Заповнити" +msgid "Set start_position" +msgstr "Задати start_position" + +msgid "Set end_position" +msgstr "Задати end_position" + msgid "Create Navigation Polygon" msgstr "Створення навігаційного полігону" @@ -5480,12 +7530,21 @@ msgstr "Змінити розмір камери" msgid "Change Sphere Shape Radius" msgstr "Змінити радіус сферичної форми" +msgid "Change Box Shape Size" +msgstr "Змінити розміри форми Коробки" + msgid "Change Notifier AABB" msgstr "Змінити AABB сповіщення" msgid "Change Particles AABB" msgstr "Змінити AABB часток" +msgid "Change Radius" +msgstr "Змінити радіус" + +msgid "Change Probe Size" +msgstr "Змінити розмір зонду" + msgid "Change Capsule Shape Radius" msgstr "Змінити радіус форми капсули" @@ -5498,6 +7557,24 @@ msgstr "Змінити радіус форми циліндра" msgid "Change Cylinder Shape Height" msgstr "Змінити висоту форми циліндра" +msgid "Change Separation Ray Shape Length" +msgstr "Змінити довжину форми променя" + +msgid "Start Location" +msgstr "Початкове Розташування" + +msgid "End Location" +msgstr "Кінцеве Розташування" + +msgid "Change Start Position" +msgstr "Змінити Початкове розташування" + +msgid "Change End Position" +msgstr "Змінити Кінцеве розташування" + +msgid "Change Fog Volume Size" +msgstr "Зміна розміру туману" + msgid "Transform Aborted." msgstr "Перетворення перервано." @@ -5558,12 +7635,42 @@ msgstr "Перетворення за віссю Z." msgid "View Plane Transform." msgstr "Перетворення площини перегляду." +msgid "YZ-Plane Transform." +msgstr "Перетворення площини YZ." + +msgid "XZ-Plane Transform." +msgstr "Перетворення площини XZ." + +msgid "XY-Plane Transform." +msgstr "Перетворення площини XY." + msgid "Keying is disabled (no key inserted)." msgstr "Вставлення ключа вимкнено (ключ не вставлено)." msgid "Animation Key Inserted." msgstr "Вставлено ключ анімації." +msgid "Size: %s (%.1fMP)\n" +msgstr "Розмір: %s (%.1fMP)\n" + +msgid "Objects: %d\n" +msgstr "Об'єкти: %d\n" + +msgid "Primitive Indices: %d\n" +msgstr "Індекси примітивів: %d\n" + +msgid "Draw Calls: %d" +msgstr "Виклики малювання: %d" + +msgid "CPU Time: %s ms" +msgstr "Час ЦП: %s мс" + +msgid "GPU Time: %s ms" +msgstr "Час GPU: %s мс" + +msgid "FPS: %d" +msgstr "Частота кадрів: %d" + msgid "Top View." msgstr "Вигляд згори." @@ -5588,6 +7695,15 @@ msgstr "Вирівняти перетворення з переглядом" msgid "Align Rotation with View" msgstr "Вирівняти обертання із переглядом" +msgid "Set Surface %d Override Material" +msgstr "Задати поверхню %d Перевизначити матеріал" + +msgid "Set Material Override" +msgstr "Встановити перевизначення матеріалу" + +msgid "Cannot drag and drop into multiple selected nodes." +msgstr "Неможливо перетягнути на кілька вибраних вузлів." + msgid "None" msgstr "Немає" @@ -5618,12 +7734,66 @@ msgstr "Перегляд каркасу" msgid "Display Overdraw" msgstr "Режим просвічування" +msgid "Display Lighting" +msgstr "Перегляд освітлення" + msgid "Display Unshaded" msgstr "Перегляд без тіней" +msgid "Directional Shadow Splits" +msgstr "Спрямоване розбиття тіні" + +msgid "Normal Buffer" +msgstr "Буфер нормалей" + msgid "Shadow Atlas" msgstr "Новий атлас" +msgid "Directional Shadow Map" +msgstr "Карта Спрямованих тіней" + +msgid "VoxelGI Lighting" +msgstr "Освітлення VoxelGI" + +msgid "VoxelGI Albedo" +msgstr "Альбедо VoxelGI" + +msgid "VoxelGI Emission" +msgstr "Випромінювання VoxelGI" + +msgid "SDFGI Cascades" +msgstr "Каскади SDFGI" + +msgid "SDFGI Probes" +msgstr "Зонди SDFGI" + +msgid "Scene Luminance" +msgstr "Яскравість сцени" + +msgid "VoxelGI/SDFGI Buffer" +msgstr "Буфер VoxelGI/SDFGI" + +msgid "Disable Mesh LOD" +msgstr "Відключення сітки LOD" + +msgid "OmniLight3D Cluster" +msgstr "Кластер OmniLight3D" + +msgid "SpotLight3D Cluster" +msgstr "Кластер SpotLight3D" + +msgid "ReflectionProbe Cluster" +msgstr "Кластер ReflectionProbe" + +msgid "Occlusion Culling Buffer" +msgstr "Буфер вибракування оклюзії" + +msgid "Motion Vectors" +msgstr "Вектори руху" + +msgid "Display Advanced..." +msgstr "Відобразити додатково..." + msgid "View Environment" msgstr "Перегляд середовища" @@ -5633,6 +7803,9 @@ msgstr "Перегляд гаджетів" msgid "View Information" msgstr "Перегляд відомостей" +msgid "View Frame Time" +msgstr "Час перегляду кадру" + msgid "Half Resolution" msgstr "Половина роздільності" @@ -5645,6 +7818,9 @@ msgstr "Увімкнути ефект Доплера" msgid "Cinematic Preview" msgstr "Кінематичний перегляд" +msgid "Not available when using the OpenGL renderer." +msgstr "Недоступно при використанні рендеринга OpenGL." + msgid "Freelook Left" msgstr "Огляд ліворуч" @@ -5669,6 +7845,36 @@ msgstr "Коефіцієнт швидкості огляду" msgid "Freelook Slow Modifier" msgstr "Модифікатор швидкості довільного огляду" +msgid "Lock Transformation to X axis" +msgstr "Блокування Перетворення по осі X" + +msgid "Lock Transformation to Y axis" +msgstr "Блокування Перетворення по осі Y" + +msgid "Lock Transformation to Z axis" +msgstr "Блокування Перетворення по осі Z" + +msgid "Lock Transformation to YZ plane" +msgstr "Блокування Перетворення по площині YZ" + +msgid "Lock Transformation to XZ plane" +msgstr "Блокування Перетворення по площині XZ" + +msgid "Lock Transformation to XY plane" +msgstr "Блокування Перетворення по площині XY" + +msgid "Cancel Transformation" +msgstr "Скасувати Перетворення" + +msgid "Begin Translate Transformation" +msgstr "Почати Перетворення Переміщення" + +msgid "Begin Rotate Transformation" +msgstr "Почати Перетворення Обертання" + +msgid "Begin Scale Transformation" +msgstr "Почати перетворення Масштабу" + msgid "Toggle Camera Preview" msgstr "Перемкнути попередній перегляд камери" @@ -5681,6 +7887,16 @@ msgstr "" "Для подальшого масштабування змініть площини обрізання камери (Перегляд -> " "Параметри...)" +msgid "Overriding material..." +msgstr "Замінювання матеріалу..." + +msgid "" +"Drag and drop to override the material of any geometry node.\n" +"Hold Ctrl when dropping to override a specific surface." +msgstr "" +"Перетягніть, щоб замінити матеріал будь-якого вузла геометрії.\n" +"Утримуйте Ctrl під час перетягування, щоб замінити певну поверхню." + msgid "XForm Dialog" msgstr "Вікно XForm" @@ -5703,12 +7919,60 @@ msgstr "Приліпити вузли до підлоги" msgid "Couldn't find a solid floor to snap the selection to." msgstr "Не вдалося знайти твердої основи для прилипання позначеного фрагмента." +msgid "Add Preview Sun to Scene" +msgstr "Додати до сцени попередній перегляд Сонця" + +msgid "Add Preview Environment to Scene" +msgstr "Додати до сцени попереднього перегляду середовище" + +msgid "" +"Scene contains\n" +"DirectionalLight3D.\n" +"Preview disabled." +msgstr "" +"Вміст сцени\n" +"DirectionalLight3D.\n" +"Попередній перегляд вимкнено." + +msgid "Preview disabled." +msgstr "Попередній перегляд вимкнено." + +msgid "" +"Scene contains\n" +"WorldEnvironment.\n" +"Preview disabled." +msgstr "" +"Вміст сцени\n" +"WorldEnvironment.\n" +"Попередній перегляд вимкнено." + msgid "Use Local Space" msgstr "Використати локальний простір" msgid "Use Snap" msgstr "За допомогою функції прив'язки" +msgid "" +"Toggle preview sunlight.\n" +"If a DirectionalLight3D node is added to the scene, preview sunlight is " +"disabled." +msgstr "" +"Перемкнути попередній перегляд сонячного світла.\n" +"Якщо до сцени додано вузол DirectionalLight3D, перегляд сонячного світла " +"буде вимкнено." + +msgid "" +"Toggle preview environment.\n" +"If a WorldEnvironment node is added to the scene, preview environment is " +"disabled." +msgstr "" +"Перемкнути попередній перегляд середовища.\n" +"Якщо до сцени додано вузол WorldEnvironment, перегляд середовища буде " +"вимкнено." + +msgid "Edit Sun and Environment settings." +msgstr "Редагувати параметри сонця та середовища." + msgid "Bottom View" msgstr "Вигляд знизу" @@ -5850,15 +8114,102 @@ msgstr "До" msgid "Post" msgstr "Після" +msgid "Preview Sun" +msgstr "Попередній перегляд сонця" + +msgid "Sun Direction" +msgstr "Напрямок сонця" + +msgid "Angular Altitude" +msgstr "Кутова висота" + +msgid "Azimuth" +msgstr "Азимут" + msgid "Sun Color" msgstr "Колір сонця" +msgid "Sun Energy" +msgstr "Сила Сонця" + +msgid "Shadow Max Distance" +msgstr "Максимальна відстань тіні" + +msgid "Add Sun to Scene" +msgstr "Додати сонце до сцени" + +msgid "" +"Adds a DirectionalLight3D node matching the preview sun settings to the " +"current scene.\n" +"Hold Shift while clicking to also add the preview environment to the current " +"scene." +msgstr "" +"Додає до поточної сцени вузол DirectionalLight3D, що відповідає параметрам " +"попереднього перегляду сонця.\n" +"Утримуйте натиснутою клавішу Shift, щоб також додати до поточної сцени " +"середовище попереднього перегляду." + +msgid "Preview Environment" +msgstr "Перегляд середовища" + +msgid "Sky Color" +msgstr "Колір неба" + +msgid "Ground Color" +msgstr "Колір грунту" + +msgid "Sky Energy" +msgstr "Яскравість неба" + +msgid "AO" +msgstr "AO" + msgid "Glow" msgstr "Сяйво" msgid "Tonemap" msgstr "Переспрямування" +msgid "Post Process" +msgstr "Пост-обробка" + +msgid "Add Environment to Scene" +msgstr "Додати середовище до Сцени" + +msgid "" +"Adds a WorldEnvironment node matching the preview environment settings to " +"the current scene.\n" +"Hold Shift while clicking to also add the preview sun to the current scene." +msgstr "" +"Додає до поточної сцени вузол WorldEnvironment відповідно до параметрів " +"попереднього перегляду середовища.\n" +"Щоб додати до поточної сцени сонце, утримуйте клавішу Shift під час клацання." + +msgid "" +"Can't determine a save path for the occluder.\n" +"Save your scene and try again." +msgstr "" +"Не вдається визначити шлях збереження для оклюдера.\n" +"Збережіть сцену і спробуйте ще раз." + +msgid "" +"No meshes to bake.\n" +"Make sure there is at least one MeshInstance3D node in the scene whose " +"visual layers are part of the OccluderInstance3D's Bake Mask property." +msgstr "" +"Немає сіток для запікання.\n" +"Переконайтеся, що в сцені є принаймні один вузол MeshInstance3D, візуальні " +"шари якого є частиною властивості Bake Mask OccluderInstance3D." + +msgid "Could not save the new occluder at the specified path:" +msgstr "Не вдалося зберегти новий окклюдер за вказаним шляхом:" + +msgid "Bake Occluders" +msgstr "Запекти Оклюдери" + +msgid "Select occluder bake file:" +msgstr "Виберіть файл запікання окклюдера:" + msgid "Remove Point from Curve" msgstr "Видалити точку з кривої" @@ -6173,6 +8524,12 @@ msgstr "Не вдалося завантажити цей файл:" msgid "Save File As..." msgstr "Зберегти файл як…" +msgid "Can't obtain the script for reloading." +msgstr "Не вдається отримати скрипт для перезавантаження." + +msgid "Reload only takes effect on tool scripts." +msgstr "Перезавантаження діє лише для скриптів інструментів." + msgid "Can't obtain the script for running." msgstr "Не вдалося отримати скрипт для запуску." @@ -6202,6 +8559,9 @@ msgstr "Помилка збереження" msgid "Save Theme As..." msgstr "Зберегти тему як..." +msgid "Unsaved file." +msgstr "Незбережений файл." + msgid "%s Class Reference" msgstr "Довідник з класу %s" @@ -6211,6 +8571,9 @@ msgstr "Знайти далі" msgid "Find Previous" msgstr "Знайти позаду" +msgid "Filter Scripts" +msgstr "Фільтрувати скрипти" + msgid "Toggle alphabetical sorting of the method list." msgstr "Увімкнути або вимкнути упорядковування за абеткою у списку методів." @@ -6235,6 +8598,9 @@ msgstr "Повторно відкрити закритий скрипт" msgid "Save All" msgstr "Зберегти все" +msgid "Soft Reload Tool Script" +msgstr "Скрипт інструменту м'якого перезавантаження" + msgid "Copy Script Path" msgstr "Копіювати шлях до скрипту" @@ -6302,6 +8668,9 @@ msgstr "Спорожнити список нещодавніх скриптів" msgid "Standard" msgstr "Стандартний" +msgid "Plain Text" +msgstr "Звичайний текст" + msgid "Connections to method:" msgstr "З'єднання з методом:" @@ -6311,6 +8680,9 @@ msgstr "Джерело" msgid "Target" msgstr "Призначення" +msgid "Error at (%d, %d):" +msgstr "Помилка в (%d, %d):" + msgid "" "Missing connected method '%s' for signal '%s' from node '%s' to node '%s'." msgstr "" @@ -6329,6 +8701,9 @@ msgstr "Перейти до функції" msgid "Only resources from filesystem can be dropped." msgstr "Можна перетягнути тільки ресурс з файлової системи." +msgid "Can't drop nodes without an open scene." +msgstr "Неможливо скинути вузли без відкритої сцени." + msgid "Can't drop nodes because script '%s' is not used in this scene." msgstr "" "Скидання вузлів є неможливим, оскільки у цій сцені не використовується " @@ -6340,6 +8715,12 @@ msgstr "Шукати символ" msgid "Pick Color" msgstr "Вибрати колір" +msgid "Folding" +msgstr "Згортання" + +msgid "Indentation" +msgstr "Відступ" + msgid "Uppercase" msgstr "ВЕРХНІЙ РЕГІСТР" @@ -6364,6 +8745,9 @@ msgstr "Перейти" msgid "Delete Line" msgstr "Видалити рядок" +msgid "Unindent" +msgstr "Скасувати відступ" + msgid "Toggle Comment" msgstr "Перемкнути коментар" @@ -6430,6 +8814,46 @@ msgstr "Перейти до наступної точки зупинки" msgid "Go to Previous Breakpoint" msgstr "Перейти до попередньої точки зупинки" +msgid "New Shader Include" +msgstr "Новий шейдер у комплекті" + +msgid "Load Shader File" +msgstr "Завантажити файл шейдера" + +msgid "Load Shader Include File" +msgstr "Завантажити файл, що містить шейдер" + +msgid "Save File" +msgstr "Зберегти файл" + +msgid "Save File As" +msgstr "Зберегти файл як" + +msgid "Open File in Inspector" +msgstr "Відкрити файл в Інспекторі" + +msgid "Close File" +msgstr "Закрити файл" + +msgid "Shader Editor" +msgstr "Редактор шейдера" + +msgid "No valid shader stages found." +msgstr "Допустимих етапів шейдера не знайдено." + +msgid "Shader stage compiled without errors." +msgstr "Етап шейдера зібрано без помилок." + +msgid "" +"File structure for '%s' contains unrecoverable errors:\n" +"\n" +msgstr "" +"Структура файлу для '%s' містить невиправні помилки:\n" +"\n" + +msgid "ShaderFile" +msgstr "Файл Шейдеру" + msgid "This skeleton has no bones, create some children Bone2D nodes." msgstr "У цього каркаса немає кісток, створіть хоч якісь дочірні вузли Bone2D." @@ -6448,12 +8872,61 @@ msgstr "Відновити вільну позу" msgid "Overwrite Rest Pose" msgstr "Перезаписати вільну позу" +msgid "Set Bone Transform" +msgstr "Задати перетворення кістки" + +msgid "Cannot create a physical skeleton for a Skeleton3D node with no bones." +msgstr "Не можна створити фізичний скелет для вузла Skeleton3D без кісток." + msgid "Create physical bones" msgstr "Створити фізичний кістяк" +msgid "Export Skeleton Profile As..." +msgstr "Експортувати профіль скелета як..." + +msgid "Set Bone Parentage" +msgstr "Задати кістці предка" + +msgid "Skeleton3D" +msgstr "Скелет 3D" + +msgid "Reset All Bone Poses" +msgstr "Скинути всі пози кісток" + +msgid "Reset Selected Poses" +msgstr "Скинути вибрані пози" + +msgid "Create Physical Skeleton" +msgstr "Створити фізичний скелет" + +msgid "Export Skeleton Profile" +msgstr "Експорт профілю скелета" + +msgid "" +"Edit Mode\n" +"Show buttons on joints." +msgstr "" +"Режим редагування\n" +"Відображення кнопок на стиках." + +msgid "Insert key of all bone poses." +msgstr "Вставте ключ усіх поз кісток." + +msgid "Insert Key (All Bones)" +msgstr "Вставити ключ (всі кістки)" + +msgid "Bone Transform" +msgstr "Перетворення кістки" + msgid "Play IK" msgstr "Відтворити IK" +msgid "Create MeshInstance2D" +msgstr "Створити MeshInstance2D" + +msgid "MeshInstance2D Preview" +msgstr "Попередній перегляд MeshInstance2D" + msgid "Create Polygon2D" msgstr "Створити Polygon2D" @@ -6472,6 +8945,12 @@ msgstr "Створити LightOccluder2D" msgid "LightOccluder2D Preview" msgstr "Попередній перегляд LightOccluder2D" +msgid "Can't convert a Sprite2D from a foreign scene." +msgstr "Не вдається конвертувати Sprite2D з другої сцени." + +msgid "Sprite2D is empty!" +msgstr "Sprite2D порожній!" + msgid "Can't convert a sprite using animation frames to mesh." msgstr "" "Неможливо перетворити спрайт, використовуючи кадри анімації для створення " @@ -6549,18 +9028,57 @@ msgstr "Видалити анімацію?" msgid "Change Animation FPS" msgstr "Змінити частоту кадрів анімації" +msgid "Set Frame Duration" +msgstr "Встановити тривалість кадру" + msgid "(empty)" msgstr "(порожньо)" msgid "Animations:" msgstr "Анімації:" +msgid "Animation Speed" +msgstr "Швидкість анімації" + +msgid "Filter Animations" +msgstr "Фільтрувати анімації" + +msgid "Delete Animation" +msgstr "Видалити анімацію" + msgid "Animation Frames:" msgstr "Кадри анімації:" +msgid "Frame Duration:" +msgstr "Тривалість кадру:" + msgid "Zoom Reset" msgstr "Відновити початковий масштаб" +msgid "Add frame from file" +msgstr "Додати кадр із файлу" + +msgid "Add frames from sprite sheet" +msgstr "Додати кадри із аркуша спрайтів" + +msgid "Delete Frame" +msgstr "Видалити кадр" + +msgid "Copy Frame" +msgstr "Копіювати кадр" + +msgid "Insert Empty (Before Selected)" +msgstr "Вставити порожній (перед виділеним)" + +msgid "Insert Empty (After Selected)" +msgstr "Вставити порожній (після виділеного)" + +msgid "Move Frame Left" +msgstr "Перемістити кадр вліво" + +msgid "Move Frame Right" +msgstr "Перемістити кадр вправо" + msgid "Select Frames" msgstr "Вибрати кадри" @@ -6582,6 +9100,19 @@ msgstr "Створити кадри з аркуша спрайтів" msgid "SpriteFrames" msgstr "Кадри спрайта" +msgid "Warnings should be fixed to prevent errors." +msgstr "Попередження слід виправити, щоб запобігти помилкам." + +msgid "" +"This shader has been modified on disk.\n" +"What action should be taken?" +msgstr "" +"До цього шейдера внесено зміни на диску.\n" +"Що слід зробити?" + +msgid "Memory: %s" +msgstr "Пам'ять: %s" + msgid "Set Region Rect" msgstr "Встановити прямокутник області" @@ -6603,24 +9134,75 @@ msgstr "Автонарізання" msgid "Step:" msgstr "Крок:" +msgid "Region Editor" +msgstr "Редактор області" + +msgid "Edit Region" +msgstr "Редагувати область" + msgid "Styleboxes" msgstr "Стильові панелі" +msgid "1 color" +msgid_plural "{num} colors" +msgstr[0] "1 колір" +msgstr[1] "{num} кольори" +msgstr[2] "{num} кольорів" + msgid "No colors found." msgstr "Кольорів не знайдено." +msgid "1 constant" +msgid_plural "{num} constants" +msgstr[0] "1 константа" +msgstr[1] "{num} константи" +msgstr[2] "{num} констант" + msgid "No constants found." msgstr "Сталих не знайдено." +msgid "1 font" +msgid_plural "{num} fonts" +msgstr[0] "1 шрифт" +msgstr[1] "{num} шрифти" +msgstr[2] "{num} шрифтів" + msgid "No fonts found." msgstr "Шрифтів не знайдено." +msgid "1 font size" +msgid_plural "{num} font sizes" +msgstr[0] "1 розмір шрифту" +msgstr[1] "{num} розміри шрифту" +msgstr[2] "{num} розмірів шрифту" + +msgid "No font sizes found." +msgstr "Розмірів шрифтів не знайдено." + +msgid "1 icon" +msgid_plural "{num} icons" +msgstr[0] "1 піктограма" +msgstr[1] "{num} піктограми" +msgstr[2] "{num} піктограм" + msgid "No icons found." msgstr "Піктограм не знайдено." +msgid "1 stylebox" +msgid_plural "{num} styleboxes" +msgstr[0] "1 панель стилю" +msgstr[1] "{num} панелі стилю" +msgstr[2] "{num} панелей стилю" + msgid "No styleboxes found." msgstr "Панелей стилів не знайдено." +msgid "{num} currently selected" +msgid_plural "{num} currently selected" +msgstr[0] "{num} зараз вибраний" +msgstr[1] "{num} зараз вибраних" +msgstr[2] "{num} зараз вибраних" + msgid "Nothing was selected for the import." msgstr "Нічого не позначено для імпортування." @@ -6636,6 +9218,12 @@ msgstr "Оновлення редактора" msgid "Finalizing" msgstr "Закріплення" +msgid "Import Theme Items" +msgstr "Імпорт елементів теми" + +msgid "Filter Items" +msgstr "Фільтрувати елементи" + msgid "With Data" msgstr "З даними" @@ -6669,6 +9257,18 @@ msgstr "Вибрати усі видимі записи шрифтів та їх msgid "Deselect all visible font items." msgstr "Скасувати вибір усіх видимих записів шрифтів." +msgid "Font sizes" +msgstr "Розміри шрифту" + +msgid "Select all visible font size items." +msgstr "Вибрати усі видимі елементи розміру шрифту." + +msgid "Select all visible font size items and their data." +msgstr "Вибрати усі видимі елементи розміру шрифту та їхні дані." + +msgid "Deselect all visible font size items." +msgstr "Скасувати вибір усіх видимих елементів розміру шрифтів." + msgid "Select all visible icon items." msgstr "Вибрати усі видимі записи піктограм." @@ -6750,8 +9350,11 @@ msgstr "Вилучити усі записи сталих" msgid "Remove All Font Items" msgstr "Вилучити усі записи шрифтів" +msgid "Remove All Font Size Items" +msgstr "Вилучити усі елементи розмірів шрифтів" + msgid "Remove All Icon Items" -msgstr "Вилучити усі записи піктограм" +msgstr "Вилучити усі елементи піктограм" msgid "Remove All StyleBox Items" msgstr "Вилучити усі записи панелей стилів" @@ -6763,12 +9366,30 @@ msgstr "" "Цей тип теми є порожнім.\n" "Додайте до нього записи вручну або імпортуванням з іншої теми." +msgid "Remove Theme Item" +msgstr "Вилучити елемент теми" + msgid "Add Theme Type" msgstr "Додати тип теми" +msgid "Create Theme Item" +msgstr "Створити елемент теми" + msgid "Remove Theme Type" msgstr "Вилучити тип теми" +msgid "Remove Data Type Items From Theme" +msgstr "Видалити елементи типу даних з теми" + +msgid "Remove Class Items From Theme" +msgstr "Видалити елементи класу з теми" + +msgid "Remove Custom Items From Theme" +msgstr "Видалити спеціальні елементи з теми" + +msgid "Remove All Items From Theme" +msgstr "Вилучити усі елементи з теми" + msgid "Add Color Item" msgstr "Додати запис кольору" @@ -6778,6 +9399,9 @@ msgstr "Додати запис сталої" msgid "Add Font Item" msgstr "Додати запис шрифту" +msgid "Add Font Size Item" +msgstr "Додати елемент розміру шрифту" + msgid "Add Icon Item" msgstr "Додати запис піктограми" @@ -6793,12 +9417,18 @@ msgstr "Перейменувати запис сталої" msgid "Rename Font Item" msgstr "Перейменувати запис шрифту" +msgid "Rename Font Size Item" +msgstr "Перейменувати елемент розміру шрифту" + msgid "Rename Icon Item" msgstr "Перейменувати запис піктограми" msgid "Rename Stylebox Item" msgstr "Перейменувати запис панелі стилів" +msgid "Rename Theme Item" +msgstr "Перейменувати елемент теми" + msgid "Invalid file, not a Theme resource." msgstr "Некоректний файл. Файл не є ресурсом теми." @@ -6897,12 +9527,48 @@ msgstr "Додати тип запису" msgid "Add Type" msgstr "Додати тип" +msgid "Override All Default Theme Items" +msgstr "Перевизначити всі елементи теми за замовчуванням" + +msgid "Override Theme Item" +msgstr "Перевизначити елемент теми" + +msgid "Set Color Item in Theme" +msgstr "Встановити колір елемента в темі" + +msgid "Set Constant Item in Theme" +msgstr "Встановити елемент константи у темі" + +msgid "Set Font Size Item in Theme" +msgstr "Встановити елемент розміру шрифту в темі" + +msgid "Set Font Item in Theme" +msgstr "Встановити елемент шрифту в темі" + +msgid "Set Icon Item in Theme" +msgstr "Встановити елемент піктограми в темі" + +msgid "Set Stylebox Item in Theme" +msgstr "Встановити елемент панелі стилів у теми" + +msgid "Pin Stylebox" +msgstr "Закріпити панель стилю" + +msgid "Unpin Stylebox" +msgstr "Відкріпити панель стилю" + +msgid "Set Theme Type Variation" +msgstr "Встановити варіант типу теми" + msgid "Set Variation Base Type" msgstr "Встановити базовий тип змінної" msgid "Set Base Type" msgstr "Встановити базовий тип" +msgid "Add a type from a list of available types or create a new one." +msgstr "Додайте тип зі списку доступних типів або створіть новий." + msgid "Show Default" msgstr "Показати типовий" @@ -7032,6 +9698,87 @@ msgstr "Некоректний файл. Файл не є ресурсом Packe msgid "Reload the scene to reflect its most actual state." msgstr "Перезавантажити сцену для відтворення її найактуальнішого стану." +msgid "Merge TileSetAtlasSource" +msgstr "Об'єднати TileSetAtlasSource" + +msgid "Atlas Merging" +msgstr "Об'єднати атласи" + +msgid "Merge (Keep original Atlases)" +msgstr "Об'єднати (зберегти оригінальні атласи)" + +msgid "Merge" +msgstr "Об'єднати" + +msgid "Next Line After Column" +msgstr "Наступний рядок після стовпчика" + +msgid "Please select two atlases or more." +msgstr "Будь ласка, виберіть два атласи або більше." + +msgid "" +"Source: %d\n" +"Atlas coordinates: %s\n" +"Alternative: 0" +msgstr "" +"Джерело: %d\n" +"Координати атласу: %s\n" +"Альтернатива: 0" + +msgid "" +"Source: %d\n" +"Atlas coordinates: %s\n" +"Alternative: %d" +msgstr "" +"Джерело: %d\n" +"Координати атласу: %s\n" +"Альтернатива: 0" + +msgid "Center View" +msgstr "Вид по центру" + +msgid "No atlas source with a valid texture selected." +msgstr "Не вибрано жодного джерела атласу з коректною текстурою." + +msgid "Base Tiles" +msgstr "Базова плитка" + +msgid "Alternative Tiles" +msgstr "Альтернативна плитка" + +msgid "Reset Polygons" +msgstr "Скинути полігони" + +msgid "Clear Polygons" +msgstr "Очистити полігони" + +msgid "Rotate Polygons Right" +msgstr "Повернути полігони вправо" + +msgid "Rotate Polygons Left" +msgstr "Повернути полігони вліво" + +msgid "Flip Polygons Horizontally" +msgstr "Віддзеркалити полігони горизонтально" + +msgid "Flip Polygons Vertically" +msgstr "Віддзеркалити полігони вертикально" + +msgid "Edit Polygons" +msgstr "Редагувати полігони" + +msgid "Add polygon tool" +msgstr "Додати інструмент полігона" + +msgid "Edit points tool" +msgstr "Редагувати інструмент полігона" + +msgid "Delete points tool" +msgstr "Вилучити інструмент полігона" + +msgid "Reset to default tile shape" +msgstr "Відновити форму плитки за замовчуванням" + msgid "Rotate Right" msgstr "Обернути праворуч" @@ -7044,18 +9791,429 @@ msgstr "Віддзеркалити горизонтально" msgid "Flip Vertically" msgstr "Віддзеркалити вертикально" +msgid "Snap to half-pixel" +msgstr "Прив’язка до половини пікселя" + +msgid "Painting Tiles Property" +msgstr "Властивість малювання плиток" + +msgid "Painting:" +msgstr "Малювання:" + +msgid "Picker" +msgstr "Вибирач" + +msgid "No terrains" +msgstr "Нема місцевостей" + +msgid "No terrain" +msgstr "Нема місцевості" + +msgid "Painting Terrain Set" +msgstr "Набір для малювання місцевості" + +msgid "Painting Terrain" +msgstr "Малювання місцевості" + +msgid "No Texture Atlas Source (ID: %d)" +msgstr "Нема джерела текстурного атласу (ID: %d)" + +msgid "Scene Collection Source (ID: %d)" +msgstr "Джерело колекції сцен (ID: %d)" + +msgid "Unknown Type Source (ID: %d)" +msgstr "Джерело невідомого типу (ID: %d)" + +msgid "Add TileSet pattern" +msgstr "Додати шаблон Набору плиток" + +msgid "Remove TileSet patterns" +msgstr "Вилучити шаблон Набору плиток" + +msgid "Tile with Invalid Scene" +msgstr "Плитка з неприпустимою сценою" + +msgid "Delete tiles" +msgstr "Видалити плитки" + +msgid "Change selection" +msgstr "Змінити вибір" + +msgid "Move tiles" +msgstr "Переміщення плиток" + +msgid "Paint tiles" +msgstr "Малювати плитки" + +msgid "Paste tiles" +msgstr "Вставити плитки" + +msgid "Selection" +msgstr "Вибір" + +msgid "Paint" +msgstr "Фарба" + +msgid "Shift: Draw line." +msgstr "Shift: Малює лінію." + +msgid "Shift+Ctrl: Draw rectangle." +msgstr "Shift+Ctrl: Малює прямокутник." + +msgctxt "Tool" +msgid "Line" +msgstr "Лінія" + +msgid "Rect" +msgstr "Прямокутник" + +msgid "Alternatively hold Ctrl with other tools to pick tile." +msgstr "Або утримуйте клавішу Ctrl з іншими інструментами, щоб вибрати плитку." + +msgid "Eraser" +msgstr "Гумка" + +msgid "Alternatively use RMB to erase tiles." +msgstr "Або використовуйте ПКМ, щоб стерти плитки." + +msgid "Contiguous" +msgstr "Суміжні" + +msgid "Place Random Tile" +msgstr "Розмістити випадкову плитку" + +msgid "" +"Modifies the chance of painting nothing instead of a randomly selected tile." +msgstr "" +"Змінює ймовірність малювання пустоти замість випадково вибраної плитки." + +msgid "Scattering:" +msgstr "Розсіювання:" + msgid "Tiles" msgstr "Плитки" +msgid "" +"This TileMap's TileSet has no source configured. Edit the TileSet resource " +"to add one." +msgstr "" +"Набір плиток цієї Карти плиток не має налаштованого джерела. Відредагуйте " +"ресурс Набору плиток, щоб додати його." + +msgid "Sort sources" +msgstr "Сортувати джерела" + +msgid "Sort by ID (Ascending)" +msgstr "Сортування за ідентифікатором (за зростанням)" + +msgid "Sort by ID (Descending)" +msgstr "Сортування за ідентифікатором (за спаданням)" + +msgid "Invalid source selected." +msgstr "Вибрано недійсне джерело." + +msgid "Patterns" +msgstr "Візерунки" + +msgid "Drag and drop or paste a TileMap selection here to store a pattern." +msgstr "" +"Перетягніть або вставте сюди вибрану Карту плиток, щоб зберегти Візерунок." + +msgid "Paint terrain" +msgstr "Малюнок місцевості" + +msgid "Matches Corners and Sides" +msgstr "Зіставити кути та сторони" + +msgid "Matches Corners Only" +msgstr "Зіставити лише кути" + +msgid "Matches Sides Only" +msgstr "Зіставити лише сторони" + +msgid "Terrain Set %d (%s)" +msgstr "Набір місцевості %d (%s)" + +msgid "" +"Connect mode: paints a terrain, then connects it with the surrounding tiles " +"with the same terrain." +msgstr "" +"Режим з'єднання: малює місцевість, а потім з'єднує її з навколишніми " +"плитками з такою ж місцевістю." + +msgid "" +"Path mode: paints a terrain, thens connects it to the previous tile painted " +"within the same stroke." +msgstr "" +"Режим шляху: малює місцевість, а потім з’єднує її з попередньою плиткою, " +"намальованою тим самим штрихом." + +msgid "Terrains" +msgstr "Місцевості" + +msgid "Replace Tiles with Proxies" +msgstr "Замінити плитки на проксі" + +msgid "No Layers" +msgstr "Без шарів" + +msgid "Select Next Tile Map Layer" +msgstr "Вибрати наступний шар карти плиток" + +msgid "Select Previous Tile Map Layer" +msgstr "Вибрати попередній шар карти плиток" + +msgid "TileMap Layers" +msgstr "Шари Карти плиток" + +msgid "Highlight Selected TileMap Layer" +msgstr "Виділити вибраний шар Карти плиток" + +msgid "Toggle grid visibility." +msgstr "Перемкнути видимість ґратки." + +msgid "Automatically Replace Tiles with Proxies" +msgstr "Автоматична заміна плиток на проксі" + +msgid "The edited TileMap node has no TileSet resource." +msgstr "Відредагований вузол Карти плиток не має ресурсу TileSet." + +msgid "Remove Tile Proxies" +msgstr "Видалити проксі плиток" + +msgid "Create Alternative-level Tile Proxy" +msgstr "Створити альтернативний рівень проксі плиток" + +msgid "Create source-level Tile Proxy" +msgstr "Створити джерело-рівень проксі плиток" + +msgid "Delete All Invalid Tile Proxies" +msgstr "Видалити усі недійсні проксі плиток" + +msgid "Delete All Tile Proxies" +msgstr "Видалити всі проксі плиток" + +msgid "Tile Proxies Management" +msgstr "Керівник проксі плиток" + +msgid "Source-level proxies" +msgstr "Джерело рівень проксі" + +msgid "Coords-level proxies" +msgstr "Координатний рівень проксі" + +msgid "Alternative-level proxies" +msgstr "Альтернативний рівень проксі" + +msgid "Add a new tile proxy:" +msgstr "Додати новий проксі плитки:" + +msgid "From Source" +msgstr "З джерела" + +msgid "From Alternative" +msgstr "З альтернативи" + +msgid "To Source" +msgstr "До джерела" + +msgid "To Alternative" +msgstr "До Альтернативи" + +msgid "Global actions:" +msgstr "Глобальні дії:" + +msgid "Clear Invalid" +msgstr "Очистити Недійсні" + msgid "Atlas" msgstr "Атлас" +msgid "Base Tile" +msgstr "Базова плитка" + +msgid "Alternative Tile" +msgstr "Альтернативна плитка" + +msgid "" +"Selected tile:\n" +"Source: %d\n" +"Atlas coordinates: %s\n" +"Alternative: %d" +msgstr "" +"Вибрана плитка:\n" +"Джерело: %d\n" +"Атласні координати: %s\n" +"Альтернатива: %d" + +msgid "Rendering" +msgstr "Рендеринг" + +msgid "Modulate" +msgstr "Модулювати" + +msgid "Z Index" +msgstr "Індекс Z" + +msgid "Occlusion Layer %d" +msgstr "Шар оклюзії %d" + +msgid "Probability" +msgstr "Ймовірність" + +msgid "Physics" +msgstr "Фізика" + +msgid "Physics Layer %d" +msgstr "Фізичний шар %d" + +msgid "Navigation Layer %d" +msgstr "Шар навігації %d" + +msgid "Custom Data" +msgstr "Спеціальні дані" + +msgid "Custom Data %d" +msgstr "Спеціальні дані %d" + +msgid "Select a property editor" +msgstr "Вибрати редактор властивостей" + +msgid "Create tiles" +msgstr "Створити плитки" + +msgid "Create a tile" +msgstr "Створити плитку" + +msgid "Remove tiles" +msgstr "Вилучити плитки" + +msgid "Move a tile" +msgstr "Перемістити плитку" + +msgid "Select tiles" +msgstr "Вибрати плитки" + +msgid "Resize a tile" +msgstr "Змінити розмір плитки" + +msgid "Remove tile" +msgstr "Вилучити плитку" + +msgid "Create tile alternatives" +msgstr "Створити альтернативи плитки" + +msgid "Create tiles in non-transparent texture regions" +msgstr "Створити плитки у непрозорих областях текстури" + +msgid "Remove tiles in fully transparent texture regions" +msgstr "Видалити плитки з повністю прозорих областей текстури" + +msgid "Setup" +msgstr "Налаштування" + +msgid "" +"Atlas setup. Add/Remove tiles tool (use the shift key to create big tiles, " +"control for rectangle editing)." +msgstr "" +"Налаштування атласу. Інструмент додавання/видалення плиток (використовуйте " +"клавішу Shift для створення великих плиток, Ctrl для редагування " +"прямокутників)." + +msgid "Select tiles." +msgstr "Вибрати плитки." + +msgid "Paint properties." +msgstr "Властивості малювання." + +msgid "No tiles selected." +msgstr "Плитки не вибрані." + +msgid "Paint Properties:" +msgstr "Властивості малювання:" + +msgid "Create Tiles in Non-Transparent Texture Regions" +msgstr "Створення плиток у непрозорих областях текстур" + +msgid "Remove Tiles in Fully Transparent Texture Regions" +msgstr "Видалити плитки у повністю прозорих областях текстури" + +msgid "Create an Alternative Tile" +msgstr "Створити альтернативну плитку" + +msgid "Create a Tile" +msgstr "Створити плитку" + +msgid "Auto Create Tiles in Non-Transparent Texture Regions?" +msgstr "Автоматично створювати плитки у непрозорих областях текстур?" + +msgid "" +"The atlas's texture was modified.\n" +"Would you like to automatically create tiles in the atlas?" +msgstr "" +"Текстуру атласу було змінено.\n" +"Бажаєте автоматично створити плитки в атласі?" + msgid "Yes" msgstr "Так" +msgid "No" +msgstr "Ні" + +msgid "Add a new atlas source" +msgstr "Додати нове джерело атласу" + +msgid "Remove source" +msgstr "Видалити джерело" + +msgid "Add atlas source" +msgstr "Додати джерело атласу" + +msgid "Sort Sources" +msgstr "Сортувати джерела" + +msgid "Scenes Collection" +msgstr "Колекція сцен" + +msgid "Open Atlas Merging Tool" +msgstr "Відкрити інструмент злиття атласів" + +msgid "Manage Tile Proxies" +msgstr "Керівник проксі плиток" + +msgid "No TileSet source selected. Select or create a TileSet source." +msgstr "" +"Не вибрано джерело Набору плиток. Виберіть або створіть джерело Набору " +"плиток." + +msgid "Add new patterns in the TileMap editing mode." +msgstr "Додати нові візерунки в режимі редагування Карти плиток." + +msgid "Add a Scene Tile" +msgstr "Додайте плитку сцени" + +msgid "Remove a Scene Tile" +msgstr "Видалити плитку сцени" + +msgid "Scenes collection properties:" +msgstr "Властивості колекції сцен:" + +msgid "Tile properties:" +msgstr "Властивості плитки:" + msgid "TileSet" msgstr "Набір плиток" +msgid "TileMap" +msgstr "Карта плиток" + +msgid "" +"No VCS plugins are available in the project. Install a VCS plugin to use VCS " +"integration features." +msgstr "" +"У проекті немає плагінів VCS. Встановіть плагін VCS, щоб використовувати " +"можливості інтеграції з VCS." + msgid "Error" msgstr "Помилка" @@ -7068,6 +10226,12 @@ msgstr "" msgid "Commit" msgstr "Внесок" +msgid "Open in editor" +msgstr "Відкрити в редакторі" + +msgid "Discard changes" +msgstr "Відкинути усі зміни" + msgid "Staged Changes" msgstr "Етапні зміни" @@ -7089,9 +10253,24 @@ msgstr "Хочете вилучити гілку %s?" msgid "Do you want to remove the %s remote?" msgstr "Ви справді хочете вилучити віддалене сховище %s?" +msgid "Create VCS metadata files for:" +msgstr "Створіть файли метаданих VCS для:" + +msgid "Existing VCS metadata files will be overwritten." +msgstr "Існуючі файли метаданих VCS буде перезаписано." + +msgid "Local Settings" +msgstr "Параметри локалізації" + msgid "Apply" msgstr "Застосувати" +msgid "VCS Provider" +msgstr "Постачальник VCS" + +msgid "Connect to VCS" +msgstr "Підключення до VCS" + msgid "Remote Login" msgstr "Ім'я користувача віддаленого сховища" @@ -7122,6 +10301,12 @@ msgstr "Виявити зміни" msgid "Discard all changes" msgstr "Відкинути усі зміни" +msgid "This operation is IRREVERSIBLE. Your changes will be deleted FOREVER." +msgstr "Ця операція є НЕЗВОРТНОЮ. Ваші зміни будуть видалені НАЗАВЖДИ." + +msgid "Permanentally delete my changes" +msgstr "Назавжди видалити мої зміни" + msgid "Stage all changes" msgstr "Створити етап з усіх змін" @@ -7194,6 +10379,10 @@ msgstr "Зміна типу" msgid "Unmerged" msgstr "Необ'єднано" +msgid "View file diffs before committing them to the latest version" +msgstr "" +"Переглянути відмінності у файлах, перш ніж внести їх до найсвіжішої версії" + msgid "View:" msgstr "Перегляд:" @@ -7239,30 +10428,139 @@ msgstr "Булеве" msgid "Sampler" msgstr "Зразок" +msgid "[default]" +msgstr "[за замовчуванням]" + +msgid "" +"The 2D preview cannot correctly show the result retrieved from instance " +"parameter." +msgstr "" +"2D-перегляд не може коректно показати результат, отриманий з параметра " +"екземпляра." + msgid "Add Input Port" msgstr "Додати вхідний порт" msgid "Add Output Port" msgstr "Додати вихідний порт" +msgid "Change Input Port Type" +msgstr "Змінити тип вхідного порту" + +msgid "Change Output Port Type" +msgstr "Змінити тип вихідного порту" + +msgid "Change Input Port Name" +msgstr "Змінити назву вхідного порту" + +msgid "Change Output Port Name" +msgstr "Змінити назву вихідного порту" + +msgid "Expand Output Port" +msgstr "Розширити вихідний порт" + +msgid "Shrink Output Port" +msgstr "Стиснути вихідний порт" + msgid "Remove Input Port" msgstr "Вилучити вхідний порт" msgid "Remove Output Port" msgstr "Вилучити вихідний порт" +msgid "Set VisualShader Expression" +msgstr "Встановити вираз VisualShader" + +msgid "Resize VisualShader Node" +msgstr "Змінити розмір вузла VisualShader" + +msgid "Hide Port Preview" +msgstr "Приховати попередній перегляд порту" + +msgid "Show Port Preview" +msgstr "Показати попередній перегляд порту" + +msgid "Set Comment Node Title" +msgstr "Встановити заголовок вузла коментаря" + +msgid "Set Comment Node Description" +msgstr "Встановити опис вузла коментаря" + +msgid "Set Parameter Name" +msgstr "Встановити назву параметра" + msgid "Set Input Default Port" -msgstr "Встановити типовий порт введення" +msgstr "Встановити вхідний порт за замовчуванням" msgid "Add Node to Visual Shader" -msgstr "Додати вузол до візуального шейдера" +msgstr "Додати вузол до Visual Shader" + +msgid "Add Varying to Visual Shader: %s" +msgstr "Додати варіювання до Visual Shader: %s" + +msgid "Remove Varying from Visual Shader: %s" +msgstr "Видалити варіювання з візуального шейдера: %s" msgid "Node(s) Moved" -msgstr "Пересунуто вузли" +msgstr "Вузол(и) переміщено" + +msgid "Convert Constant Node(s) To Parameter(s)" +msgstr "Перетворення константного(их) вузла(ів) на параметр(и)" + +msgid "Convert Parameter Node(s) To Constant(s)" +msgstr "Перетворення параметрів вузла(ів) на константу(и)" + +msgid "Delete VisualShader Node" +msgstr "Видалити вузол VisualShader" + +msgid "Delete VisualShader Node(s)" +msgstr "Видалити вузол(и) VisualShader" + +msgid "Float Constants" +msgstr "Десяткові константи" + +msgid "Convert Constant(s) to Parameter(s)" +msgstr "Перетворити константу(и) на параметр(и)" + +msgid "Convert Parameter(s) to Constant(s)" +msgstr "Перетворити параметр(и) на константу(и)" + +msgid "Set Comment Title" +msgstr "Встановити заголовок коментаря" + +msgid "Set Comment Description" +msgstr "Установити опис коментаря" + +msgid "Duplicate VisualShader Node(s)" +msgstr "Дублювати вузол(и) VisualShader" + +msgid "Paste VisualShader Node(s)" +msgstr "Вставити Вузол(и) VisualShader" + +msgid "Cut VisualShader Node(s)" +msgstr "Вирізати вузол(и) VisualShader" msgid "Visual Shader Input Type Changed" msgstr "Змінено тип введення для візуального шейдера" +msgid "ParameterRef Name Changed" +msgstr "Змінено назву ParameterRef" + +msgid "Varying Name Changed" +msgstr "Змінено назву Varying" + +msgid "Set Constant: %s" +msgstr "Встановити константу: %s" + +msgid "Invalid name for varying." +msgstr "Некоректна назва для варіації." + +msgid "Varying with that name is already exist." +msgstr "Варіація з такою назвою вже існує." + +msgid "Add Node(s) to Visual Shader" +msgstr "Додати вузол(и) до Visual Shader" + msgid "Vertex" msgstr "Вершина" @@ -7275,18 +10573,45 @@ msgstr "Світло" msgid "Process" msgstr "Обробка" +msgid "Collide" +msgstr "Перешкода" + msgid "Sky" msgstr "Небо" msgid "Fog" msgstr "Туман" +msgid "Manage Varyings" +msgstr "Керівник варіацій" + +msgid "Add Varying" +msgstr "Додати варіацію" + +msgid "Remove Varying" +msgstr "Видалити варіацію" + +msgid "Show generated shader code." +msgstr "Показати згенерований код шейдера." + +msgid "Generated Shader Code" +msgstr "Згенерований код шейдера" + msgid "Add Node" msgstr "Додати вузол" +msgid "Clear Copy Buffer" +msgstr "Очистити буфер копіювання" + msgid "Create Shader Node" msgstr "Створити вузол шейдера" +msgid "Create Shader Varying" +msgstr "Створити варіацію шейдера" + +msgid "Delete Shader Varying" +msgstr "Видалити варіацію шейдера" + msgid "Color function." msgstr "Функція кольору." @@ -7335,6 +10660,12 @@ msgstr "Оператор розсіяного." msgid "Color constant." msgstr "Сталий колір." +msgid "Color parameter." +msgstr "Параметр кольору." + +msgid "(Fragment/Light mode only) Derivative function." +msgstr "(лише у режимі фрагментів або світла) Похідна функція." + msgid "Returns the boolean result of the %s comparison between two parameters." msgstr "Повертає булевий результат порівняння %s між двома параметрами." @@ -7373,6 +10704,54 @@ msgstr "Менше або дорівнює (<=)" msgid "Not Equal (!=)" msgstr "Не дорівнює (!=)" +msgid "" +"Returns an associated 3D vector if the provided boolean value is true or " +"false." +msgstr "" +"Повертає асоційований 3D-вектор, якщо надане булеве значення є істинним або " +"хибним." + +msgid "" +"Returns an associated 2D vector if the provided boolean value is true or " +"false." +msgstr "" +"Повертає асоційований 2D-вектор, якщо надане логічне значення є істинним або " +"хибним." + +msgid "" +"Returns an associated boolean if the provided boolean value is true or false." +msgstr "" +"Повертає асоційований булеве значення, якщо надане булеве значення є " +"істинним або хибним." + +msgid "" +"Returns an associated floating-point scalar if the provided boolean value is " +"true or false." +msgstr "" +"Повертає асоційований десятковий скаляр, якщо надане булеве значення має " +"значення true або false." + +msgid "" +"Returns an associated integer scalar if the provided boolean value is true " +"or false." +msgstr "" +"Повертає асоційований цілий скаляр, якщо надане логічне значення є істинним " +"або хибним." + +msgid "" +"Returns an associated transform if the provided boolean value is true or " +"false." +msgstr "" +"Повертає асоційоване перетворення, якщо надане булеве значення є істинним " +"або хибним." + +msgid "" +"Returns an associated unsigned integer scalar if the provided boolean value " +"is true or false." +msgstr "" +"Повертає асоційований цілий скаляр без знаку, якщо задане логічне значення є " +"істинним або хибним." + msgid "Returns the boolean result of the comparison between two parameters." msgstr "Повертає булевий результат порівняння між двома параметрами." @@ -7386,6 +10765,9 @@ msgstr "" msgid "Boolean constant." msgstr "Булева стала." +msgid "Boolean parameter." +msgstr "Булевий параметр." + msgid "'%s' input parameter for all shader modes." msgstr "Вхідний параметр «%s» для усіх режимів шейдера." @@ -7401,12 +10783,55 @@ msgstr "Вхідний параметр «%s» для режимів фрагм msgid "'%s' input parameter for fragment shader mode." msgstr "Вхідний параметр «%s» для режимів фрагментів шейдера." +msgid "'%s' input parameter for sky shader mode." +msgstr "'%s' вхідний параметр для режиму шейдерів неба." + +msgid "'%s' input parameter for fog shader mode." +msgstr "'%s' вхідний параметр для режиму шейдерів туману." + msgid "'%s' input parameter for light shader mode." msgstr "Вхідний параметр «%s» для режиму світла шейдера." msgid "'%s' input parameter for vertex shader mode." msgstr "Вхідний параметр «%s» для режиму вершин шейдера." +msgid "'%s' input parameter for start shader mode." +msgstr "Вхідний параметр '%s' для режиму запуску шейдера." + +msgid "'%s' input parameter for process shader mode." +msgstr "'%s' вхідний параметр для режиму обробки шейдера." + +msgid "'%s' input parameter for start and process shader modes." +msgstr "'%s' вхідний параметр для режимів запуску та обробки шейдерів." + +msgid "'%s' input parameter for process and collide shader modes." +msgstr "'%s' вхідний параметр для режимів обробки та зіткнення шейдерів." + +msgid "" +"A node for help to multiply a position input vector by rotation using " +"specific axis. Intended to work with emitters." +msgstr "" +"Вузол, який допомагає помножити вхідний вектор положення на поворот за " +"певною віссю. Призначений для роботи з випромінювачами." + +msgid "Float function." +msgstr "Десяткова функція." + +msgid "Float operator." +msgstr "Десятковий оператор." + +msgid "Integer function." +msgstr "Ціла функція." + +msgid "Integer operator." +msgstr "Цілий оператор." + +msgid "Unsigned integer function." +msgstr "Ціла функція без знаку." + +msgid "Unsigned integer operator." +msgstr "Цілочисельний оператор без знаку." + msgid "Returns the absolute value of the parameter." msgstr "Повертає модуль параметра." @@ -7431,6 +10856,14 @@ msgstr "Повертає арктангенс параметрів." msgid "Returns the inverse hyperbolic tangent of the parameter." msgstr "Повертає обернений гіперболічний тангенс параметра." +msgid "Returns the result of bitwise NOT (~a) operation on the integer." +msgstr "Повертає результат порозрядної операції NOT (~a) для цілого числа." + +msgid "" +"Returns the result of bitwise NOT (~a) operation on the unsigned integer." +msgstr "" +"Повертає результат порозрядної операції NOT (~a) для цілого числа без знака." + msgid "" "Finds the nearest integer that is greater than or equal to the parameter." msgstr "" @@ -7495,6 +10928,10 @@ msgstr "Повертає менше з двох значень." msgid "Linear interpolation between two scalars." msgstr "Лінійна інтерполяція від двох скалярних значень." +msgid "Performs a fused multiply-add operation (a * b + c) on scalars." +msgstr "" +"Виконує об'єднану операцію множення-додавання (a * b + c) над скалярами." + msgid "Returns the opposite value of the parameter." msgstr "Повертає значення, яке є протилежним до значення параметра." @@ -7571,12 +11008,195 @@ msgstr "Повертає гіперболічний тангенс параме msgid "Finds the truncated value of the parameter." msgstr "Визначає обрізане до цілого значення параметра." +msgid "Sums two floating-point scalars." +msgstr "Сумує два десяткові скаляри." + +msgid "Sums two integer scalars." +msgstr "Сумує два цілі скаляри." + +msgid "Sums two unsigned integer scalars." +msgstr "Сумує два беззнакові цілі скаляри." + +msgid "Returns the result of bitwise AND (a & b) operation for two integers." +msgstr "" +"Повертає результат побітової операції AND (a & b) для двох цілих чисел." + +msgid "" +"Returns the result of bitwise AND (a & b) operation for two unsigned " +"integers." +msgstr "" +"Повертає результат побітової операції AND (a & b) для двох цілих чисел без " +"знаку." + +msgid "" +"Returns the result of bitwise left shift (a << b) operation on the integer." +msgstr "" +"Повертає результат операції побітового зсуву вліво (a << b) на ціле число." + +msgid "" +"Returns the result of bitwise left shift (a << b) operation on the unsigned " +"integer." +msgstr "" +"Повертає результат операції побітового зсуву вліво (a << b) над цілим " +"беззнаковим числом." + +msgid "Returns the result of bitwise OR (a | b) operation for two integers." +msgstr "Повертає результат побітової операції OR (a | b) для двох цілих чисел." + +msgid "" +"Returns the result of bitwise OR (a | b) operation for two unsigned integers." +msgstr "" +"Повертає результат побітової операції OR (a | b) для двох цілих чисел без " +"знаку." + +msgid "" +"Returns the result of bitwise right shift (a >> b) operation on the integer." +msgstr "" +"Повертає результат операції побітового зсуву вправо (a >> b) над цілим " +"числом." + +msgid "" +"Returns the result of bitwise right shift (a >> b) operation on the unsigned " +"integer." +msgstr "" +"Повертає результат операції побітового зсуву вправо (a >> b) над цілим " +"беззнаковим числом." + +msgid "Returns the result of bitwise XOR (a ^ b) operation on the integer." +msgstr "Повертає результат побітової операції XOR (a ^ b) над цілим числом." + +msgid "" +"Returns the result of bitwise XOR (a ^ b) operation on the unsigned integer." +msgstr "" +"Повертає результат побітової операції XOR (a ^ b) над цілим беззнаковим " +"числом." + +msgid "Divides two floating-point scalars." +msgstr "Ділить два десяткові скаляри." + +msgid "Divides two integer scalars." +msgstr "Ділить два цілих скаляри." + +msgid "Divides two unsigned integer scalars." +msgstr "Ділить два цілих скаляри без знаку." + +msgid "Multiplies two floating-point scalars." +msgstr "Перемножує два десяткові скаляри." + +msgid "Multiplies two integer scalars." +msgstr "Перемножує два цілих скаляри." + +msgid "Multiplies two unsigned integer scalars." +msgstr "Перемножує два цілих скаляри без знаку." + +msgid "Returns the remainder of the two floating-point scalars." +msgstr "Повертає залишок двох десяткових скалярів." + +msgid "Returns the remainder of the two integer scalars." +msgstr "Повертає залишок двох цілих скалярів." + +msgid "Returns the remainder of the two unsigned integer scalars." +msgstr "Повертає залишок двох беззнакових цілих скалярів." + +msgid "Subtracts two floating-point scalars." +msgstr "Віднімає два десяткові скаляри." + +msgid "Subtracts two integer scalars." +msgstr "Віднімає два цілі скаляри." + +msgid "Subtracts two unsigned integer scalars." +msgstr "Віднімає два беззнакові цілі скаляри." + +msgid "Scalar floating-point constant." +msgstr "Скалярна десяткова константа." + +msgid "Scalar integer constant." +msgstr "Скалярна ціла константа." + +msgid "Scalar unsigned integer constant." +msgstr "Скалярна ціла беззнакова константа." + +msgid "Scalar floating-point parameter." +msgstr "Скалярний десятковий параметр." + +msgid "Scalar integer parameter." +msgstr "Скалярний цілий параметр." + +msgid "Scalar unsigned integer parameter." +msgstr "Скалярний беззнаковий цілий параметр." + +msgid "Converts screen UV to a SDF." +msgstr "Перетворює екранний UV на SDF." + +msgid "Casts a ray against the screen SDF and returns the distance travelled." +msgstr "Кидає промінь на екран SDF і повертає пройдену відстань." + +msgid "Converts a SDF to screen UV." +msgstr "Перетворює SDF в екранний UV." + +msgid "Performs a SDF texture lookup." +msgstr "Виконує пошук текстури SDF." + +msgid "Performs a SDF normal texture lookup." +msgstr "Виконує пошук нормальної текстури SDF." + +msgid "Function to be applied on texture coordinates." +msgstr "Функція для застосування до координат текстури." + +msgid "Polar coordinates conversion applied on texture coordinates." +msgstr "Перетворення полярних координат, застосоване до текстурних координат." + msgid "Perform the cubic texture lookup." msgstr "Виконує пошук кубічної текстури." +msgid "Perform the curve texture lookup." +msgstr "Виконайте пошук текстури кривої." + +msgid "Perform the three components curve texture lookup." +msgstr "Виконує пошук текстури кривої з трьох компонентів." + +msgid "" +"Returns the depth value obtained from the depth prepass in a linear space." +msgstr "" +"Повертає значення глибини, отримане з попереднього проходу глибини в " +"лінійному просторі." + +msgid "Perform the 2D texture lookup." +msgstr "Виконує пошук 2D текстури." + +msgid "Perform the 2D-array texture lookup." +msgstr "Виконує пошук текстури 2D-масиву." + +msgid "Perform the 3D texture lookup." +msgstr "Виконує пошук текстури 3D." + +msgid "Apply panning function on texture coordinates." +msgstr "Застосувати функцію панорамування до координат текстури." + +msgid "Apply scaling function on texture coordinates." +msgstr "Застосувати функцію масштабування до координат текстури." + +msgid "Cubic texture parameter lookup." +msgstr "Пошук параметрів текстури куба." + +msgid "2D texture parameter lookup." +msgstr "Пошук параметрів текстури 2D." + +msgid "2D texture parameter lookup with triplanar." +msgstr "Пошук параметрів текстури 2D за допомогою трьох площин." + +msgid "2D array of textures parameter lookup." +msgstr "Пошук параметрів текстур 2D масиву." + +msgid "3D texture parameter lookup." +msgstr "Пошук параметрів текстури 3D." + msgid "Transform function." msgstr "Функція перетворення." +msgid "Transform operator." +msgstr "Оператор перетворення." + msgid "" "Calculate the outer product of a pair of vectors.\n" "\n" @@ -7603,24 +11223,81 @@ msgstr "Розкладає перетворення на чотири векто msgid "Calculates the determinant of a transform." msgstr "Обчислює визначник перетворення." +msgid "" +"Calculates how the object should face the camera to be applied on Model View " +"Matrix output port for 3D objects." +msgstr "" +"Обчислює, як об'єкт має бути повернутий до камери, щоб бути застосованим до " +"порту виводу матриці Model View для 3D-об'єктів." + msgid "Calculates the inverse of a transform." msgstr "Обчислює обернену матрицю перетворення." msgid "Calculates the transpose of a transform." msgstr "Обчислює транспозицію перетворення." +msgid "Sums two transforms." +msgstr "Сумує два перетворення." + +msgid "Divides two transforms." +msgstr "Ділить два перетворення." + +msgid "Multiplies two transforms." +msgstr "Перемножує два перетворення." + +msgid "Performs per-component multiplication of two transforms." +msgstr "Виконує покомпонентне множення двох перетворень." + +msgid "Subtracts two transforms." +msgstr "Віднімає два перетворення." + msgid "Multiplies vector by transform." msgstr "Множить вектор на перетворення." msgid "Transform constant." msgstr "Стала перетворення." +msgid "Transform parameter." +msgstr "Параметр перетворення." + +msgid "Returns a random value between the minimum and maximum input values." +msgstr "" +"Повертає випадкове значення між мінімальним та максимальним значенням " +"вхідних даних." + +msgid "Remaps a given input from the input range to the output range." +msgstr "Відображає вхідні дані з діапазону вводу у діапазон виводу." + msgid "Vector function." msgstr "Векторна функція." msgid "Vector operator." msgstr "Векторний оператор." +msgid "Composes vector from scalars." +msgstr "Складає вектор зі скалярів." + +msgid "Decomposes vector to scalars." +msgstr "Розкладає вектор на скаляри." + +msgid "Composes 2D vector from two scalars." +msgstr "Складає 2D вектор з двох скалярів." + +msgid "Decomposes 2D vector to two scalars." +msgstr "Розкладає 2D вектор на два скаляри." + +msgid "Composes 3D vector from three scalars." +msgstr "Складає 3D вектор з трьох скалярів." + +msgid "Decomposes 3D vector to three scalars." +msgstr "Розкладає 3D вектор на три скаляри." + +msgid "Composes 4D vector from four scalars." +msgstr "Складає 4D вектор з чотирьох скалярів." + +msgid "Decomposes 4D vector to four scalars." +msgstr "Розкладає 4D вектор на чотири скаляри." + msgid "Calculates the cross product of two vectors." msgstr "Обчислює векторний добуток двох векторів." @@ -7672,6 +11349,10 @@ msgid "Linear interpolation between two vectors using scalar." msgstr "" "Лінійна інтерполяція від двох векторних значень з використанням скаляра." +msgid "Performs a fused multiply-add operation (a * b + c) on vectors." +msgstr "" +"Виконує об'єднану операцію множення-додавання (a * b + c) над векторами." + msgid "Calculates the normalize product of vector." msgstr "Повертає нормалізований векторний добуток векторів." @@ -7742,6 +11423,73 @@ msgstr "" "(лише у режимі фрагментів або світла) (вектор) Сума похідних за модулем у " "«x» та «y»." +msgid "Adds 2D vector to 2D vector." +msgstr "Додає 2D-вектор до 2D-вектора." + +msgid "Adds 3D vector to 3D vector." +msgstr "Додає 3D-вектор до 3D-вектора." + +msgid "Adds 4D vector to 4D vector." +msgstr "Додає 4D-вектор до 4D-вектора." + +msgid "Divides 2D vector by 2D vector." +msgstr "Ділить 2D-вектор на 2D-вектор." + +msgid "Divides 3D vector by 3D vector." +msgstr "Ділить 3D-вектор на 3D-вектор." + +msgid "Divides 4D vector by 4D vector." +msgstr "Ділить 4D-вектор на 4D-вектор." + +msgid "Multiplies 2D vector by 2D vector." +msgstr "Множить 2D-вектор на 2D-вектор." + +msgid "Multiplies 3D vector by 3D vector." +msgstr "Множить 3D-вектор на 3D-вектор." + +msgid "Multiplies 4D vector by 4D vector." +msgstr "Множить 4D-вектор на 4D-вектор." + +msgid "Returns the remainder of the two 2D vectors." +msgstr "Повертає залишок від двох 2D-векторів." + +msgid "Returns the remainder of the two 3D vectors." +msgstr "Повертає залишок від двох 3D-векторів." + +msgid "Returns the remainder of the two 4D vectors." +msgstr "Повертає залишок від двох 4D-векторів." + +msgid "Subtracts 2D vector from 2D vector." +msgstr "Віднімає 2D-вектор від 2D-вектора." + +msgid "Subtracts 3D vector from 3D vector." +msgstr "Віднімає 3D-вектор від 3D-вектора." + +msgid "Subtracts 4D vector from 4D vector." +msgstr "Віднімає 4D-вектор від 4D-вектора." + +msgid "2D vector constant." +msgstr "Стала 2D вектора." + +msgid "2D vector parameter." +msgstr "Параметр 2D вектора." + +msgid "3D vector constant." +msgstr "Стала 3D вектора." + +msgid "3D vector parameter." +msgstr "Параметр 3D вектора." + +msgid "4D vector constant." +msgstr "Стала 4D вектора." + +msgid "4D vector parameter." +msgstr "Параметр 4D вектора." + +msgid "" +"A rectangular area with a description string for better graph organization." +msgstr "Прямокутна область із рядком опису для кращої організації графіка." + msgid "" "Custom Godot Shader Language expression, with custom amount of input and " "output ports. This is a direct injection of code into the vertex/fragment/" @@ -7752,12 +11500,47 @@ msgstr "" "фрагментів або світла. Не використовуйте це для написання вбудованих " "оголошень функцій." +msgid "" +"Custom Godot Shader Language expression, which is placed on top of the " +"resulted shader. You can place various function definitions inside and call " +"it later in the Expressions. You can also declare varyings, parameters and " +"constants." +msgstr "" +"Нетиповий вираз мовою шейдерів Godot, який буде розміщено поверх отриманого " +"шейдера. Ви можете розташовувати різні визначення функцій всередині коду і " +"викликати його пізніше у Виразах. Ви також можете оголошувати змінні, " +"параметри та константи." + +msgid "A reference to an existing parameter." +msgstr "Посилання на існуючий параметр." + +msgid "Get varying parameter." +msgstr "Отримати параметр варіації." + +msgid "Set varying parameter." +msgstr "Встановити параметр варіації." + msgid "Edit Visual Property:" msgstr "Змінити візуальну властивість:" msgid "Visual Shader Mode Changed" msgstr "Змінено режим візуального шейдерів" +msgid "Voxel GI data is not local to the scene." +msgstr "Дані Voxel GI не є локальними для сцени." + +msgid "Voxel GI data is part of an imported resource." +msgstr "Дані Voxel GI є частиною імпортованого ресурсу." + +msgid "Voxel GI data is an imported resource." +msgstr "Дані Voxel GI є імпортованим ресурсом." + +msgid "Bake VoxelGI" +msgstr "Запекти VoxelGI" + +msgid "Select path for VoxelGI Data File" +msgstr "Вибрати шлях для файлу даних VoxelGI" + msgid "The path specified doesn't exist." msgstr "Вказаного шляху не існує." @@ -7777,6 +11560,12 @@ msgstr "Будь ласка, виберіть файл «project.godot» або msgid "This directory already contains a Godot project." msgstr "У цьому каталозі вже міститься проєкт Godot." +msgid "" +"The selected path is not empty. Choosing an empty folder is highly " +"recommended." +msgstr "" +"Вибраний шлях не порожній. Наполегливо рекомендується вибирати порожню теку." + msgid "New Game Project" msgstr "Новий проєкт гри" @@ -7795,6 +11584,48 @@ msgstr "У вказаному каталозі вже міститься тек msgid "It would be a good idea to name your project." msgstr "Вам варто дати назву вашому проєкту." +msgid "Supports desktop platforms only." +msgstr "Підтримує лише настільні платформи." + +msgid "Advanced 3D graphics available." +msgstr "Доступна розширена 3D-графіка." + +msgid "Can scale to large complex scenes." +msgstr "Може масштабуватися до великих складних сцен." + +msgid "Uses RenderingDevice backend." +msgstr "Використовує бекенд RenderingDevice." + +msgid "Slower rendering of simple scenes." +msgstr "Повільніший рендеринг простих сцен." + +msgid "Supports desktop + mobile platforms." +msgstr "Підтримує настільні та мобільні платформи." + +msgid "Less advanced 3D graphics." +msgstr "Менш просунута 3D-графіка." + +msgid "Less scalable for complex scenes." +msgstr "Менш масштабований для складних сцен." + +msgid "Fast rendering of simple scenes." +msgstr "Швидкий рендеринг простих сцен." + +msgid "Supports desktop, mobile + web platforms." +msgstr "Підтримує настільні, мобільні та веб-платформи." + +msgid "Least advanced 3D graphics (currently work-in-progress)." +msgstr "Найменш просунута 3D-графіка (наразі в процесі розробки)." + +msgid "Intended for low-end/older devices." +msgstr "Призначений для бюджетних/старіших пристроїв." + +msgid "Uses OpenGL 3 backend (OpenGL 3.3/ES 3.0/WebGL2)." +msgstr "Використовує бекенд OpenGL 3 (OpenGL 3.3/ES 3.0/WebGL2)." + +msgid "Fastest rendering of simple scenes." +msgstr "Найшвидший рендеринг простих сцен." + msgid "Invalid project path (changed anything?)." msgstr "Некоректний шлях до проєкту (щось змінилося?)." @@ -7807,9 +11638,26 @@ msgstr "" msgid "Couldn't save project at '%s' (error %d)." msgstr "Не вдалося зберегти проєкт у '%s' (помилка %d)." +msgid "Warning: This folder is not empty" +msgstr "Попередження: Ця папка не порожня" + +msgid "" +"You are about to create a Godot project in a non-empty folder.\n" +"The entire contents of this folder will be imported as project resources!\n" +"\n" +"Are you sure you wish to continue?" +msgstr "" +"Ви збираєтеся створити проект Godot у непорожній теці.\n" +"Весь вміст цієї теки буде імпортовано як ресурси проекту!\n" +"\n" +"Ви впевнені, що хочете продовжити?" + msgid "Couldn't create project.godot in project path." msgstr "Не вдалося створити project.godot у каталозі проєкту." +msgid "Couldn't create icon.svg in project path." +msgstr "Не вдалося створити icon.svg у каталозі проєкту." + msgid "Error opening package file, not in ZIP format." msgstr "Помилка під час спроби відкрити файл пакунка — дані не у форматі zip." @@ -7852,6 +11700,17 @@ msgstr "Шлях встановлення проєкту:" msgid "Renderer:" msgstr "Обробник:" +msgid "The renderer can be changed later, but scenes may need to be adjusted." +msgstr "" +"Обробник можна змінити пізніше, але, можливо, виникне потреба у коригуванні " +"сцен." + +msgid "Version Control Metadata:" +msgstr "Метадані керування версіями:" + +msgid "Git" +msgstr "Git" + msgid "Missing Project" msgstr "Не вистачає проєкту" @@ -7871,6 +11730,160 @@ msgid "Can't open project at '%s'." msgstr "Не вдалося відкрити проєкт у «%s»." msgid "" +"You requested to open %d projects in parallel. Do you confirm?\n" +"Note that usual checks for engine version compatibility will be bypassed." +msgstr "" +"Ви подали запит на паралельне відкриття %d проектів. Чи підтверджуєте ви " +"це?\n" +"Зверніть увагу, що звичайні перевірки на сумісність версій рушія буде " +"обійдено." + +msgid "" +"The selected project \"%s\" does not specify its supported Godot version in " +"its configuration file (\"project.godot\").\n" +"\n" +"Project path: %s\n" +"\n" +"If you proceed with opening it, it will be converted to Godot's current " +"configuration file format.\n" +"\n" +"Warning: You won't be able to open the project with previous versions of the " +"engine anymore." +msgstr "" +"Вибраний проект \"%s\" не вказує підтримувану версію Godot у своєму " +"конфігураційному файлі (\"project.godot\").\n" +"\n" +"Шлях до проекту: %s\n" +"\n" +"Якщо ви продовжите відкриття проекту, його буде конвертовано у формат " +"поточного конфігураційного файлу Godot.\n" +"\n" +"Попередження: Ви не зможете відкрити проект за допомогою попередніх версій " +"рушія." + +msgid "" +"The selected project \"%s\" was generated by Godot 3.x, and needs to be " +"converted for Godot 4.x.\n" +"\n" +"Project path: %s\n" +"\n" +"You have three options:\n" +"- Convert only the configuration file (\"project.godot\"). Use this to open " +"the project without attempting to convert its scenes, resources and " +"scripts.\n" +"- Convert the entire project including its scenes, resources and scripts " +"(recommended if you are upgrading).\n" +"- Do nothing and go back.\n" +"\n" +"Warning: If you select a conversion option, you won't be able to open the " +"project with previous versions of the engine anymore." +msgstr "" +"Вибраний проект \"%s\" було створено у версії Godot 3.x, і його потрібно " +"конвертувати для версії Godot 4.x.\n" +"\n" +"Шлях до проекту: %s\n" +"\n" +"У вас є три варіанти:\n" +"- Конвертувати лише файл конфігурації (\"project.godot\"). У цьому випадку " +"проект буде відкрито без спроб перетворення його сцен, ресурсів і скриптів.\n" +"- Конвертувати весь проект, включно зі сценами, ресурсами і скриптами " +"(рекомендується у разі оновлення).\n" +"- Нічого не робити і повернутися назад.\n" +"\n" +"Попередження: Якщо ви виберете опцію конвертації, ви більше не зможете " +"відкрити проект за допомогою попередніх версій рушія." + +msgid "Convert project.godot Only" +msgstr "Конвертувати тільки project.godot" + +msgid "" +"The selected project \"%s\" was generated by an older engine version, and " +"needs to be converted for this version.\n" +"\n" +"Project path: %s\n" +"\n" +"Do you want to convert it?\n" +"\n" +"Warning: You won't be able to open the project with previous versions of the " +"engine anymore." +msgstr "" +"Вибраний проект \"%s\" було створено старішою версією рушія, і його потрібно " +"конвертувати для цієї версії.\n" +"\n" +"Шлях до проекту: %s\n" +"\n" +"Ви хочете його конвертувати?\n" +"\n" +"Попередження: Ви більше не зможете відкрити проект за допомогою попередніх " +"версій рушія." + +msgid "Convert project.godot" +msgstr "Конвертувати project.godot" + +msgid "" +"Can't open project \"%s\" at the following path:\n" +"\n" +"%s\n" +"\n" +"The project settings were created by a newer engine version, whose settings " +"are not compatible with this version." +msgstr "" +"Не вдається відкрити проект \"%s\" за таким шляхом:\n" +"\n" +"%s\n" +"\n" +"Параметри проекту було створено новішою версією рушія, і вони несумісні з " +"цією версією." + +msgid "" +"Warning: This project uses double precision floats, but this version of\n" +"Godot uses single precision floats. Opening this project may cause data " +"loss.\n" +"\n" +msgstr "" +"Попередження: У цьому проекті використовується подвійна точність десяткових " +"чисел, але ця версія\n" +"Godot використовує десяткові одинарної точності. Відкриття цього проекту " +"може призвести до втрати даних.\n" +"\n" + +msgid "" +"Warning: This project uses C#, but this build of Godot does not have\n" +"the Mono module. If you proceed you will not be able to use any C# scripts.\n" +"\n" +msgstr "" +"Попередження: У цьому проекті використовується мова C#, але ця збірка Godot " +"не має\n" +"модуля Mono. Якщо ви продовжите, ви не зможете використовувати скрипти на " +"C#.\n" +"\n" + +msgid "" +"Warning: This project was built in Godot %s.\n" +"Opening will upgrade or downgrade the project to Godot %s.\n" +"\n" +msgstr "" +"Попередження: Цей проект було створено на мові Godot %s.\n" +"Відкриття проекту покращить або погіршить його якість до версії Godot %s.\n" +"\n" + +msgid "" +"Warning: This project uses the following features not supported by this " +"build of Godot:\n" +"\n" +"%s\n" +"\n" +msgstr "" +"Попередження: Цей проект використовує наступні можливості, які не " +"підтримуються цією збіркою Godot:\n" +"\n" +"%s\n" +"\n" + +msgid "Open anyway? Project will be modified." +msgstr "Все одно відкрити? Проект буде змінено." + +msgid "" "Can't run project: no main scene defined.\n" "Please edit the project and set the main scene in the Project Settings under " "the \"Application\" category." @@ -7922,6 +11935,9 @@ msgctxt "Application" msgid "Project Manager" msgstr "Керування проєктами" +msgid "Filter Projects" +msgstr "Фільтр проектів" + msgid "" "This field filters projects by name and last path component.\n" "To filter projects by name and full path, the query must contain at least " @@ -7934,6 +11950,9 @@ msgstr "" msgid "Loading, please wait..." msgstr "Завантаження. Будь ласка, зачекайте..." +msgid "Last Edited" +msgstr "Останнє редагування" + msgid "New Project" msgstr "Новий проєкт" @@ -7970,6 +11989,28 @@ msgstr "Вилучити усі" msgid "Also delete project contents (no undo!)" msgstr "Також вилучити вміст проєкту (без можливості скасування!)" +msgid "" +"This option will perform full project conversion, updating scenes, resources " +"and scripts from Godot 3.x to work in Godot 4.0.\n" +"\n" +"Note that this is a best-effort conversion, i.e. it makes upgrading the " +"project easier, but it will not open out-of-the-box and will still require " +"manual adjustments.\n" +"\n" +"IMPORTANT: Make sure to backup your project before converting, as this " +"operation makes it impossible to open it in older versions of Godot." +msgstr "" +"Ця опція виконує повну конвертацію проекту, оновлюючи сцени, ресурси та " +"скрипти з Godot 3.x для роботи в Godot 4.0.\n" +"\n" +"Зауважте, що це найкраща конвертація, тобто вона полегшує оновлення проекту, " +"але він не відкриється \"з коробки\" і все одно потребуватиме ручних " +"корегувань.\n" +"\n" +"ВАЖЛИВО: Перед конвертацією обов'язково створіть резервну копію проекту, " +"оскільки після цієї операції ви не зможете відкрити його у старіших версіях " +"Godot." + msgid "Can't run project" msgstr "Не вдається запустити проєкт" @@ -7980,21 +12021,45 @@ msgstr "" "Наразі у вас немає проєктів.\n" "Бажаєте переглянути офіційні приклади проєктів з бібліотеки ресурсів?" +msgid "Add Project Setting" +msgstr "Додавання параметрів проекту" + msgid "Delete Item" msgstr "Вилучити елемент" +msgid "(All)" +msgstr "(Все)" + msgid "Add Input Action" msgstr "Додати дію" msgid "Change Action deadzone" msgstr "Змінити «мертву» зону дії" +msgid "Change Input Action Event(s)" +msgstr "Змінити подію(ї) вхідної дії" + msgid "Erase Input Action" msgstr "Витерти запис дії" +msgid "Rename Input Action" +msgstr "Перейменувати дію" + +msgid "Update Input Action Order" +msgstr "Оновити порядок дій" + msgid "Project Settings (project.godot)" msgstr "Параметри проєкту (project.godot)" +msgid "Advanced Settings" +msgstr "Додаткові параметри" + +msgid "Select a Setting or Type its Name" +msgstr "Виберіть параметр або введіть його назву" + +msgid "Changed settings will be applied to the editor after restarting." +msgstr "Змінені параметри будуть застосовані до редактора після перезапуску." + msgid "Input Map" msgstr "Карта введення" @@ -8034,6 +12099,21 @@ msgstr "Додаткові параметри" msgid "Substitute" msgstr "Підставити" +msgid "Node name." +msgstr "Назва вузла." + +msgid "Node's parent name, if available." +msgstr "Назва батьківського вузла, якщо такий є." + +msgid "Node type." +msgstr "Тип вузла." + +msgid "Current scene name." +msgstr "Назва поточної сцени." + +msgid "Root node name." +msgstr "Назва кореневого вузла." + msgid "" "Sequential integer counter.\n" "Compare counter options." @@ -8049,9 +12129,15 @@ msgstr "" "Якщо позначено, лічильник перезапускатиметься для кожної групи дочірніх " "вузлів." +msgid "Initial value for the counter." +msgstr "Початкове значення для лічильника." + msgid "Step" msgstr "Крок" +msgid "Amount by which counter is incremented for each node." +msgstr "Величина, на яку збільшується значення лічильника для кожного вузла." + msgid "Padding" msgstr "Фаска" @@ -8095,12 +12181,39 @@ msgstr "На символі %s" msgid "Reparent Node" msgstr "Змінити батьківський вузол" +msgid "Select new parent:" +msgstr "Вибрати нового батька:" + msgid "Keep Global Transform" msgstr "Зберегти загальне перетворення" msgid "Reparent" msgstr "Змінити батьківський" +msgid "Pick Root Node Type" +msgstr "Вибрати тип кореневого вузла" + +msgid "Pick" +msgstr "Вибирати" + +msgid "Scene name is valid." +msgstr "Назва сцени коректна." + +msgid "Scene name is empty." +msgstr "Назва сцени порожня." + +msgid "File name invalid." +msgstr "Назва файлу некоректна." + +msgid "File already exists." +msgstr "Файл уже існує." + +msgid "Invalid root node name." +msgstr "Некоректна назва кореневого вузла." + +msgid "Root Type:" +msgstr "Тип кореня:" + msgid "2D Scene" msgstr "Плоска сцена" @@ -8110,12 +12223,43 @@ msgstr "Просторова сцена" msgid "User Interface" msgstr "Інтерфейс користувача" +msgid "Scene Name:" +msgstr "Назва сцени:" + +msgid "Root Name:" +msgstr "Назва кореня:" + +msgid "Leave empty to use scene name" +msgstr "Залишіть порожнім, щоб використовувати назву сцени" + +msgid "Create New Scene" +msgstr "Створити нову сцену" + +msgid "No parent to instantiate a child at." +msgstr "Немає батьків для екземпляра нащадка." + +msgid "No parent to instantiate the scenes at." +msgstr "Немає батьків для екземпляра сцени." + msgid "Error loading scene from %s" msgstr "Помилка під час спроби завантажити сцену з %s" +msgid "" +"Cannot instantiate the scene '%s' because the current scene exists within " +"one of its nodes." +msgstr "" +"Не можна створити екземпляр сцени \"%s\", оскільки поточна сцена існує у " +"одному з його вузлів." + +msgid "Instantiate Scene(s)" +msgstr "Створити Екземпляр(и) Сцен(и)" + msgid "Replace with Branch Scene" msgstr "Замінити гілкою сцени" +msgid "Instantiate Child Scene" +msgstr "Створити екземпляр дочірньої сцени" + msgid "Detach Script" msgstr "Від'єднати скрипт" @@ -8173,6 +12317,28 @@ msgstr "" "а у вас позначено %d." msgid "" +"Can't save the root node branch as an instantiated scene.\n" +"To create an editable copy of the current scene, duplicate it using the " +"FileSystem dock context menu\n" +"or create an inherited scene using Scene > New Inherited Scene... instead." +msgstr "" +"Не вдалося зберегти гілку кореневого вузла як екземпляр сцени.\n" +"Щоб створити редаговану копію поточної сцени, продублюйте її за допомогою " +"контекстного меню бічної панелі файлової системи\n" +"або створіть успадковану сцену за допомогою Сцена > Створити успадковану " +"сцену...." + +msgid "" +"Can't save the branch of an already instantiated scene.\n" +"To create a variation of a scene, you can make an inherited scene based on " +"the instantiated scene using Scene > New Inherited Scene... instead." +msgstr "" +"Не вдалося зберегти гілку вже створеного екземпляра сцени.\n" +"Щоб створити варіацію сцени, ви можете створити успадковану сцену на основі " +"екземпляра сцени за допомогою пункту меню Сцена > Створити успадковану " +"сцену... ." + +msgid "" "Can't save a branch which is a child of an already instantiated scene.\n" "To save this branch into its own scene, open the original scene, right click " "on this branch, and select \"Save Branch as Scene\"." @@ -8228,18 +12394,30 @@ msgstr "Новий корінь сцени" msgid "Create Root Node:" msgstr "Створити кореневий вузол:" +msgid "Switch to Favorite Nodes" +msgstr "Додати до улюблених вузлів" + msgid "Other Node" msgstr "Інший вузол" +msgid "Paste From Clipboard" +msgstr "Вставити з буфера обміну" + msgid "Can't operate on nodes from a foreign scene!" msgstr "Не можна працювати із вузлами зі сторонньої сцени!" msgid "Can't operate on nodes the current scene inherits from!" msgstr "Не можна працювати з вузлами, спадкоємцем яких є поточна сцена!" +msgid "This operation can't be done on instantiated scenes." +msgstr "Цю дію не можна виконувати над екземплярами сцен." + msgid "Attach Script" msgstr "Долучити скрипт" +msgid "Set Shader" +msgstr "Встановити Шейдер" + msgid "Cut Node(s)" msgstr "Вирізати вузли" @@ -8265,9 +12443,18 @@ msgstr "Помилка збереження сцени." msgid "Error duplicating scene to save it." msgstr "Помилка під час дублювання сцени для її збереження." +msgid "Instantiate Script" +msgstr "Вставити екземпляр скрипту" + msgid "Sub-Resources" msgstr "Підресурси" +msgid "Revoke Unique Name" +msgstr "Відкликати унікальну назву" + +msgid "Access as Unique Name" +msgstr "Отримати доступ як до унікальної назви" + msgid "Clear Inheritance" msgstr "Усунути успадкування" @@ -8277,9 +12464,28 @@ msgstr "Редагований дочірній елемент" msgid "Load As Placeholder" msgstr "Завантажити як заповнювач" +msgid "Auto Expand to Selected" +msgstr "Автоматичне розширення до вибраного" + msgid "Filters" msgstr "Фільтри" +msgid "Filter by Type" +msgstr "Фільтрувати за типом" + +msgid "Filter by Group" +msgstr "Фільтрувати за групою" + +msgid "Selects all Nodes of the given type." +msgstr "Вибрати всі вузли заданого типу." + +msgid "" +"Selects all Nodes belonging to the given group.\n" +"If empty, selects any Node belonging to any group." +msgstr "" +"Виділяє всі вузли, що належать до даної групи.\n" +"Якщо порожньо, вибирає будь-який вузол, що належить до будь-якої групи." + msgid "" "Cannot attach a script: there are no languages registered.\n" "This is probably because this editor was built with all language modules " @@ -8298,6 +12504,9 @@ msgstr "Вставити вузли" msgid "Add Child Node" msgstr "Додати дочірній вузол" +msgid "Expand/Collapse Branch" +msgstr "Розгорнути/Згорнути гілку" + msgid "Change Type" msgstr "Змінити тип" @@ -8307,18 +12516,31 @@ msgstr "Змінити батьківський вузол на новий" msgid "Make Scene Root" msgstr "Зробити кореневим для сцени" +msgid "Toggle Access as Unique Name" +msgstr "Увімкнути доступ як до унікальної назви" + msgid "Delete (No Confirm)" msgstr "Вилучити (без підтвердження)" msgid "Add/Create a New Node." msgstr "Додати або створити новий вузол." +msgid "" +"Instantiate a scene file as a Node. Creates an inherited scene if no root " +"node exists." +msgstr "" +"Створити екземпляр файла сцени як вузол. Створює успадковану сцену, якщо " +"кореневого вузла не існує." + msgid "Attach a new or existing script to the selected node." msgstr "Долучити новий або наявний скрипт до позначеного вузла." msgid "Detach the script from the selected node." msgstr "Від'єднати скрипт від позначеного вузла." +msgid "Extra scene options." +msgstr "Додаткові параметри сцени." + msgid "Remote" msgstr "Віддалений" @@ -8362,6 +12584,27 @@ msgstr "" "його з префіксом «%s» у шляху до вузла.\n" "Клацніть, щоб вимкнути." +msgid "Node has one connection." +msgid_plural "Node has {num} connections." +msgstr[0] "Вузол має одне з'єднання." +msgstr[1] "Вузол має {num} з'єднання." +msgstr[2] "Вузол має {num} з'єднань." + +msgid "Node is in this group:" +msgid_plural "Node is in the following groups:" +msgstr[0] "Вузол у цій групі:" +msgstr[1] "Вузли у наступних групах:" +msgstr[2] "Вузли у наступних групах:" + +msgid "Click to show signals dock." +msgstr "Клацніть, щоб переглянути панель сигналів." + +msgid "This script is currently running in the editor." +msgstr "Цей скрипт в даний час запущений в редакторі." + +msgid "This script is a custom type." +msgstr "Цей скрипт є користувацьким типом." + msgid "Open Script:" msgstr "Відкрити скрипт:" @@ -8373,12 +12616,22 @@ msgstr "" "Натисніть, щоб розблокувати." msgid "" +"Children are not selectable.\n" +"Click to make them selectable." +msgstr "" +"Дочірні об'єкти не можна вибрати.\n" +"Клацніть, щоб зробити їх доступними для вибору." + +msgid "" "AnimationPlayer is pinned.\n" "Click to unpin." msgstr "" "AnimationPlayer пришпилено.\n" "Натисніть, щоб відшпилити." +msgid "\"%s\" is not a known filter." +msgstr "\"%s\" є не відомим фільтром." + msgid "Invalid node name, the following characters are not allowed:" msgstr "Некоректна назва вузла. Не можна використовувати такі символи:" @@ -8403,9 +12656,15 @@ msgstr "Порожній шлях." msgid "Filename is empty." msgstr "Порожня назва файла." +msgid "Filename is invalid." +msgstr "Некоректна назва файлу." + msgid "Path is not local." msgstr "Шлях не є локальним." +msgid "Base path is invalid." +msgstr "Базовий шлях недійсний." + msgid "A directory with the same name exists." msgstr "Каталог із такою назвою вже існує." @@ -8415,6 +12674,9 @@ msgstr "Файл не існує." msgid "Invalid extension." msgstr "Некоректний суфікс." +msgid "Extension doesn't match chosen language." +msgstr "Розширення не відповідає вибраній мові." + msgid "Template:" msgstr "Шаблон:" @@ -8430,6 +12692,12 @@ msgstr "Відкрити скрипт або вибрати місце" msgid "Open Script" msgstr "Відкрити скрипт" +msgid "Inherit %s" +msgstr "Успадковує %s" + +msgid "Inherit" +msgstr "Успадковує" + msgid "File exists, it will be reused." msgstr "Файл вже існує, його буде використано повторно." @@ -8457,12 +12725,21 @@ msgstr "Вбудований (до файла сцени) скрипт." msgid "Will create a new script file." msgstr "Створить файл скрипту." +msgid "Using existing script file." +msgstr "Використання існуючого файлу скрипта." + msgid "Will load an existing script file." msgstr "Завантажити наявний файл скрипту." msgid "Script file already exists." msgstr "Файл скрипту вже існує." +msgid "No suitable template." +msgstr "Немає відповідного шаблону." + +msgid "Empty" +msgstr "Порожньо" + msgid "" "Note: Built-in scripts have some limitations and can't be edited using an " "external editor." @@ -8486,12 +12763,65 @@ msgstr "Вбудований скрипт:" msgid "Attach Node Script" msgstr "Долучити скрипт вузла" +msgid "Error - Could not create shader include in filesystem." +msgstr "Помилка - не вдалося створити шейдер, включений у файлову систему." + +msgid "Error - Could not create shader in filesystem." +msgstr "Помилка - Не вдалося створити шейдер у файловій системі." + +msgid "Error loading shader from %s" +msgstr "Помилка завантаження шейдера з %s" + +msgid "Open Shader / Choose Location" +msgstr "Відкрити шейдер / Вибрати розташування" + msgid "Invalid base path." msgstr "Некоректний базовий шлях." msgid "Wrong extension chosen." msgstr "Вибрано некоректний суфікс." +msgid "Shader path/name is valid." +msgstr "Шлях/назва шейдера коректний(а)." + +msgid "Built-in shader (into scene file)." +msgstr "Вбудований шейдер (у файл сцени)." + +msgid "Will create a new shader file." +msgstr "Буде створено новий файл шейдера." + +msgid "Will load an existing shader file." +msgstr "Завантажить наявний файл шейдера." + +msgid "Shader file already exists." +msgstr "Файл шейдера вже існує." + +msgid "Note: Built-in shaders can't be edited using an external editor." +msgstr "" +"Примітка: Вбудовані шейдери не можна редагувати за допомогою зовнішнього " +"редактора." + +msgid "Mode:" +msgstr "Режим:" + +msgid "Built-in Shader:" +msgstr "Вбудований шейдер:" + +msgid "Create Shader" +msgstr "Створити шейдер" + +msgid "Set Shader Global Variable" +msgstr "Встановити глобальну змінну шейдера" + +msgid "Global shader parameter '%s' already exists'" +msgstr "Глобальний параметр шейдера '%s' вже існує'" + +msgid "Name '%s' is a reserved shader language keyword." +msgstr "Назва '%s' є зарезервованим ключовим словом мови шейдерів." + +msgid "Add Shader Global Parameter" +msgstr "Додати глобальний параметр шейдера" + msgid "Change Cylinder Radius" msgstr "Змінити радіус циліндра" @@ -8535,6 +12865,82 @@ msgstr "Некоректний формат словника екземпляр msgid "Invalid instance dictionary (invalid subclasses)" msgstr "Некоректний словник екземпляра (некоректні підкласи)" +msgid "Value of type '%s' can't provide a length." +msgstr "Значення типу '%s' не може мати довжину." + +msgid "" +"Invalid type argument for is_instance_of(), use TYPE_* constants for built-" +"in types." +msgstr "" +"Некоректний аргумент типу для is_instance_of(), використовуйте константи " +"TYPE_* для вбудованих типів." + +msgid "Type argument is a previously freed instance." +msgstr "Аргумент типу є попередньо звільненим екземпляром." + +msgid "" +"Invalid type argument for is_instance_of(), should be a TYPE_* constant, a " +"class or a script." +msgstr "" +"Некоректний тип аргументу для is_instance_of(), повинен бути константою " +"TYPE_*, класом або скриптом." + +msgid "Value argument is a previously freed instance." +msgstr "Аргумент значення — це попередньо звільнений екземпляр." + +msgid "Export Scene to glTF 2.0 File" +msgstr "Експортувати сцену у файл glTF 2.0" + +msgid "glTF 2.0 Scene..." +msgstr "Сцена glTF 2.0..." + +msgid "Path does not contain a Blender installation." +msgstr "Шлях не містить інсталятора Blender'а." + +msgid "Can't execute Blender binary." +msgstr "Не вдається запустити файл Blender'а." + +msgid "Unexpected --version output from Blender binary at: %s" +msgstr "Несподіваний вихід --версії з Blender при: %s" + +msgid "Path supplied lacks a Blender binary." +msgstr "У наданому шляху відсутній бінарний файл Blender." + +msgid "This Blender installation is too old for this importer (not 3.0+)." +msgstr "Цей інсталятор Blender застарілий для цього імпортера (не 3.0+)." + +msgid "This Blender installation is too new for this importer (not 3.x)." +msgstr "Цей інсталятор Blender надто новий для цього імпортера (не 3.x)." + +msgid "Path to Blender installation is valid (Autodetected)." +msgstr "Шлях до інсталятора Blender правильний (визначено автоматично)." + +msgid "Path to Blender installation is valid." +msgstr "Шлях до інсталятора Blender правильний." + +msgid "Configure Blender Importer" +msgstr "Налаштувати імпортер Blender-а" + +msgid "" +"Blender 3.0+ is required to import '.blend' files.\n" +"Please provide a valid path to a Blender installation:" +msgstr "" +"Для імпорту файлів '.blend' потрібен Blender 3.0+.\n" +"Будь ласка, вкажіть правильний шлях до інсталятора Blender:" + +msgid "Disable '.blend' Import" +msgstr "Вимкнути імпорт '.blend'" + +msgid "" +"Disables Blender '.blend' files import for this project. Can be re-enabled " +"in Project Settings." +msgstr "" +"Вимикає для цього проекту імпорт файлів Blender-а '.blend'. Можна увімкнути " +"знову у Параметрах проекту." + +msgid "Disabling '.blend' file import requires restarting the editor." +msgstr "Вимкнення імпорту файлів '.blend' вимагає перезапуску редактора." + msgid "Next Plane" msgstr "Наступна площина" @@ -8619,13 +13025,55 @@ msgstr "Параметри GridMap" msgid "Pick Distance:" msgstr "Відстань вибору:" +msgid "Filter Meshes" +msgstr "Фільтрувати сітки" + msgid "Give a MeshLibrary resource to this GridMap to use its meshes." msgstr "" "Додайте ресурс MeshLibrary до цього GridMap, щоб скористатися його сітками." +msgid "Determining optimal atlas size" +msgstr "Визначення оптимального розміру атласу" + +msgid "Blitting albedo and emission" +msgstr "Сліпуче альбедо та випромінювання" + +msgid "Plotting mesh into acceleration structure %d/%d" +msgstr "Побудова сітки в структурі прискорення %d/%d" + +msgid "Optimizing acceleration structure" +msgstr "Оптимізація структури прискорення" + msgid "Begin Bake" msgstr "Почати обробку" +msgid "Preparing shaders" +msgstr "Підготовка шейдерів" + +msgid "Un-occluding geometry" +msgstr "Неоклюзійна геометрія" + +msgid "Plot direct lighting" +msgstr "Пряме освітлення ділянки" + +msgid "Integrate indirect lighting" +msgstr "Інтеграція непрямого освітлення" + +msgid "Bounce %d/%d: Integrate indirect lighting %d%%" +msgstr "Відскоки %d/%d: Інтегрувати непряме освітлення %d%%" + +msgid "Baking lightprobes" +msgstr "Запікання світлових зондів" + +msgid "Integrating light probes %d%%" +msgstr "Інтеграція світлових зондів %d%%" + +msgid "Denoising" +msgstr "Усунення шуму" + +msgid "Retrieving textures" +msgstr "Отримання текстур" + msgid "Class name can't be a reserved keyword" msgstr "Назвою класу не може бути зарезервоване ключове слово" @@ -8635,15 +13083,59 @@ msgstr "Зібрати рішення" msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Недостатньо байтів для їх декодування або вказано некоректний формат." +msgid "" +"Unable to load .NET runtime, no compatible version was found.\n" +"Attempting to create/edit a project will lead to a crash.\n" +"\n" +"Please install the .NET SDK 6.0 or later from https://dotnet.microsoft.com/" +"en-us/download and restart Godot." +msgstr "" +"Не вдалося завантажити середовище виконання .NET, не знайдено сумісної " +"версії.\n" +"Спроба створення/редагування проекту призведе до аварійного завершення.\n" +"\n" +"Будь ласка, встановіть .NET SDK 6.0 або новішу версію з https://dotnet." +"microsoft.com/en-us/download і перезавантажте Godot." + +msgid "Failed to load .NET runtime" +msgstr "Не вдалося завантажити середовище виконання .NET" + +msgid "" +"Unable to load .NET runtime, specifically hostfxr.\n" +"Attempting to create/edit a project will lead to a crash.\n" +"\n" +"Please install the .NET SDK 6.0 or later from https://dotnet.microsoft.com/" +"en-us/download and restart Godot." +msgstr "" +"Не вдалося завантажити середовище виконання .NET, зокрема hostfxr.\n" +"Спроба створення/редагування проекту призведе до аварійного завершення.\n" +"\n" +"Будь ласка, встановіть .NET SDK 6.0 або новішу версію з https://dotnet." +"microsoft.com/en-us/download і перезавантажте Godot." + +msgid "%d (%s)" +msgstr "%d (%s)" + msgid "%s/s" msgstr "%s/с" +msgctxt "Network" +msgid "Down" +msgstr "Отримання" + +msgctxt "Network" +msgid "Up" +msgstr "Вивантаження" + msgid "Incoming RPC" msgstr "Вхідний RPC" msgid "Outgoing RPC" msgstr "Вихідний RPC" +msgid "Synchronizer" +msgstr "Синхронізатор" + msgid "Config" msgstr "Налаштування" @@ -8656,11 +13148,94 @@ msgstr "Розмір" msgid "Network Profiler" msgstr "Засіб профілювання мережі" +msgid "Replication" +msgstr "Реплікація" + +msgid "Select a replicator node in order to pick a property to add to it." +msgstr "" +"Виберіть вузол реплікатора, щоб вибрати властивість, яку потрібно додати до " +"нього." + +msgid "Not possible to add a new property to synchronize without a root." +msgstr "Неможливо додати нову властивість для синхронізації без кореня." + +msgid "Property is already being synchronized." +msgstr "Властивість уже синхронізується." + +msgid "Add property to synchronizer" +msgstr "Додати властивість до синхронізатора" + +msgid "Pick a node to synchronize:" +msgstr "Виберіть вузол для синхронізації:" + +msgid "Add property to sync..." +msgstr "Додати властивість для синхр..." + +msgid "Add from path" +msgstr "Додати зі шляху" + +msgid "Spawn" +msgstr "Розмістити" + +msgid "" +"Add properties using the buttons above or\n" +"drag them them from the inspector and drop them here." +msgstr "" +"Додайте властивості за допомогою кнопок вище або\n" +"перетягніть їх з інспектора і скиньте сюди." + +msgid "Please select a MultiplayerSynchronizer first." +msgstr "Будь ласка, спочатку виберіть MultiplayerSynchronizer." + +msgid "The MultiplayerSynchronizer needs a root path." +msgstr "MultiplayerSynchronizer потребує кореневого шляху." + +msgid "Delete Property?" +msgstr "Видалити властивість?" + +msgid "Remove Property" +msgstr "Видалити властивість" + +msgid "" +"A valid NodePath must be set in the \"Spawn Path\" property in order for " +"MultiplayerSpawner to be able to spawn Nodes." +msgstr "" +"Для того, щоб MultiplayerSpawner міг створювати вузли, у властивості \"Spawn " +"Path\" має бути задано дійсний Шлях вузла." + +msgid "" +"A valid NodePath must be set in the \"Root Path\" property in order for " +"MultiplayerSynchronizer to be able to synchronize properties." +msgstr "" +"Для того, щоб MultiplayerSynchronizer міг синхронізувати властивості, у " +"властивості \"Root Path\" має бути задано дійсний Шлях вузла." + msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" "Для роботи цього вузла слід встановити або створити ресурс «Навігаційна " "сітка»." +msgid "" +"Cannot generate navigation mesh because it does not belong to the edited " +"scene. Make it unique first." +msgstr "" +"Не вдається згенерувати навігаційну сітку, оскільки вона не належить до " +"відредагованої сцени. Спочатку зробіть її унікальною." + +msgid "" +"Cannot generate navigation mesh because it belongs to a resource which was " +"imported." +msgstr "" +"Не вдається згенерувати навігаційну сітку, оскільки вона належить ресурсу, " +"який було імпортовано." + +msgid "" +"Cannot generate navigation mesh because the resource was imported from " +"another type." +msgstr "" +"Не вдається згенерувати навігаційну сітку, оскільки ресурс було імпортовано " +"з іншого типу." + msgid "Bake NavMesh" msgstr "Запекти NavMesh" @@ -8706,6 +13281,96 @@ msgstr "Аналіз геометрії..." msgid "Done!" msgstr "Зроблено!" +msgid "Toggles whether the noise preview is computed in 3D space." +msgstr "Перемикає попередній перегляд вирахуваного шуму в 3D просторі." + +msgid "Rename Action" +msgstr "Перейменувати дію" + +msgid "Change Action Type" +msgstr "Змінити тип дії" + +msgid "Remove action" +msgstr "Вилучити дію" + +msgid "Add action set" +msgstr "Додати набір дій" + +msgid "Remove action set" +msgstr "Вилучити набір дій" + +msgid "Add interaction profile" +msgstr "Додати інтерактивний профіль" + +msgid "Error saving file %s: %s" +msgstr "Помилка під час збереження файлу %s: %s" + +msgid "Error loading %s: %s." +msgstr "Помилка завантаження %s: %s." + +msgid "OpenXR Action map:" +msgstr "Карта дій OpenXR:" + +msgid "Remove interaction profile" +msgstr "Вилучити інтерактивний профіль" + +msgid "Action Map" +msgstr "Карта дій" + +msgid "Add Action Set" +msgstr "Додати набір дій" + +msgid "Add an action set." +msgstr "Додавання набору дій." + +msgid "Add profile" +msgstr "Додати профіль" + +msgid "Add an interaction profile." +msgstr "Додає інтерактивний профіль." + +msgid "Save this OpenXR action map." +msgstr "Збережіть цю карту дій OpenXR." + +msgid "Reset to default OpenXR action map." +msgstr "Скиньте до стандартної карти дій OpenXR." + +msgid "Action Sets" +msgstr "Набори дій" + +msgid "Rename Action Set" +msgstr "Перейменувати набір дій" + +msgid "Change Action Sets priority" +msgstr "Зміна пріоритету наборів дій" + +msgid "Add action" +msgstr "Додати дію" + +msgid "Delete action" +msgstr "Вилучити дію" + +msgid "OpenXR Action Map" +msgstr "Карта дій OpenXR" + +msgid "Remove action from interaction profile" +msgstr "Видалити дію з інтерактивного профілю" + +msgid "Add binding" +msgstr "Додати прив'язку" + +msgid "Remove binding" +msgstr "Вилучити прив'язку" + +msgid "Pose" +msgstr "Поза" + +msgid "Unknown" +msgstr "Невідомо" + +msgid "Select an action" +msgstr "Вибрати дію" + msgid "Package name is missing." msgstr "Не вказано назви пакунка." @@ -8726,6 +13391,13 @@ msgstr "" msgid "The package must have at least one '.' separator." msgstr "У назві пакунка має бути принаймні один роздільник «.»." +msgid "" +"The project name does not meet the requirement for the package name format. " +"Please explicitly specify the package name." +msgstr "" +"Назва проекту не відповідає вимогам до формату назви пакету. Будь ласка, " +"вкажіть назву пакету в правильному вигляді." + msgid "Select device from the list" msgstr "Вибрати пристрій зі списку" @@ -8812,13 +13484,94 @@ msgstr "Некоректний відкритий ключ для розгорт msgid "Invalid package name:" msgstr "Некоректна назва пакунка:" +msgid "\"Use Gradle Build\" must be enabled to use the plugins." +msgstr "" +"Щоб використовувати плагіни, потрібно ввімкнути «Використовувати збірку " +"Gradle»." + +msgid "OpenXR requires \"Use Gradle Build\" to be enabled" +msgstr "Для OpenXR потрібно ввімкнути \"Використовувати збірку Gradle\"" + +msgid "\"Hand Tracking\" is only valid when \"XR Mode\" is \"OpenXR\"." +msgstr "" +"\"Відстеження рук\" діє лише тоді, коли \"Режим XR\" має значення \"OpenXR\"." + +msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"." +msgstr "\"Прохід\" діє лише тоді, коли \"Режим XR\" має значення \"OpenXR\"." + +msgid "\"Export AAB\" is only valid when \"Use Gradle Build\" is enabled." +msgstr "" +"\"Експортувати AAB\" діє лише тоді, коли увімкнено \"Використовувати збірку " +"Gradle\"." + +msgid "" +"\"Min SDK\" can only be overridden when \"Use Gradle Build\" is enabled." +msgstr "" +"\"Min SDK\" можна змінити, лише якщо ввімкнено \"Використовувати збірку " +"Gradle\"." + +msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid." +msgstr "" +"\"Min SDK\" має бути цілим числом, але отримано \"%s\", що є неприпустимо." + +msgid "" +"\"Min SDK\" cannot be lower than %d, which is the version needed by the " +"Godot library." +msgstr "" +"\"Min SDK\" не може бути нижчим за %d, що є версією, необхідною для " +"бібліотеки Godot." + +msgid "" +"\"Target SDK\" can only be overridden when \"Use Gradle Build\" is enabled." +msgstr "" +"\"Цільовий SDK\" можна змінити, лише якщо ввімкнено \"Використовувати збірку " +"Gradle\"." + +msgid "" +"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid." +msgstr "" +"\"Цільовий SDK\" має бути цілим числом, але отримано \"%s\", що є некоректно." + msgid "" "\"Target SDK\" %d is higher than the default version %d. This may work, but " "wasn't tested and may be unstable." msgstr "" -"\"Target SDK\" %d вищий за стандартну версію %d. Це може працювати, але це " +"\"Цільовий SDK\" %d вищий за стандартну версію %d. Це може працювати, але це " "не було перевірено та може бути нестабільним." +msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version." +msgstr "" +"Версія \"Цільовий SDK\" має бути більшою або рівною за версію \"Min SDK\"." + +msgid "" +"The \"%s\" renderer is designed for Desktop devices, and is not suitable for " +"Android devices." +msgstr "" +"Рендер \"%s\" призначений для настільних пристроїв і не підходить для " +"пристроїв Android." + +msgid "\"Min SDK\" should be greater or equal to %d for the \"%s\" renderer." +msgstr "\"Min SDK\" має бути більшим або рівним %d для рендеру \"%s\"." + +msgid "Code Signing" +msgstr "Підписання коду" + +msgid "" +"All 'apksigner' tools located in Android SDK 'build-tools' directory failed " +"to execute. Please check that you have the correct version installed for " +"your target sdk version. The resulting %s is unsigned." +msgstr "" +"Усі інструменти 'apksigner', розташовані у каталозі 'build-tools' Android " +"SDK, не вдалося запустити. Будь ласка, перевірте, чи встановлено правильну " +"версію для вашої цільової версії sdk. Отриманий %s є беззнаковим." + +msgid "" +"'apksigner' could not be found. Please check that the command is available " +"in the Android SDK build-tools directory. The resulting %s is unsigned." +msgstr "" +"Не вдалося знайти «apksigner». Будь ласка, перевірте, чи є команда доступною " +"у каталозі build-tools Android SDK. Отриманий результат %s не підписано." + msgid "Signing debug %s..." msgstr "Підписування діагностики %s…" @@ -8828,9 +13581,19 @@ msgstr "Підписування випуску %s…" msgid "Could not find keystore, unable to export." msgstr "Не вдалося знайти сховище ключів. Неможливо виконати експортування." +msgid "Could not start apksigner executable." +msgstr "Не вдалося запустити виконуваний файл apksigner." + msgid "'apksigner' returned with error #%d" msgstr "«apksigner» повернуто повідомлення про помилку із номером %d" +msgid "" +"output: \n" +"%s" +msgstr "" +"Вивід: \n" +"%s" + msgid "Verifying %s..." msgstr "Перевіряємо %s…" @@ -8856,6 +13619,14 @@ msgid "Unsupported export format!" msgstr "Непідтримуваний формат експортування!" msgid "" +"Trying to build from a gradle built template, but no version info for it " +"exists. Please reinstall from the 'Project' menu." +msgstr "" +"Намагаємося виконати збирання на основі нетипового шаблона збирання, але не " +"виявлено даних щодо версії. Будь ласка, повторно встановіть шаблон за " +"допомогою меню «Проєкт»." + +msgid "" "Android build version mismatch: Template installed: %s, Godot version: %s. " "Please reinstall Android build template from 'Project' menu." msgstr "" @@ -8926,6 +13697,35 @@ msgstr "Вирівнюємо APK..." msgid "Could not unzip temporary unaligned APK." msgstr "Не вдалося розпакувати тимчасовий невирівняний APK." +msgid "Export Icons" +msgstr "Експортування піктограм" + +msgid "Prepare Templates" +msgstr "Підготуйте шаблони" + +msgid "Export template not found." +msgstr "Шаблон експорту не знайдено." + +msgid "Code signing failed, see editor log for details." +msgstr "Не вдалося підписати код, подробиці дивіться в журналі редактора." + +msgid "Xcode Build" +msgstr "Збірка Xcode" + +msgid "Xcode project build failed, see editor log for details." +msgstr "" +"Збірка проекту Xcode не вдалася, подробиці дивіться в журналі редактора." + +msgid ".ipa export failed, see editor log for details." +msgstr "Помилка експорту .ipa, подробиці дивіться в журналі редактора." + +msgid "" +".ipa can only be built on macOS. Leaving Xcode project without building the " +"package." +msgstr "" +".ipa можна зібрати лише на macOS. Проект Xcode залишається без побудови " +"пакету." + msgid "App Store Team ID not specified - cannot configure the project." msgstr "" "Не вказано ідентифікатор команди App Store — проєкт неможливо налаштувати." @@ -8939,6 +13739,60 @@ msgstr "Не вказано ідентифікатор." msgid "The character '%s' is not allowed in Identifier." msgstr "У назві ідентифікатора не можна використовувати символи «%s»." +msgid "Debug Script Export" +msgstr "Експорт скрипту налагодження" + +msgid "Could not open file \"%s\"." +msgstr "Не вдалося відкрити файл \"%s\"." + +msgid "Could not create console script." +msgstr "Не вдалося створити консольний скрипт." + +msgid "Failed to open executable file \"%s\"." +msgstr "Не вдалося відкрити виконуваний файл \"%s\"." + +msgid "Executable file header corrupted." +msgstr "Заголовок виконуваного файлу пошкоджено." + +msgid "32-bit executables cannot have embedded data >= 4 GiB." +msgstr "32-розрядні виконувані файли не можуть мати вбудованих даних >= 4 Гб." + +msgid "Executable \"pck\" section not found." +msgstr "Виконуваний розділ \"pck\" не знайдено." + +msgid "Stop and uninstall" +msgstr "Зупинка і видалення" + +msgid "Run on remote Linux/BSD system" +msgstr "Запуск на віддаленій системі Linux/BSD" + +msgid "Stop and uninstall running project from the remote system" +msgstr "Зупинка та видалення запущеного проекту з віддаленої системи" + +msgid "Run exported project on remote Linux/BSD system" +msgstr "Запуск експортованого проекту на віддаленій системі Linux/BSD" + +msgid "Running..." +msgstr "Запуск..." + +msgid "Could not create temp directory:" +msgstr "Не вдалося створити тимчасовий каталог:" + +msgid "Exporting project..." +msgstr "Експорт проекту..." + +msgid "Creating temporary directory..." +msgstr "Створення тимчасового каталогу..." + +msgid "Uploading archive..." +msgstr "Завантаження архіву..." + +msgid "Uploading scripts..." +msgstr "Завантаження скриптів..." + +msgid "Starting project..." +msgstr "Старт проекту..." + msgid "Can't get filesystem access." msgstr "Не вдалося отримати доступ до файлової системи." @@ -8993,15 +13847,44 @@ msgstr "Невідомий тип комплекту." msgid "Unknown object type." msgstr "Невідомий тип об'єктів." +msgid "Icon Creation" +msgstr "Створення піктограми" + +msgid "Could not open icon file \"%s\"." +msgstr "Не вдалося відкрити файл піктограми \"%s\"." + msgid "Notarization" msgstr "Засвідчення" msgid "" +"rcodesign path is not set. Configure rcodesign path in the Editor Settings " +"(Export > macOS > rcodesign)." +msgstr "" +"Шлях rcodesign не заданий. Налаштуйте шлях rcodesign в Параметрах редактора " +"(Експорт > macOS > rcodesign)." + +msgid "App Store Connect API key ID not specified." +msgstr "Не вказано ідентифікатор ключа API App Store Connect." + +msgid "Could not start rcodesign executable." +msgstr "Не вдалося запустити виконуваний файл rcodesign." + +msgid "Notarization failed, see editor log for details." +msgstr "" +"Помилка нотаріального засвідчення, подробиці дивіться в журналі редактора." + +msgid "Notarization request UUID: \"%s\"" +msgstr "UUID запиту на нотаріальне засвідчення: \"%s\"" + +msgid "The notarization process generally takes less than an hour." +msgstr "Процес нотаріального засвідчення зазвичай займає менше години." + +msgid "" "You can check progress manually by opening a Terminal and running the " "following command:" msgstr "" -"Ви можете стежити за поступом вручну — відкрийте термінал і віддайте у ньому " -"таку команду:" +"Ви можете відстежувати прогрес, якщо відкриєте термінал і виконаєте таку " +"команду:" msgid "" "Run the following command to staple the notarization ticket to the exported " @@ -9010,9 +13893,57 @@ msgstr "" "Віддайте таку команду для долучення квитка засвідчення до експортованої " "програми (необов'язкова процедура):" +msgid "Xcode command line tools are not installed." +msgstr "Інструменти командного рядка Xcode не встановлено." + +msgid "Apple ID password not specified." +msgstr "Пароль Apple ID не вказано." + +msgid "Could not start xcrun executable." +msgstr "Не вдалося запустити виконуваний файл xcrun." + +msgid "" +"The notarization process generally takes less than an hour. When the process " +"is completed, you'll receive an email." +msgstr "" +"Процес нотаріального засвідчення зазвичай займає менше години. Коли процес " +"буде завершено, ви отримаєте повідомлення на електронну пошту." + +msgid "Built-in CodeSign failed with error \"%s\"." +msgstr "Вбудований CodeSign не вдався з помилкою \"%s\"." + +msgid "Built-in CodeSign require regex module." +msgstr "Вбудований CodeSign вимагає модуля regex." + +msgid "" +"Xrcodesign path is not set. Configure rcodesign path in the Editor Settings " +"(Export > macOS > rcodesign)." +msgstr "" +"Шлях до Xrcodesign не задано. Налаштуйте шлях до rcodesign у Параметрах " +"редактора (Експорт > macOS > rcodesign)." + +msgid "" +"Could not start codesign executable, make sure Xcode command line tools are " +"installed." +msgstr "" +"Не вдалося запустити виконуваний файл codesign, переконайтеся, що " +"встановлено інструменти командного рядка Xcode." + msgid "Cannot sign file %s." msgstr "Не вдається підписати файл %s." +msgid "DMG Creation" +msgstr "Створення DMG" + +msgid "Could not start hdiutil executable." +msgstr "Не вдалося запустити виконуваний файл hdiutil." + +msgid "`hdiutil create` failed - file exists." +msgstr "`hdiutil create` не вдалося - файл існує." + +msgid "`hdiutil create` failed." +msgstr "`hdiutil create` не вдалося." + msgid "Creating app bundle" msgstr "Створюємо комплект програми" @@ -9022,6 +13953,12 @@ msgstr "Не вдалося знайти шаблон програми для е msgid "Invalid export format." msgstr "Неправильний формат експорту." +msgid "Could not create directory: \"%s\"." +msgstr "Не вдалося створити каталог: \"%s\"." + +msgid "Could not create directory \"%s\"." +msgstr "Не вдалося створити каталог \"%s\"." + msgid "" "Relative symlinks are not supported on this OS, the exported project might " "be broken!" @@ -9029,9 +13966,25 @@ msgstr "" "У цій операційній системі не передбачено підтримки відносних символічних " "посилань. Експортований проєкт може виявитися непрацездатним!" +msgid "Could not created symlink \"%s\" -> \"%s\"." +msgstr "Не вдалося створити символічне посилання \"%s\" -> \"%s\"." + +msgid "Could not open \"%s\"." +msgstr "Не вдалося відкрити \"%s\"." + +msgid "" +"Requested template binary \"%s\" not found. It might be missing from your " +"template archive." +msgstr "" +"Не знайдено запитуваний двійковий файл шаблона \"%s\". Ймовірно, його немає " +"у вашому архіві шаблонів." + msgid "Making PKG" msgstr "Створюємо PKG" +msgid "Entitlements Modified" +msgstr "Змінено права" + msgid "" "Ad-hoc signed applications require the 'Disable Library Validation' " "entitlement to load dynamic libraries." @@ -9039,6 +13992,9 @@ msgstr "" "Для одноразово підписаних програм потрібен параметр «Вимкнути перевірку " "бібліотек» для завантаження динамічних бібліотек." +msgid "Could not create entitlements file." +msgstr "Не вдалося створити файл прав." + msgid "Code signing bundle" msgstr "Комплект із підписуванням коду" @@ -9071,9 +14027,42 @@ msgstr "" msgid "Notarization: Code signing is required for notarization." msgstr "Засвідчення: для засвідчення потрібне підписування коду." +msgid "Notarization: Xcode command line tools are not installed." +msgstr "Засвідчення: Інструменти командного рядка Xcode не встановлено." + +msgid "" +"Notarization: Neither Apple ID name nor App Store Connect issuer ID name not " +"specified." +msgstr "" +"Засвідчення: не вказано ні назви ідентифікатора Apple, ні назви емітента App " +"Store Connect." + +msgid "" +"Notarization: Both Apple ID name and App Store Connect issuer ID name are " +"specified, only one should be set at the same time." +msgstr "" +"Засвідчення: Вказується і назва Apple ID, і назва емітента App Store " +"Connect, одночасно слід встановити тільки одне." + msgid "Notarization: Apple ID password not specified." msgstr "Засвідчення: не вказано пароль до ідентифікатора Apple." +msgid "Notarization: App Store Connect API key ID not specified." +msgstr "Засвідчення: не вказано ідентифікатор ключа App Store Connect API." + +msgid "Notarization: Apple Team ID not specified." +msgstr "Засвідчення: не вказано Apple Team ID." + +msgid "Notarization: App Store Connect issuer ID name not specified." +msgstr "Засвідчення: не вказано ідентифікатор емітента App Store Connect." + +msgid "" +"Notarization: rcodesign path is not set. Configure rcodesign path in the " +"Editor Settings (Export > macOS > rcodesign)." +msgstr "" +"Засвідчення: шлях до rcodesign не задано. Налаштуйте шлях до rcodesign у " +"Параметрах редактора (Експорт > macOS > rcodesign)." + msgid "" "Warning: Notarization is disabled. The exported project will be blocked by " "Gatekeeper if it's downloaded from an unknown source." @@ -9089,6 +14078,23 @@ msgstr "" "Gatekeeper та Mac на основі Apple Silicon." msgid "" +"Code signing: Using ad-hoc signature. The exported project will be blocked " +"by Gatekeeper" +msgstr "" +"Підписування коду: Використання спеціального підпису. Експортований проект " +"буде заблоковано Gatekeeper" + +msgid "Code signing: Xcode command line tools are not installed." +msgstr "Підписування коду: Інструменти командного рядка Xcode не встановлено." + +msgid "" +"Code signing: rcodesign path is not set. Configure rcodesign path in the " +"Editor Settings (Export > macOS > rcodesign)." +msgstr "" +"Підписування коду: шлях до rcodesign не задано. Налаштуйте шлях до rcodesign " +"у Параметрах редактора (Експорт > macOS > rcodesign)." + +msgid "" "Privacy: Microphone access is enabled, but usage description is not " "specified." msgstr "" @@ -9128,6 +14134,12 @@ msgstr "" "Конфіденційність: увімкнено доступ до бібліотеки світлин, але опис " "використання не вказано." +msgid "Run on remote macOS system" +msgstr "Запуск на віддаленій системі macOS" + +msgid "Run exported project on remote macOS system" +msgstr "Запуск експортованого проекту на віддаленій системі macOS" + msgid "Invalid package short name." msgstr "Некоректна скорочена назва пакунка." @@ -9192,6 +14204,9 @@ msgstr "Не вдалося прочитати файл: \"%s\"." msgid "Could not read HTML shell: \"%s\"." msgstr "Не вдалося прочитати оболонку HTML: \"%s\"." +msgid "Could not create HTTP server directory: %s." +msgstr "Не вдалося створити каталог сервера HTTP: %s." + msgid "Error starting HTTP server: %d." msgstr "Помилка під час спроби запуску сервера HTTP: %d." @@ -9204,15 +14219,82 @@ msgstr "Запустити в браузері" msgid "Run exported HTML in the system's default browser." msgstr "Виконати експортований HTML у браузері за умовчанням системи." +msgid "Resources Modification" +msgstr "Модифікація ресурсів" + +msgid "Icon size \"%d\" is missing." +msgstr "Відсутній розмір піктограми \"%d\"." + msgid "Failed to rename temporary file \"%s\"." msgstr "Не вдалося перейменувати тимчасовий файл \"%s\"." +msgid "Could not find rcedit executable at \"%s\"." +msgstr "Не вдалося знайти виконуваний файл rcedit за адресою \"%s\"." + +msgid "Could not find wine executable at \"%s\"." +msgstr "Не вдалося знайти виконуваний файл wine за адресою \"%s\"." + +msgid "Invalid icon file \"%s\"." +msgstr "Некоректний файл піктограми \"%s\"." + +msgid "" +"Could not start rcedit executable. Configure rcedit path in the Editor " +"Settings (Export > Windows > rcedit), or disable \"Application > Modify " +"Resources\" in the export preset." +msgstr "" +"Не вдалося запустити виконуваний файл rcedit. Налаштуйте шлях до rcedit у " +"Параметрах редактора (Експорт > Windows > rcedit) або вимкніть пункт " +"\"Програма > Змінити ресурси\" у Параметрах експорту." + +msgid "rcedit failed to modify executable: %s." +msgstr "rcedit не вдалося модифікувати виконуваний файл: %s." + +msgid "Could not find signtool executable at \"%s\"." +msgstr "Не вдалося знайти виконуваний файл signtool за адресою \"%s\"." + +msgid "Could not find osslsigncode executable at \"%s\"." +msgstr "Не вдалося знайти виконуваний файл osslsigncode за адресою \"%s\"." + msgid "No identity found." msgstr "Не знайдено профілю." +msgid "Invalid identity type." +msgstr "Невірний тип профілю." + +msgid "Invalid timestamp server." +msgstr "Невірний сервер часових позначок." + +msgid "" +"Could not start signtool executable. Configure signtool path in the Editor " +"Settings (Export > Windows > signtool), or disable \"Codesign\" in the " +"export preset." +msgstr "" +"Не вдалося запустити виконуваний файл signtool. Налаштуйте шлях до signtool " +"у Параметрах редактора (Експорт > Windows > signtool) або вимкніть " +"\"Codesign\" у попередньому налаштуванні експорту." + +msgid "" +"Could not start osslsigncode executable. Configure signtool path in the " +"Editor Settings (Export > Windows > osslsigncode), or disable \"Codesign\" " +"in the export preset." +msgstr "" +"Не вдалося запустити виконуваний файл osslsigncode. Налаштуйте шлях до " +"signtool у Параметрах редактора (Експорт > Windows > osslsigncode) або " +"вимкніть опцію \"Codesign\" у попередньому налаштуванні експорту." + +msgid "Signtool failed to sign executable: %s." +msgstr "Signtool не вдалося підписати виконуваний файл: %s." + msgid "Failed to remove temporary file \"%s\"." msgstr "Не вдалося вилучити тимчасовий файл \"%s\"." +msgid "" +"The rcedit tool must be configured in the Editor Settings (Export > Windows " +"> rcedit) to change the icon or app information data." +msgstr "" +"Інструмент rcedit має бути налаштований у Параметрах редактора (Експорт > " +"Windows > rcedit), щоб змінювати піктограму або інформаційні дані додатка." + msgid "Invalid icon path:" msgstr "Некоректний шлях до піктограм:" @@ -9222,6 +14304,29 @@ msgstr "Некоректна версія файла:" msgid "Invalid product version:" msgstr "Некоректна версія продукту:" +msgid "Windows executables cannot be >= 4 GiB." +msgstr "Виконувані файли Windows не можуть мати розмір >= 4 Гб." + +msgid "Run on remote Windows system" +msgstr "Запуск на віддаленій системі Windows" + +msgid "Run exported project on remote Windows system" +msgstr "Запуск експортованого проекту на віддаленій системі Windows" + +msgid "" +"A SpriteFrames resource must be created or set in the \"Frames\" property in " +"order for AnimatedSprite2D to display frames." +msgstr "" +"Ресурс SpriteFrames повинен бути створений або встановлений у властивості " +"\"Frames\", щоб AnimatedSprite2D міг відображати кадри." + +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instantiated " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" +"У сцені (або наборі екземплярів сцен) може бути лише один видимий " +"CanvasModulate. Працюватиме перший зі створених, решту буде проігноровано." + msgid "" "This node has no shape, so it can't collide or interact with other objects.\n" "Consider adding a CollisionShape2D or CollisionPolygon2D as a child to " @@ -9232,6 +14337,16 @@ msgstr "" "Спробуйте додати дочірні вузли CollisionShape2D або CollisionPolygon2D для " "визначення його форми." +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, CharacterBody2D, etc. to give them a shape." +msgstr "" +"CollisionPolygon2D призначено лише для надання форми для зіткнень похідному " +"вузлу CollisionObject2D. Будь ласка, використовуйте його як дочірній елемент " +"Area2D, StaticBody2D, RigidBody2D, CharacterBody2D, тощо, щоб надати їм " +"форми." + msgid "An empty CollisionPolygon2D has no effect on collision." msgstr "Порожній CollisionPolygon2D ніяк не вплине на зіткнення." @@ -9244,6 +14359,21 @@ msgstr "" "Некоректний полігон. У режимі збирання «Segments» потрібні принаймні 2 точки." msgid "" +"The One Way Collision property will be ignored when the parent is an Area2D." +msgstr "" +"Властивість One Way Collision буде ігноруватися, якщо батьком є Area2D." + +msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, CharacterBody2D, etc. to give them a shape." +msgstr "" +"CollisionShape2D призначено лише для надання форми для зіткнень похідному " +"вузлу CollisionObject2D. Будь ласка, використовуйте його як дочірній елемент " +"Area2D, StaticBody2D, RigidBody2D, CharacterBody2D, тощо, щоб надати їм " +"форми." + +msgid "" "A shape must be provided for CollisionShape2D to function. Please create a " "shape resource for it!" msgstr "" @@ -9279,6 +14409,13 @@ msgstr "" "Анімація Particles2D потребує використання CanvasItemMaterial із увімкненим " "параметром «Анімація часток»." +msgid "" +"Particle trails are only available when using the Forward+ or Mobile " +"rendering backends." +msgstr "" +"Сліди частинок доступні лише при використанні бекендів рендерингу Forward+ " +"або Мобільний." + msgid "Node A and Node B must be PhysicsBody2Ds" msgstr "Вузол A і вузол B мають бути PhysicsBody2D" @@ -9311,6 +14448,19 @@ msgstr "" "багатокутник." msgid "" +"The NavigationAgent2D can be used only under a Node2D inheriting parent node." +msgstr "" +"NavigationAgent2D можна використовувати лише під успадковуючим батьківським " +"вузлом Node2D." + +msgid "" +"NavigationLink2D start position should be different than the end position to " +"be useful." +msgstr "" +"Початкова позиція NavigationLink2D повинна відрізнятися від кінцевої, щоб " +"бути корисною." + +msgid "" "The NavigationObstacle2D only serves to provide collision avoidance to a " "Node2D object." msgstr "" @@ -9318,6 +14468,14 @@ msgstr "" "для об'єкта Node2D." msgid "" +"A NavigationMesh resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" +"Щоб забезпечити працездатність цього вузла, слід встановити або створити " +"ресурс NavigationMesh. Будь ласка, встановіть властивість або намалюйте " +"багатокутник." + +msgid "" "ParallaxLayer node only works when set as child of a ParallaxBackground node." msgstr "" "Вузол ParallaxLayer працює, лише якщо його встановлено як дочірній для вузла " @@ -9326,11 +14484,48 @@ msgstr "" msgid "PathFollow2D only works when set as a child of a Path2D node." msgstr "PathFollow2D працюватиме лише як дочірній елемент вузла Path2D." +msgid "" +"A PhysicalBone2D only works with a Skeleton2D or another PhysicalBone2D as a " +"parent node!" +msgstr "" +"PhysicalBone2D працює тільки з Skeleton2D або іншим PhysicalBone2D в якості " +"батьківського вузла!" + +msgid "" +"A PhysicalBone2D needs to be assigned to a Bone2D node in order to function! " +"Please set a Bone2D node in the inspector." +msgstr "" +"Для того, щоб PhysicalBone2D функціонував, його потрібно призначити вузлу " +"Bone2D! Будь ласка, встановіть вузол Bone2D в інспекторі." + +msgid "" +"A PhysicalBone2D node should have a Joint2D-based child node to keep bones " +"connected! Please add a Joint2D-based node as a child to this node!" +msgstr "" +"Вузол PhysicalBone2D повинен мати дочірній вузол на основі Joint2D, щоб " +"зберегти зв'язок між кістками! Будь ласка, додайте до цього вузла дочірній " +"вузол на основі Joint2D!" + +msgid "" +"Size changes to RigidBody2D will be overridden by the physics engine when " +"running.\n" +"Change the size in children collision shapes instead." +msgstr "" +"Зміни розмірів у RigidBody2D будуть перевизначені фізичним рушієм під час " +"запуску.\n" +"Вам варто змінити розмір у дочірніх формах зіткнення." + msgid "Path property must point to a valid Node2D node to work." msgstr "" "Щоб усе працювало як слід, властивість шляху (path) має вказувати на " "коректний вузол Node2D." +msgid "" +"This node cannot interact with other objects unless a Shape2D is assigned." +msgstr "" +"Цей вузол не може взаємодіяти з іншими об'єктами, якщо йому не призначено " +"Shape2D." + msgid "This Bone2D chain should end at a Skeleton2D node." msgstr "Цей ланцюжок Bone2D має завершуватися вузлом Skeleton2D." @@ -9343,14 +14538,380 @@ msgstr "" "Цій кістці бракує належної пози REST. Перейдіть до вузла Skeleton2D і " "встановіть її." +msgid "" +"A Y-sorted layer has the same Z-index value as a not Y-sorted layer.\n" +"This may lead to unwanted behaviors, as a layer that is not Y-sorted will be " +"Y-sorted as a whole with tiles from Y-sorted layers." +msgstr "" +"Відсортований за Y шар має таке саме значення індексу Z, що і не " +"відсортований за Y шар.\n" +"Це може призвести до небажаної поведінки, оскільки шар, який не " +"відсортований за Y, буде відсортовано за Y в загальному з допомогою плиток з " +"відсортованих за Y шарів." + +msgid "" +"A TileMap layer is set as Y-sorted, but Y-sort is not enabled on the TileMap " +"node itself." +msgstr "" +"Шар Карти плиток визначено як відсортований за Y, але Y-сортування не " +"увімкнено на самому вузлі TileMap." + +msgid "" +"Isometric TileSet will likely not look as intended without Y-sort enabled " +"for the TileMap and all of its layers." +msgstr "" +"Ізометричний Набір плиток, ймовірно, не виглядатиме так, як передбачалося, " +"без увімкненого Y-сортування для Карти плиток і всіх її шарів." + +msgid "" +"External Skeleton3D node not set! Please set a path to an external " +"Skeleton3D node." +msgstr "" +"Зовнішній вузол Skeleton3D не задано! Будь ласка, вкажіть шлях до " +"зовнішнього вузла Skeleton3D." + +msgid "" +"Parent node is not a Skeleton3D node! Please use an external Skeleton3D if " +"you intend to use the BoneAttachment3D without it being a child of a " +"Skeleton3D node." +msgstr "" +"Батьківський вузол не є вузлом Skeleton3D! Будь ласка, використовуйте " +"зовнішній Skeleton3D, якщо ви маєте намір використовувати BoneAttachment3D " +"без батьківського вузла Skeleton3D." + +msgid "" +"BoneAttachment3D node is not bound to any bones! Please select a bone to " +"attach this node." +msgstr "" +"Вузол BoneAttachment3D не прив'язаний до жодної кістки! Будь ласка, виберіть " +"кістку для прикріплення цього вузла." + +msgid "" +"This node has no shape, so it can't collide or interact with other objects.\n" +"Consider adding a CollisionShape3D or CollisionPolygon3D as a child to " +"define its shape." +msgstr "" +"У цього вузла немає форми, отже він не може стикатися, або взаємодіяти із " +"іншими об'єктами.\n" +"Спробуйте додати дочірні вузли CollisionShape3D або CollisionPolygon3D для " +"визначення його форми." + +msgid "" +"With a non-uniform scale this node will probably not function as expected.\n" +"Please make its scale uniform (i.e. the same on all axes), and change the " +"size in children collision shapes instead." +msgstr "" +"З нерівномірним масштабом цей вузол, ймовірно, не буде функціонувати " +"належним чином.\n" +"Будь ласка, зробіть його масштаб рівномірним (тобто однаковим на всіх осях), " +"а замість цього змініть розмір у дочірніх формах зіткнення." + +msgid "" +"CollisionPolygon3D only serves to provide a collision shape to a " +"CollisionObject3D derived node.\n" +"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, " +"CharacterBody3D, etc. to give them a shape." +msgstr "" +"CollisionPolygon3D призначено лише для надання форми зіткнень похідному " +"вузлу CollisionObject3D.\n" +"Будь ласка, використовуйте його лише як дочірній елемент Area3D, " +"StaticBody3D, RigidBody3D, CharacterBody3D, тощо, щоб надати їм форми." + +msgid "An empty CollisionPolygon3D has no effect on collision." +msgstr "Порожній CollisionPolygon3D ніяк не вплине на зіткнення." + +msgid "" +"A non-uniformly scaled CollisionPolygon3D node will probably not function as " +"expected.\n" +"Please make its scale uniform (i.e. the same on all axes), and change its " +"polygon's vertices instead." +msgstr "" +"Нерівномірно масштабований вузол CollisionPolygon3D, ймовірно, не " +"працюватиме належним чином.\n" +"Будь ласка, зробіть його масштаб рівномірним (тобто однаковим на всіх осях), " +"а замість цього змініть вершини багатокутника." + +msgid "" +"CollisionShape3D only serves to provide a collision shape to a " +"CollisionObject3D derived node.\n" +"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, " +"CharacterBody3D, etc. to give them a shape." +msgstr "" +"CollisionShape3D призначено лише для надання форми для зіткнень похідному " +"вузлу CollisionObject3D.\n" +"Будь ласка, використовуйте його лише як дочірній елемент Area3D, " +"StaticBody3D, RigidBody3D, CharacterBody3D тощо, щоб надати їм форми." + +msgid "" +"A shape must be provided for CollisionShape3D to function. Please create a " +"shape resource for it." +msgstr "" +"Для забезпечення працездатності CollisionShape3D слід надати форму. Будь " +"ласка, створіть ресурс форми для цього елемента." + +msgid "" +"ConcavePolygonShape3D doesn't support RigidBody3D in another mode than " +"static." +msgstr "" +"У ConcavePolygonShape3D не передбачено підтримки RigidBody3D у режимі, " +"відмінному від статичного." + +msgid "" +"WorldBoundaryShape3D doesn't support RigidBody3D in another mode than static." +msgstr "" +"У WorldBoundaryShape3D не передбачено підтримки RigidBody3D у режимі, " +"відмінному від статичного." + +msgid "" +"A non-uniformly scaled CollisionShape3D node will probably not function as " +"expected.\n" +"Please make its scale uniform (i.e. the same on all axes), and change the " +"size of its shape resource instead." +msgstr "" +"Нерівномірно масштабований вузол CollisionShape3D, ймовірно, не працюватиме " +"належним чином.\n" +"Будь ласка, зробіть його масштаб рівномірним (тобто однаковим на всіх осях), " +"а замість цього змініть розмір форми його ресурсу." + msgid "Nothing is visible because no mesh has been assigned." msgstr "Нічого не видно, оскільки не призначено сітки." msgid "" +"CPUParticles3D animation requires the usage of a StandardMaterial3D whose " +"Billboard Mode is set to \"Particle Billboard\"." +msgstr "" +"Анімація CPUParticles3D вимагає використання StandardMaterial3D, режим " +"Billboard Mode якого встановлено на \"Particle Billboard\"." + +msgid "Fog Volumes are only visible when using the Forward+ backend." +msgstr "Об'єми туману видно тільки при використанні бекенда Forward+." + +msgid "" +"Fog Volumes need volumetric fog to be enabled in the scene's Environment in " +"order to be visible." +msgstr "" +"Об'єми туману потребують увімкнення об'ємного туману в Середовищі сцени, щоб " +"бути видимими." + +msgid "" "Nothing is visible because meshes have not been assigned to draw passes." msgstr "" "Нічого не видно, оскільки сітки не було пов'язано із проходами малювання." +msgid "" +"Particles animation requires the usage of a BaseMaterial3D whose Billboard " +"Mode is set to \"Particle Billboard\"." +msgstr "" +"Анімація частинок вимагає використання BaseMaterial3D, режим Billboard Mode " +"якого встановлено на \"Particle Billboard\"." + +msgid "" +"Only one Trail mesh is supported. If you want to use more than a single " +"mesh, a Skin is needed (see documentation)." +msgstr "" +"Підтримується лише одна сітка Trail. Якщо ви хочете використовувати кілька, " +"потрібен скін (див. документацію)." + +msgid "" +"The Bake Mask has no bits enabled, which means baking will not produce any " +"collision for this GPUParticlesCollisionSDF3D.\n" +"To resolve this, enable at least one bit in the Bake Mask property." +msgstr "" +"Маска запікання не має увімкнених бітів, що означає, що запікання не " +"спричинить жодної колізії для цього GPUParticlesCollisionSDF3D.\n" +"Щоб вирішити цю проблему, увімкніть хоча б один біт у властивості Bake Mask." + +msgid "Node A and Node B must be PhysicsBody3Ds" +msgstr "Вузол A і вузол B мають бути PhysicsBody3D" + +msgid "Node A must be a PhysicsBody3D" +msgstr "Вузол A має бути PhysicsBody3D" + +msgid "Node B must be a PhysicsBody3D" +msgstr "Вузол B має бути PhysicsBody3D" + +msgid "Joint is not connected to any PhysicsBody3Ds" +msgstr "Joint не з'єднано із жодним PhysicsBody3D" + +msgid "Node A and Node B must be different PhysicsBody3Ds" +msgstr "Вузол A і вузол B мають бути різними PhysicsBody3D" + +msgid "" +"Shadows are not supported when using the GL Compatibility backend yet. " +"Support will be added in a future release." +msgstr "" +"Тіні поки що не підтримуються при використанні бекенду сумісності з GL. " +"Підтримка буде додана у наступному випуску." + +msgid "A light's scale does not affect the visual size of the light." +msgstr "Масштаб світильника не впливає на візуальний розмір світла." + +msgid "Projector texture only works with shadows active." +msgstr "Текстура проектора працює лише з активними тінями." + +msgid "" +"Projector textures are not supported when using the GL Compatibility backend " +"yet. Support will be added in a future release." +msgstr "" +"Текстури проектора поки що не підтримуються при використанні бекенда " +"сумісності з GL. Підтримка буде додана у наступному випуску." + +msgid "A SpotLight3D with an angle wider than 90 degrees cannot cast shadows." +msgstr "" +"SpotLight3D з кутом, який є більшим за 90 градусів, не може давати тіні." + +msgid "Finding meshes, lights and probes" +msgstr "Пошук сіток, джерел світла та зондів" + +msgid "Preparing geometry %d/%d" +msgstr "Приготування геометрії %d/%d" + +msgid "Creating probes" +msgstr "Створення зондів" + +msgid "Creating probes from mesh %d/%d" +msgstr "Створення зондів з сітки %d/%d" + +msgid "Preparing Lightmapper" +msgstr "Підготовка карти освітлення" + +msgid "Preparing Environment" +msgstr "Підготовка середовища" + +msgid "Generating Probe Volumes" +msgstr "Генерування об'ємів зонда" + +msgid "" +"LightmapGI nodes are not supported when using the GL Compatibility backend " +"yet. Support will be added in a future release." +msgstr "" +"Вузли LightmapGI поки що не підтримуються при використанні бекенду " +"сумісності з GL. Підтримка буде додана у наступному випуску." + +msgid "" +"The NavigationAgent3D can be used only under a Node3D inheriting parent node." +msgstr "" +"NavigationAgent3D можна використовувати лише під успадковуючим батьківським " +"вузлом Node3D." + +msgid "" +"NavigationLink3D start position should be different than the end position to " +"be useful." +msgstr "" +"Початкова позиція NavigationLink3D повинна відрізнятися від кінцевої, щоб " +"бути корисною." + +msgid "" +"The NavigationObstacle3D only serves to provide collision avoidance to a " +"Node3D inheriting parent object." +msgstr "" +"NavigationObstacle3D призначено лише для забезпечення засобів уникнення " +"зіткнення для батьківського об'єкта Node3D." + +msgid "" +"Occlusion culling is disabled in the Project Settings, which means occlusion " +"culling won't be performed in the root viewport.\n" +"To resolve this, open the Project Settings and enable Rendering > Occlusion " +"Culling > Use Occlusion Culling." +msgstr "" +"Відсікання оклюзій вимкнено у Параметрах проекту, а це означає, що " +"відсікання оклюзій не виконуватиметься у кореневому вікні перегляду.\n" +"Щоб вирішити цю проблему, відкрийте Параметри проекту та увімкніть Обробка > " +"Відсікання Оклюзії > Використовувати Відсікання Оклюзії." + +msgid "" +"The Bake Mask has no bits enabled, which means baking will not produce any " +"occluder meshes for this OccluderInstance3D.\n" +"To resolve this, enable at least one bit in the Bake Mask property." +msgstr "" +"У властивості Запікання маски не увімкнено жодного біта, що означає, що " +"запікання не створить жодної сітки оклюдерів для цього OccluderInstance3D.\n" +"Щоб вирішити цю проблему, увімкніть хоча б один біт у властивості Bake Mask." + +msgid "" +"No occluder mesh is defined in the Occluder property, so no occlusion " +"culling will be performed using this OccluderInstance3D.\n" +"To resolve this, set the Occluder property to one of the primitive occluder " +"types or bake the scene meshes by selecting the OccluderInstance3D and " +"pressing the Bake Occluders button at the top of the 3D editor viewport." +msgstr "" +"У властивості Occluder (Оклюдер) не визначено жодної сіті оклюдера, тому " +"відсіювання оклюдерів за допомогою цього OccluderInstance3D не " +"виконуватиметься.\n" +"Щоб вирішити цю проблему, встановіть властивість Occluder на один з " +"примітивних типів оклюдерів або запечіть меші сцени, вибравши " +"OccluderInstance3D і натиснувши кнопку Bake Occluders (Запекти Оклюдери) у " +"верхній частині області перегляду 3D-редактора." + +msgid "" +"The occluder mesh has less than 3 vertices, so no occlusion culling will be " +"performed using this OccluderInstance3D.\n" +"To generate a proper occluder mesh, select the OccluderInstance3D then use " +"the Bake Occluders button at the top of the 3D editor viewport." +msgstr "" +"Сітка оклюдера має менше 3 вершин, тому відсіювання оклюзій за допомогою " +"цього OccluderInstance3D не виконується.\n" +"Щоб згенерувати правильну сітку оклюдерів, виберіть OccluderInstance3D, а " +"потім натисніть кнопку \"Запекти оклюдери\" у верхній частині вікна 3D-" +"редактора." + +msgid "" +"The polygon occluder has less than 3 vertices, so no occlusion culling will " +"be performed using this OccluderInstance3D.\n" +"Vertices can be added in the inspector or using the polygon editing tools at " +"the top of the 3D editor viewport." +msgstr "" +"Полігональний оклюдер має менше 3 вершин, тому для цього примірника " +"OccluderInstance3D не буде виконано відсікання оклюзії.\n" +"Вершини можна додати в інспекторі або за допомогою інструментів редагування " +"полігонів у верхній частині області перегляду 3D-редактора." + +msgid "PathFollow3D only works when set as a child of a Path3D node." +msgstr "PathFollow3D працюватиме лише як дочірній елемент вузла Path3D." + +msgid "" +"PathFollow3D's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its " +"parent Path3D's Curve resource." +msgstr "" +"ROTATION_ORIENTED у PathFollow3D потребує вмикання \"Up Vector\" у його " +"батьківському ресурсі Curve у Path3D." + +msgid "" +"Scale changes to RigidBody3D will be overridden by the physics engine when " +"running.\n" +"Please change the size in children collision shapes instead." +msgstr "" +"Зміни розмірів RigidBody3D буде перевизначено фізичним рушієм під час " +"роботи.\n" +"Замість змінювати це, вам варто змінити розміри дочірніх форм зіткнення." + +msgid "" +"ReflectionProbes are not supported when using the GL Compatibility backend " +"yet. Support will be added in a future release." +msgstr "" +"ReflectionProbes поки що не підтримуються при використанні бекенда " +"сумісності з GL. Підтримка буде додана у наступному випуску." + +msgid "" +"The \"Remote Path\" property must point to a valid Node3D or Node3D-derived " +"node to work." +msgstr "" +"Властивість \"Remote Path\" має вказувати на дійсний вузол Node3D або " +"похідний вузол Node3D, щоб працювати." + +msgid "" +"This node cannot interact with other objects unless a Shape3D is assigned." +msgstr "" +"Цей вузол не може взаємодіяти з іншими об'єктами, якщо йому не призначено " +"Shape3D." + +msgid "" +"ShapeCast3D does not support ConcavePolygonShape3Ds. Collisions will not be " +"reported." +msgstr "" +"ShapeCast3D не підтримує ConcavePolygonShape3D. Про зіткнення не буде " +"повідомлено." + msgid "This body will be ignored until you set a mesh." msgstr "Це тіло буде проігноровано, аж доки ви не встановите сітку." @@ -9361,18 +14922,123 @@ msgstr "" "Щоб AnimatedSprite3D могла показувати кадри, має бути створено або " "встановлено у властивості «Frames» ресурс SpriteFrames." +msgid "" +"VehicleWheel3D serves to provide a wheel system to a VehicleBody3D. Please " +"use it as a child of a VehicleBody3D." +msgstr "" +"VehicleWheel3D слугує для забезпечення роботи системи коліс у VehicleBody3D. " +"Будь ласка, використовуйте цей елемент як дочірній елемент вузла " +"VehicleBody3D." + +msgid "" +"VisibleOnScreenNotifier3D nodes are not supported when using the GL " +"Compatibility backend yet. Support will be added in a future release." +msgstr "" +"Вузли VisibleOnScreenNotifier3D поки що не підтримуються при використанні " +"бекенду сумісності з GL. Підтримка буде додана у наступному випуску." + +msgid "" +"The GeometryInstance3D visibility range's End distance is set to a non-zero " +"value, but is lower than the Begin distance.\n" +"This means the GeometryInstance3D will never be visible.\n" +"To resolve this, set the End distance to 0 or to a value greater than the " +"Begin distance." +msgstr "" +"Кінцева відстань діапазону видимості GeometryInstance3D має ненульове " +"значення, але є меншою за початкову відстань.\n" +"Це означає, що GeometryInstance3D ніколи не буде видимим.\n" +"Щоб вирішити цю проблему, встановіть Кінцеву відстань на 0 або на значення " +"більше, ніж Початкова відстань." + +msgid "" +"The GeometryInstance3D is configured to fade in smoothly over distance, but " +"the fade transition distance is set to 0.\n" +"To resolve this, increase Visibility Range Begin Margin above 0." +msgstr "" +"GeometryInstance3D налаштовано на плавне затухання з відстанню, але відстань " +"переходу затухання встановлено на 0.\n" +"Щоб вирішити цю проблему, збільште Visibility Range Begin Margin вище 0." + +msgid "" +"The GeometryInstance3D is configured to fade out smoothly over distance, but " +"the fade transition distance is set to 0.\n" +"To resolve this, increase Visibility Range End Margin above 0." +msgstr "" +"GeometryInstance3D налаштовано на плавне зникання з відстанню, але відстань " +"переходу зникання встановлено на 0.\n" +"Щоб вирішити цю проблему, збільште значення Visibility Range End Margin вище " +"0." + msgid "Plotting Meshes" msgstr "Побудова сітки" msgid "Finishing Plot" msgstr "Завершальна ділянка" +msgid "Generating Distance Field" +msgstr "Генерування поля відстані" + +msgid "" +"VoxelGI nodes are not supported when using the GL Compatibility backend yet. " +"Support will be added in a future release." +msgstr "" +"Вузли VoxelGI поки що не підтримуються при використанні бекенду GL " +"Compatibility. Підтримка буде додана у наступному випуску." + +msgid "" +"No VoxelGI data set, so this node is disabled. Bake static objects to enable " +"GI." +msgstr "" +"Немає набору даних VoxelGI, тому цей вузол вимкнено. Запечіть статичні " +"об'єкти, щоб увімкнути GI." + +msgid "" +"To have any visible effect, WorldEnvironment requires its \"Environment\" " +"property to contain an Environment, its \"Camera Attributes\" property to " +"contain a CameraAttributes resource, or both." +msgstr "" +"Щоб мати видимий ефект, WorldEnvironment вимагає, щоб його властивість " +"\"Environment\" містила Environment, властивість \"Camera Attributes\" " +"містила ресурс CameraAttributes, або обидва ресурси." + +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instantiated " +"scenes)." +msgstr "" +"На одну сцену (або набір екземплярів сцен) дозволено використовувати лише " +"одне WorldEnvironment." + +msgid "XRCamera3D must have an XROrigin3D node as its parent." +msgstr "XRCamera3D повинен мати батьківською вершиною вузол XROrigin3D." + +msgid "XRController3D must have an XROrigin3D node as its parent." +msgstr "XRController3D повинен мати батьківським вузлом вузол XROrigin3D." + +msgid "No tracker name is set." +msgstr "Ім'я трекера не встановлено." + +msgid "No pose is set." +msgstr "Поза не встановлена." + +msgid "XROrigin3D requires an XRCamera3D child node." +msgstr "XROrigin3D потребує дочірнього вузла XRCamera3D." + +msgid "" +"XR is not enabled in rendering project settings. Stereoscopic output is not " +"supported unless this is enabled." +msgstr "" +"XR не ввімкнено у Параметрах проєкту в Обробці. Стереоскопічний вивід не " +"підтримується, якщо його не увімкнено." + msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "У вузлі BlendTree «%s» не знайдено анімації: «%s»" msgid "Animation not found: '%s'" msgstr "Не знайдено анімації: «%s»" +msgid "Animation Apply Reset" +msgstr "Скинути застосування анімації" + msgid "In node '%s', invalid animation: '%s'." msgstr "У вузлі «%s», некоректна анімація: «%s»." @@ -9396,6 +15062,13 @@ msgid "The AnimationPlayer root node is not a valid node." msgstr "Кореневий елемент AnimationPlayer не є коректним вузлом." msgid "" +"ButtonGroup is intended to be used only with buttons that have toggle_mode " +"set to true." +msgstr "" +"ButtonGroup призначено для використання лише з кнопками, для яких " +"toggle_mode встановлено у true." + +msgid "" "Color: #%s\n" "LMB: Apply color\n" "RMB: Remove preset" @@ -9404,6 +15077,22 @@ msgstr "" "Ліва кнопка: застосувати колір\n" "Права кнопка: вилучити взірець" +msgid "" +"Color: #%s\n" +"LMB: Apply color" +msgstr "" +"Колір: #%s\n" +"Ліва кнопка: Застосувати колір" + +msgid "Pick a color from the application window." +msgstr "Вибрати колір з вікна програми." + +msgid "Select a picker shape." +msgstr "Виберіть фігуру вибору." + +msgid "Select a picker mode." +msgstr "Виберіть режим вибору." + msgid "Switch between hexadecimal and code values." msgstr "Перемикання між шістнадцятковими значеннями і кодами." @@ -9428,6 +15117,13 @@ msgstr "" "встановлено у значення «Ignore». Щоб вирішити проблему, встановіть для Mouse " "Filter значення «Stop» або «Pass»." +msgid "" +"Changing the Z index of a control only affects the drawing order, not the " +"input event handling order." +msgstr "" +"Зміна індексу Z елемента управління впливає лише на порядок малювання, але " +"не на порядок обробки вхідних подій." + msgid "Theme Overrides" msgstr "Пріоритет теми" @@ -9437,9 +15133,97 @@ msgstr "Увага!" msgid "Please Confirm..." msgstr "Будь ласка, підтвердьте..." +msgid "You don't have permission to access contents of this folder." +msgstr "У вас немає дозволу на доступ до вмісту цієї папки." + +msgid "All Files" +msgstr "Усі файли" + +msgid "Invalid extension, or empty filename." +msgstr "Некоректний суфікс, або порожня назва файлу." + +msgid "" +"Please be aware that GraphEdit and GraphNode will undergo extensive " +"refactoring in a future 4.x version involving compatibility-breaking API " +"changes." +msgstr "" +"Будь ласка, зверніть увагу, що GraphEdit і GraphNode зазнають значного " +"рефакторингу в майбутній версії 4.x, що включає зміни API, які порушують " +"сумісність." + msgid "Enable grid minimap." msgstr "Увімкнути мінікарту ґратки." +msgid "Arrange nodes." +msgstr "Розташувати вузли." + +msgid "" +"The current font does not support rendering one or more characters used in " +"this Label's text." +msgstr "" +"Поточний шрифт не підтримує відображення одного або декількох символів, що " +"використовуються в тексті цієї мітки." + +msgid "Same as Layout Direction" +msgstr "Те саме, що напрямок макета" + +msgid "Auto-Detect Direction" +msgstr "Автоматичне визначення напрямку" + +msgid "Left-to-Right" +msgstr "Зліва направо" + +msgid "Right-to-Left" +msgstr "Справа наліво" + +msgid "Left-to-Right Mark (LRM)" +msgstr "Позначка зліва направо (LRM)" + +msgid "Right-to-Left Mark (RLM)" +msgstr "Позначка справа наліво (ПЛП)" + +msgid "Start of Left-to-Right Embedding (LRE)" +msgstr "Початок вбудовування зліва направо (ЛПВ)" + +msgid "Start of Right-to-Left Embedding (RLE)" +msgstr "Початок вбудовування справа наліво (ПЛВ)" + +msgid "Start of Left-to-Right Override (LRO)" +msgstr "Початок перевизначення зліва направо (ЛПЗ)" + +msgid "Start of Right-to-Left Override (RLO)" +msgstr "Початок перевизначення справа наліво (ПЛЗ)" + +msgid "Arabic Letter Mark (ALM)" +msgstr "Знак арабської літери (ЗАЛ)" + +msgid "Left-to-Right Isolate (LRI)" +msgstr "Ізоляція зліва направо (ЛПІ)" + +msgid "Right-to-Left Isolate (RLI)" +msgstr "Ізоляція справа наліво (ПЛІ)" + +msgid "Zero-Width Joiner (ZWJ)" +msgstr "З'єднувач нульової ширини (ZWJ)" + +msgid "Zero-Width Non-Joiner (ZWNJ)" +msgstr "Нез’єднувач нульової ширини (ZWNJ)" + +msgid "Word Joiner (WJ)" +msgstr "З'єднувач слів (WJ)" + +msgid "Soft Hyphen (SHY)" +msgstr "М'який дефіс (SHY)" + +msgid "Text Writing Direction" +msgstr "Напрямок написання тексту" + +msgid "Display Control Characters" +msgstr "Відображення контрольних символів" + +msgid "Insert Control Character" +msgstr "Вставлення контрольного символу" + msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0." msgstr "Якщо увімкнено «Exp Edit», «Min Value» має бути > 0." @@ -9453,10 +15237,60 @@ msgstr "" "Скористайтеся контейнером як дочірнім об'єктом (VBox, HBox тощо) або вузлом " "Control і встановіть нетиповий мінімальний розмір вручну." +msgid "" +"This node doesn't have a SubViewport as child, so it can't display its " +"intended content.\n" +"Consider adding a SubViewport as a child to provide something displayable." +msgstr "" +"Цей вузол не має дочірнього під-вікна, тому він не може відобразити " +"призначений вміст.\n" +"Спробуйте додати дочірній SubViewport, щоб надати можливість щось " +"відображати." + msgid "(Other)" msgstr "(Інші)" msgid "" +"This node was saved as class type '%s', which was no longer available when " +"this scene was loaded." +msgstr "" +"Цей вузол було збережено як клас типу '%s', який не був доступний під час " +"завантаження цієї сцени." + +msgid "" +"Data from the original node is kept as a placeholder until this type of node " +"is available again. It can hence be safely re-saved without risk of data " +"loss." +msgstr "" +"Дані з оригінального вузла зберігаються як заповнювач, поки цей тип вузла не " +"стане знову доступним. Таким чином, його можна безпечно перезберегти без " +"ризику втрати даних." + +msgid "" +"Setting node name '%s' to be unique within scene for '%s', but it's already " +"claimed by '%s'.\n" +"'%s' is no longer set as having a unique name." +msgstr "" +"Встановлення назви вузла '%s' як унікального у сцені для '%s', але на неї " +"вже претендує '%s'.\n" +"'%s' більше не визначено як унікальну назву." + +msgid "" +"This node is marked as deprecated and will be removed in future versions.\n" +"Please check the Godot documentation for information about migration." +msgstr "" +"Цей вузол позначено як застарілий і буде вилучено у наступних версіях.\n" +"Будь ласка, зверніться до документації Godot для отримання інформації про " +"перехід на нові версії." + +msgid "" +"This node is marked as experimental and may be subject to removal or major " +"changes in future versions." +msgstr "" +"Цей вузол позначений як експериментальний і може бути вилучений або суттєво " +"змінений у майбутніх версіях." + +msgid "" "Default Environment as specified in Project Settings (Rendering -> " "Environment -> Default Environment) could not be loaded." msgstr "" @@ -9464,6 +15298,13 @@ msgstr "" "проєкту (Обробка -> Середовище -> Типове середовище)." msgid "" +"ShaderGlobalsOverride is not active because another node of the same type is " +"in the scene." +msgstr "" +"ShaderGlobalsOverride не активний, оскільки у сцені є інший вузол того ж " +"типу." + +msgid "" "Very low timer wait times (< 0.05 seconds) may behave in significantly " "different ways depending on the rendered or physics frame rate.\n" "Consider using a script's process loop instead of relying on a Timer for " @@ -9482,6 +15323,51 @@ msgstr "" "Щоб програма могла хоч щось показати, розмір поля перегляду має бути більшим " "або рівним 2 пікселям в обох вимірах." +msgid "Cannot open font from file: %s." +msgstr "Не вдалося відкрити шрифт із файлу: %s." + +msgid "Version %d of BMFont is not supported (should be 3)." +msgstr "Версія %d BMFont не підтримується (має бути 3)." + +msgid "Invalid BMFont info block size." +msgstr "Некоректний розмір інформаційного блоку BMFont." + +msgid "Invalid BMFont common block size." +msgstr "Неправильний загальний розмір блоку BMFont." + +msgid "Can't load font texture: %s." +msgstr "Не вдається завантажити текстуру шрифту: %s." + +msgid "Unsupported BMFont texture format." +msgstr "Непідтримуваний формат текстури BMFont." + +msgid "Invalid BMFont block type." +msgstr "Недійсний тип блоку BMFont." + +msgid "" +"Shader keywords cannot be used as parameter names.\n" +"Choose another name." +msgstr "" +"Ключові слова шейдерів не можна використовувати як назви параметрів.\n" +"Виберіть іншу назву." + +msgid "This parameter type does not support the '%s' qualifier." +msgstr "Цей тип параметрів не підтримує кваліфікатор '%s'." + +msgid "" +"Global parameter '%s' does not exist.\n" +"Create it in the Project Settings." +msgstr "" +"Глобального параметра '%s' не існує.\n" +"Створіть його у Параметрах проєкту." + +msgid "" +"Global parameter '%s' has an incompatible type for this kind of node.\n" +"Change it in the Project Settings." +msgstr "" +"Глобальний параметр '%s' має несумісний тип для цього типу вузла.\n" +"Змініть його у Параметрах проекту." + msgid "" "The sampler port is connected but not used. Consider changing the source to " "'SamplerPort'." @@ -9495,6 +15381,16 @@ msgstr "Некоректне джерело для попереднього пе msgid "Invalid source for shader." msgstr "Некоректне джерело програми побудови тіней." +msgid "Invalid operator for that type." +msgstr "Некоректний оператор для цього типу." + +msgid "" +"`%s` precision mode is not available for `gl_compatibility` profile.\n" +"Reverted to `None` precision." +msgstr "" +"Режим точності `%s` недоступний для профілю `gl_compatibility`.\n" +"Повернуто до точності `None`." + msgid "Default Color" msgstr "Типовий колір" @@ -9507,9 +15403,110 @@ msgstr "Повторення" msgid "Invalid comparison function for that type." msgstr "Некоректна функція порівняння для цього типу." +msgid "2D Mode" +msgstr "Режим 2D" + +msgid "Use All Surfaces" +msgstr "Використовувати всі поверхні" + +msgid "Surface Index" +msgstr "Індекс поверхні" + +msgid "" +"Invalid number of arguments when calling stage function '%s', which expects " +"%d arguments." +msgstr "" +"Неправильна кількість аргументів при виклику функції '%s', яка очікує %d " +"аргументів." + +msgid "" +"Invalid argument type when calling stage function '%s', type expected is " +"'%s'." +msgstr "" +"Неправильний тип аргументу при виклику функції '%s', очікуваний тип - '%s'." + +msgid "Expected integer constant within [%d..%d] range." +msgstr "Очікувана ціла константа в діапазоні [%d..%d]." + +msgid "Argument %d of function '%s' is not a variable, array, or member." +msgstr "Аргумент %d функції '%s' не є змінною, масивом або членом." + +msgid "Varyings cannot be passed for the '%s' parameter." +msgstr "Варіації не можуть бути передані для параметра '%s'." + +msgid "A constant value cannot be passed for the '%s' parameter." +msgstr "Для параметра '%s' не можна передавати константне значення." + +msgid "" +"Argument %d of function '%s' can only take a local variable, array, or " +"member." +msgstr "" +"Аргумент %d функції '%s' може приймати лише локальну змінну, масив або " +"елемент." + +msgid "Built-in function \"%s(%s)\" is only supported on high-end platforms." +msgstr "" +"Вбудована функція \"%s(%s)\" підтримується лише на високопродуктивних " +"платформах." + +msgid "Invalid arguments for the built-in function: \"%s(%s)\"." +msgstr "Некоректні аргументи для вбудованої функції: \"%s(%s)\"." + +msgid "Recursion is not allowed." +msgstr "Рекурсія не допускається." + +msgid "Function '%s' can't be called from source code." +msgstr "Функцію '%s' не можна викликати з вихідного коду." + +msgid "" +"Invalid argument for \"%s(%s)\" function: argument %d should be %s but is %s." +msgstr "" +"Неправильний аргумент для функції \"%s(%s)\": аргумент %d має бути %s, а є " +"%s." + +msgid "" +"Too few arguments for \"%s(%s)\" call. Expected at least %d but received %d." +msgstr "" +"Занадто мало аргументів для виклику \"%s(%s)\". Очікувалося принаймні %d, а " +"отримано %d." + +msgid "" +"Too many arguments for \"%s(%s)\" call. Expected at most %d but received %d." +msgstr "" +"Забагато аргументів для виклику \"%s(%s)\". Очікувалося максимум %d, а " +"отримано %d." + +msgid "Invalid assignment of '%s' to '%s'." +msgstr "Некоректне присвоєння '%s' до '%s'." + +msgid "Expected constant expression." +msgstr "Очікується константний вираз." + +msgid "Expected ',' or ')' after argument." +msgstr "Очікується ',' або ')' після аргументу." + msgid "Varying may not be assigned in the '%s' function." msgstr "У функції «%s» не може бути надано змінне значення." +msgid "" +"Varying with '%s' data type may only be assigned in the 'fragment' function." +msgstr "" +"Варіації з типом даних '%s' можна присвоювати лише у функції 'fragment'." + +msgid "" +"Varyings which assigned in 'vertex' function may not be reassigned in " +"'fragment' or 'light'." +msgstr "" +"Змінним, яким надано значення у функції 'vertex', не можна повторно надавати " +"значення у 'fragment' або 'light'." + +msgid "" +"Varyings which assigned in 'fragment' function may not be reassigned in " +"'vertex' or 'light'." +msgstr "" +"Змінним, яким надано значення у функції 'fragment', не можна повторно " +"надавати значення у 'vertex' або 'light'." + msgid "Assignment to function." msgstr "Призначення функційного." @@ -9517,4 +15514,547 @@ msgid "Assignment to uniform." msgstr "Призначення однорідного." msgid "Constants cannot be modified." -msgstr "Сталі не можна змінювати." +msgstr "Константи не можна змінювати." + +msgid "" +"Sampler argument %d of function '%s' called more than once using both built-" +"ins and uniform textures, this is not supported (use either one or the " +"other)." +msgstr "" +"Аргумент семплера %d функції '%s' викликається більше одного разу з " +"використанням як вбудованих, так і однорідних текстур, це не підтримується " +"(використовуйте одне або друге)." + +msgid "" +"Sampler argument %d of function '%s' called more than once using textures " +"that differ in either filter or repeat setting." +msgstr "" +"Аргумент семплера %d функції '%s', викликаний більше одного разу з " +"використанням текстур, які відрізняються параметрами фільтрації або " +"повторення." + +msgid "" +"Sampler argument %d of function '%s' called more than once using different " +"built-ins. Only calling with the same built-in is supported." +msgstr "" +"Аргумент семплера %d функції \"%s\" викликається більше одного разу за " +"допомогою різних вбудованих функцій. Підтримуються лише виклики з тим самим " +"вбудованим модулем." + +msgid "Array size is already defined." +msgstr "Розмір масиву вже визначено." + +msgid "Unknown array size is forbidden in that context." +msgstr "Невідомий розмір масиву в цьому контексті заборонено." + +msgid "Array size expressions are not supported." +msgstr "Вирази розміру масиву не підтримуються." + +msgid "Expected a positive integer constant." +msgstr "Очікується додатна ціла константа." + +msgid "Invalid data type for the array." +msgstr "Некоректний тип даних для масиву." + +msgid "Array size mismatch." +msgstr "Невідповідність розміру масиву." + +msgid "Expected array initialization." +msgstr "Очікується ініціалізація масиву." + +msgid "Cannot convert from '%s' to '%s'." +msgstr "Не вдається перетворити '%s' в '%s'." + +msgid "Expected ')' in expression." +msgstr "Очікується ')' у виразі." + +msgid "Void value not allowed in expression." +msgstr "У виразі не допускається значення void." + +msgid "Expected '(' after the type name." +msgstr "Очікувано '(' після назви типу." + +msgid "No matching constructor found for: '%s'." +msgstr "Не знайдено відповідного конструктора для: '%s'." + +msgid "Expected a function name." +msgstr "Очікується назва функції." + +msgid "No matching function found for: '%s'." +msgstr "Не знайдено відповідної функції для: \"%s\"." + +msgid "" +"Varying '%s' must be assigned in the 'vertex' or 'fragment' function first." +msgstr "" +"Варіації '%s' спочатку мають бути призначені у функції 'vertex' або " +"'fragment'." + +msgid "Varying '%s' cannot be passed for the '%s' parameter in that context." +msgstr "" +"Варіація '%s' не може бути передана для параметра '%s' у цьому контексті." + +msgid "A constant value cannot be passed for '%s' parameter." +msgstr "Для параметра '%s' не можна передавати константне значення." + +msgid "Unknown identifier in expression: '%s'." +msgstr "Невідомий ідентифікатор у виразі: '%s'." + +msgid "" +"Varying with '%s' data type may only be used in the 'fragment' function." +msgstr "" +"Варіації з типом даних '%s' можна використовувати лише у функції 'fragment'." + +msgid "Varying '%s' must be assigned in the 'fragment' function first." +msgstr "Варіації '%s' потрібно спочатку присвоїти у функції 'fragment'." + +msgid "" +"Varying with integer data type must be declared with `flat` interpolation " +"qualifier." +msgstr "" +"Варіація з цілочисельним типом даних повинна бути оголошена з кваліфікатором " +"інтерполяції `flat`." + +msgid "Can't use function as identifier: '%s'." +msgstr "Не можна використовувати функцію як ідентифікатор: '%s'." + +msgid "Only integer expressions are allowed for indexing." +msgstr "До індексації допускаються лише цілі вирази." + +msgid "Index [%d] out of range [%d..%d]." +msgstr "Індекс [%d] поза діапазоном [%d..%d]." + +msgid "Expected expression, found: '%s'." +msgstr "Очікуваний вираз, знайдено: '%s'." + +msgid "Empty statement. Remove ';' to fix this warning." +msgstr "Порожній оператор. Видаліть ';', щоб виправити це попередження." + +msgid "Expected an identifier as a member." +msgstr "Очікується ідентифікатор учасника." + +msgid "Cannot combine symbols from different sets in expression '.%s'." +msgstr "Неможливо об'єднати символи з різних наборів у виразі '.%s'." + +msgid "Invalid member for '%s' expression: '.%s'." +msgstr "Неправильний член для виразу '%s': '.%s'." + +msgid "An object of type '%s' can't be indexed." +msgstr "Об'єкт типу '%s' не може бути проіндексований." + +msgid "Invalid base type for increment/decrement operator." +msgstr "Неправильний базовий тип для оператора інкременту/декременту." + +msgid "Invalid use of increment/decrement operator in a constant expression." +msgstr "" +"Неправильне використання оператора інкременту/декременту в константному " +"виразі." + +msgid "Invalid token for the operator: '%s'." +msgstr "Недійсний маркер для оператора: '%s'." + +msgid "Unexpected end of expression." +msgstr "Несподіваний кінець виразу." + +msgid "Invalid arguments to unary operator '%s': %s." +msgstr "Некоректні аргументи для унарного оператора '%s': %s." + +msgid "Missing matching ':' for select operator." +msgstr "Відсутня відповідність ':' для оператора вибору." + +msgid "Invalid argument to ternary operator: '%s'." +msgstr "Неправильний аргумент для тернарного оператора: '%s'." + +msgid "Invalid arguments to operator '%s': '%s'." +msgstr "Некоректні аргументи для оператора '%s': '%s'." + +msgid "A switch may only contain '%s' and '%s' blocks." +msgstr "Перемикач може містити лише блоки '%s' та '%s'." + +msgid "Expected variable type after precision modifier." +msgstr "Очікувався тип змінної після модифікатора точності." + +msgid "Invalid variable type (samplers are not allowed)." +msgstr "Неправильний тип змінної (не допускаються семплери)." + +msgid "Expected an identifier or '[' after type." +msgstr "Очікувався ідентифікатор або '[' після типу." + +msgid "Expected an identifier." +msgstr "Очікувався ідентифікатор." + +msgid "Expected array initializer." +msgstr "Очікувався ініціалізатор масиву." + +msgid "Expected data type after precision modifier." +msgstr "Очікувався тип даних після модифікатора точності." + +msgid "Expected a constant expression." +msgstr "Очікувався константний вираз." + +msgid "Expected initialization of constant." +msgstr "Очікувалась ініціалізація константи." + +msgid "" +"Expected constant expression for argument %d of function call after '='." +msgstr "" +"Очікувався константний вираз для аргументу %d виклику функції після '='." + +msgid "Expected a boolean expression." +msgstr "Очікувався логічний вираз." + +msgid "Expected an integer expression." +msgstr "Очікувався цілочисельний вираз." + +msgid "Cases must be defined before default case." +msgstr "Регістри повинні бути визначені перед регістром за замовчуванням." + +msgid "Default case must be defined only once." +msgstr "Регістр за замовчуванням повинен бути визначений лише один раз." + +msgid "'%s' must be placed within a '%s' block." +msgstr "'%s' має бути розміщено всередині блоку '%s'." + +msgid "Expected an integer constant." +msgstr "Очікувалась цілочисельна константа." + +msgid "Using '%s' in the '%s' processor function is incorrect." +msgstr "Використання '%s' у функції процесора '%s' є некоректним." + +msgid "Expected '%s' with an expression of type '%s'." +msgstr "Очікувався '%s' з виразом типу '%s'." + +msgid "Expected return with an expression of type '%s'." +msgstr "Очікуваний результат із виразом типу \"%s\"." + +msgid "Use of '%s' is not allowed here." +msgstr "Використання '%s' тут заборонено." + +msgid "'%s' is not allowed outside of a loop or '%s' statement." +msgstr "'%s' не допускається поза циклом або оператором '%s'." + +msgid "'%s' is not allowed outside of a loop." +msgstr "'%s' не допускається поза циклом." + +msgid "The middle expression is expected to be a boolean operator." +msgstr "Очікується, що середнім виразом буде булевий оператор." + +msgid "The left expression is expected to be a variable declaration." +msgstr "Очікується, що лівий вираз буде оголошенням змінної." + +msgid "The precision modifier cannot be used on structs." +msgstr "Модифікатор точності не можна використовувати для структур." + +msgid "The precision modifier cannot be used on boolean types." +msgstr "Модифікатор точності не можна використовувати на булевих типах." + +msgid "Expected '%s' at the beginning of shader. Valid types are: %s." +msgstr "На початку шейдера очікується '%s' . Допустимі типи: %s." + +msgid "" +"Expected an identifier after '%s', indicating the type of shader. Valid " +"types are: %s." +msgstr "" +"Після '%s' очікується ідентифікатор, що вказує на тип шейдера. Допустимі " +"типи: %s." + +msgid "Invalid shader type. Valid types are: %s" +msgstr "Некоректний тип шейдера. Допустимі типи: %s" + +msgid "Expected an identifier for render mode." +msgstr "Очікується ідентифікатор режиму рендерингу." + +msgid "Duplicated render mode: '%s'." +msgstr "Продубльований режим рендерингу: '%s'." + +msgid "" +"Redefinition of render mode: '%s'. The '%s' mode has already been set to " +"'%s'." +msgstr "" +"Перевизначення режиму рендерингу: '%s'. Режим '%s' вже встановлено на '%s'." + +msgid "Invalid render mode: '%s'." +msgstr "Неправильний режим рендерингу: '%s'." + +msgid "Expected a struct identifier." +msgstr "Очікується ідентифікатор структури." + +msgid "Nested structs are not allowed." +msgstr "Вкладені структури не допускаються." + +msgid "Expected data type." +msgstr "Очікуваний тип даних." + +msgid "A '%s' data type is not allowed here." +msgstr "Тип даних '%s' тут не допускається." + +msgid "Expected an identifier or '['." +msgstr "Очікується ідентифікатор або '['." + +msgid "Empty structs are not allowed." +msgstr "Порожні структури не допускаються." + +msgid "Varyings cannot be used in '%s' shaders." +msgstr "Варіації не можна використовувати у шейдерах '%s'." + +msgid "The '%s' data type is not allowed here." +msgstr "Тип даних '%s' тут не допускається." + +msgid "Interpolation modifier '%s' cannot be used with boolean types." +msgstr "" +"Модифікатор інтерполяції '%s' не можна використовувати з логічними типами." + +msgid "Invalid data type for varying." +msgstr "Некоректний тип даних для варіації." + +msgid "The '%s' qualifier is not supported for sampler types." +msgstr "Кваліфікатор '%s' не підтримується для типів семплерів." + +msgid "The '%s' qualifier is not supported for matrix types." +msgstr "Кваліфікатор '%s' не підтримується для матричних типів." + +msgid "Expected valid type hint after ':'." +msgstr "Очікується підказка на допустимий тип після ':'." + +msgid "Source color hint is for '%s', '%s' or sampler types only." +msgstr "" +"Підказка кольору джерела доступна лише для типів '%s', '%s' або семплерів." + +msgid "Duplicated hint: '%s'." +msgstr "Дубльована підказка: '%s'." + +msgid "Range hint is for '%s' and '%s' only." +msgstr "Підказка діапазону тільки для '%s' та '%s'." + +msgid "Expected ',' after integer constant." +msgstr "Очікується ',' після цілої константи." + +msgid "Expected an integer constant after ','." +msgstr "Очікується ціла константа після ','." + +msgid "Can only specify '%s' once." +msgstr "'%s' можна вказати лише один раз." + +msgid "The instance index can't be negative." +msgstr "Індекс екземпляра не може бути від’ємним." + +msgid "Allowed instance uniform indices must be within [0..%d] range." +msgstr "" +"Допустимі рівномірні індекси екземплярів повинні знаходитися в діапазоні [0.." +"%d]." + +msgid "" +"'hint_normal_roughness_texture' is not supported in gl_compatibility shaders." +msgstr "" +"'hint_normal_roughness_texture' не підтримується у шейдерах gl_compatibility." + +msgid "This hint is only for sampler types." +msgstr "Ця підказка стосується лише типів семплерів." + +msgid "Redefinition of hint: '%s'. The hint has already been set to '%s'." +msgstr "Перевизначення підказки: '%s'. Підказку вже встановлено на '%s'." + +msgid "Duplicated filter mode: '%s'." +msgstr "Дубльований режим фільтра: '%s'." + +msgid "" +"Redefinition of filter mode: '%s'. The filter mode has already been set to " +"'%s'." +msgstr "" +"Перевизначення режиму фільтрування: '%s'. Режим фільтрування вже встановлено " +"на \"%s\"." + +msgid "Duplicated repeat mode: '%s'." +msgstr "Дубльований режим повторення: '%s'." + +msgid "" +"Redefinition of repeat mode: '%s'. The repeat mode has already been set to " +"'%s'." +msgstr "" +"Перевизначення режиму повторення: '%s'. Режим повторення вже встановлено на " +"\"%s\"." + +msgid "Too many '%s' uniforms in shader, maximum supported is %d." +msgstr "Занадто багато форм '%s' у шейдері, максимально підтримується %d." + +msgid "Expected constant expression after '='." +msgstr "Очікуваний константний вираз після '='." + +msgid "Can't convert constant to '%s'." +msgstr "Не вдається перетворити константу в '%s'." + +msgid "Group needs to be opened before." +msgstr "Групу потрібно відкрити раніше." + +msgid "Shader type is already defined." +msgstr "Тип шейдера вже визначено." + +msgid "Invalid constant type (samplers are not allowed)." +msgstr "Некоректний тип константи (не допускається використання семплерів)." + +msgid "Invalid function type (samplers are not allowed)." +msgstr "Некоректний тип функції (семплери не допускаються)." + +msgid "Expected a function name after type." +msgstr "Очікується назва функції після типу." + +msgid "Expected '(' after function identifier." +msgstr "Очікується '(' після ідентифікатора функції." + +msgid "" +"Global non-constant variables are not supported. Expected '%s' keyword " +"before constant definition." +msgstr "" +"Глобальні неконстантні змінні не підтримуються. Очікується ключове слово " +"'%s' перед визначенням константи." + +msgid "Expected an identifier after type." +msgstr "Очікується ідентифікатор після типу." + +msgid "" +"The '%s' qualifier cannot be used within a function parameter declared with " +"'%s'." +msgstr "" +"Кваліфікатор '%s' не можна використовувати всередині параметра функції, " +"оголошеного з '%s'." + +msgid "Expected a valid data type for argument." +msgstr "Очікується допустимий тип даних для аргументу." + +msgid "Opaque types cannot be output parameters." +msgstr "Типи Opaque не можуть виводити параметри." + +msgid "Void type not allowed as argument." +msgstr "Тип Void не допускається як аргумент." + +msgid "Expected an identifier for argument name." +msgstr "Очікувався ідентифікатор для назви аргументу." + +msgid "Function '%s' expects no arguments." +msgstr "Функція '%s' не очікує жодних аргументів." + +msgid "Function '%s' must be of '%s' return type." +msgstr "Функція '%s' повинна мати тип повернення '%s'." + +msgid "Expected a '{' to begin function." +msgstr "Очікується '{' на початку функції." + +msgid "Expected at least one '%s' statement in a non-void function." +msgstr "Очікується хоча б один оператор '%s' у функції, що не є void." + +msgid "Expected a '%s'." +msgstr "Очікується \"%s\"." + +msgid "Expected a '%s' or '%s'." +msgstr "Очікується '%s' або '%s'." + +msgid "Expected a '%s' after '%s'." +msgstr "Очікується '%s' після '%s'." + +msgid "Redefinition of '%s'." +msgstr "Перевизначення '%s'." + +msgid "Unknown directive." +msgstr "Невідома директива." + +msgid "Invalid macro name." +msgstr "Некоректна назва макросу." + +msgid "Macro redefinition." +msgstr "Перевизначення макросу." + +msgid "Invalid argument name." +msgstr "Некоректна назва аргументу." + +msgid "Expected a comma in the macro argument list." +msgstr "Очікується кома у списку аргументів макросу." + +msgid "Missing condition." +msgstr "Відсутня умова." + +msgid "Condition evaluation error." +msgstr "Помилка оцінки умови." + +msgid "Invalid else." +msgstr "Некоректне else." + +msgid "Invalid endif." +msgstr "Некоректний endif." + +msgid "Invalid ifdef." +msgstr "Некоректний ifdef." + +msgid "Invalid ifndef." +msgstr "Некоректний ifndef." + +msgid "Shader include file does not exist: " +msgstr "Файл включення шейдера не існує: " + +msgid "" +"Shader include load failed. Does the shader include exist? Is there a cyclic " +"dependency?" +msgstr "" +"Помилка завантаження шейдера. Чи існує шейдер? Чи існує циклічна залежність?" + +msgid "Shader include resource type is wrong." +msgstr "Тип ресурсу включення шейдера неправильний." + +msgid "Cyclic include found." +msgstr "Знайдено циклічне включення." + +msgid "Shader max include depth exceeded." +msgstr "Перевищено максимальну глибину включення шейдерів." + +msgid "Invalid undef." +msgstr "Недійсний undef." + +msgid "Macro expansion limit exceeded." +msgstr "Перевищено ліміт макророзширення." + +msgid "Invalid macro argument list." +msgstr "Неправильний список аргументів макросу." + +msgid "Invalid macro argument." +msgstr "Неприпустимий аргумент макросу." + +msgid "Invalid macro argument count." +msgstr "Неправильна кількість аргументів макросу." + +msgid "Can't find matching branch directive." +msgstr "Не вдається знайти відповідну директиву гілки." + +msgid "Invalid symbols placed before directive." +msgstr "Перед директивою розміщено неприпустимі символи." + +msgid "Unmatched conditional statement." +msgstr "Незрівнянне умовне твердження." + +msgid "" +"Direct floating-point comparison (this may not evaluate to `true` as you " +"expect). Instead, use `abs(a - b) < 0.0001` for an approximate but " +"predictable comparison." +msgstr "" +"Порівняння з десятковою точністю (може не привести до `true`, як ви " +"очікуєте). Замість цього використовуйте `abs(a - b) < 0.0001` для " +"наближеного, але передбачуваного порівняння." + +msgid "The const '%s' is declared but never used." +msgstr "Константа '%s' оголошена, але ніде не використовується." + +msgid "The function '%s' is declared but never used." +msgstr "Функція '%s' оголошена, але ніде не використовується." + +msgid "The struct '%s' is declared but never used." +msgstr "Структура '%s' оголошена, але ніде не використовується." + +msgid "The varying '%s' is declared but never used." +msgstr "Варіація '%s' оголошена, але ніде не використовується." + +msgid "The local variable '%s' is declared but never used." +msgstr "Локальна змінна '%s' оголошена, але ніде не використовується." + +msgid "" +"The total size of the %s for this shader on this device has been exceeded " +"(%d/%d). The shader may not work correctly." +msgstr "" +"Перевищено загальний розмір %s для цього шейдера на цьому пристрої (%d/%d). " +"Можливо, шейдер працюватиме некоректно." diff --git a/editor/translations/editor/vi.po b/editor/translations/editor/vi.po index 6d995bafe6..caabb4f114 100644 --- a/editor/translations/editor/vi.po +++ b/editor/translations/editor/vi.po @@ -23,13 +23,14 @@ # Paweł Fertyk <pfertyk@pfertyk.me>, 2022. # MInhTriet <luckyblockblack@gmail.com>, 2022. # Nhật Huy <nhat.huy.7996@gmail.com>, 2022. +# Trần Trọng Hiếu <anhdaden50@gmail.com>, 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-11-30 15:16+0000\n" -"Last-Translator: Nhật Huy <nhat.huy.7996@gmail.com>\n" +"PO-Revision-Date: 2023-03-03 02:52+0000\n" +"Last-Translator: Trần Trọng Hiếu <anhdaden50@gmail.com>\n" "Language-Team: Vietnamese <https://hosted.weblate.org/projects/godot-engine/" "godot/vi/>\n" "Language: vi\n" @@ -37,11 +38,29 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.15-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" + +msgid "Physical" +msgstr "Vật Lí" + +msgid "Left Mouse Button" +msgstr "Nút Chuột Trái" + +msgid "Right Mouse Button" +msgstr "Nút Chuột Phải" + +msgid "Middle Mouse Button" +msgstr "Nút Chuột Giữa" msgid "Button" msgstr "Button (nút, phím)" +msgid "Double Click" +msgstr "Nháy Đúp" + +msgid "Mouse motion at position (%s) with velocity (%s)" +msgstr "Chuyển động chuột tại vị trị (%s) với vận tốc (%s)" + msgid "Select" msgstr "Chọn" @@ -593,6 +612,9 @@ msgstr "Bạn có chắc muốn xóa bỏ tất cả kết nối từ tín hiệ msgid "Disconnect All" msgstr "Hủy kết nối tất cả" +msgid "Copy Name" +msgstr "Sao chép tên" + msgid "Edit..." msgstr "Chỉnh sửa..." @@ -608,12 +630,24 @@ msgstr "Tạo %s mới" msgid "No results for \"%s\"." msgstr "Không tìm thấy kết quả cho \"%s\"." +msgid "This class is marked as deprecated." +msgstr "Lớp này được đánh dấu là không dùng nữa." + +msgid "This class is marked as experimental." +msgstr "Lớp này được đánh dấu là thử nghiệm." + +msgid "No description available for %s." +msgstr "Không có mô tả nào có sẵn cho %s." + msgid "Favorites:" msgstr "Ưa thích:" msgid "Recent:" msgstr "Gần đây:" +msgid "(Un)favorite selected item." +msgstr "(Bỏ)yêu thích thư mục đã chọn." + msgid "Search:" msgstr "Tìm kiếm:" @@ -1373,6 +1407,9 @@ msgstr "Được thừa kế bởi:" msgid "Description" msgstr "Mô tả" +msgid "There is currently no description for this class." +msgstr "Hiện tại không có mô tả cho lớp này." + msgid "Online Tutorials" msgstr "Hướng dẫn trực tuyến" @@ -1397,6 +1434,9 @@ msgstr "Hằng" msgid "Fonts" msgstr "Phông chữ" +msgid "Font Sizes" +msgstr "Kích thước phông chữ" + msgid "Icons" msgstr "Biểu tượng" diff --git a/editor/translations/editor/zh_CN.po b/editor/translations/editor/zh_CN.po index 677645f1ba..23761b7a90 100644 --- a/editor/translations/editor/zh_CN.po +++ b/editor/translations/editor/zh_CN.po @@ -95,7 +95,7 @@ msgstr "" "Project-Id-Version: Chinese (Simplified) (Godot Engine)\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: 2018-01-20 12:15+0200\n" -"PO-Revision-Date: 2023-02-25 00:15+0000\n" +"PO-Revision-Date: 2023-03-12 02:43+0000\n" "Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hans/>\n" @@ -104,7 +104,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.16-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Unset" msgstr "未设置" @@ -3046,10 +3046,10 @@ msgid "Can't overwrite scene that is still open!" msgstr "无法覆盖仍处于打开状态的场景!" msgid "Can't load MeshLibrary for merging!" -msgstr "无法加载要合并的网格库!" +msgstr "无法加载要合并的 MeshLibrary!" msgid "Error saving MeshLibrary!" -msgstr "保存网格库时出错!" +msgstr "保存 MeshLibrary 时出错!" msgid "" "An error occurred while trying to save the editor layout.\n" @@ -3442,7 +3442,7 @@ msgid "Export As..." msgstr "导出为..." msgid "MeshLibrary..." -msgstr "网格库..." +msgstr "MeshLibrary..." msgid "Close Scene" msgstr "关闭场景" @@ -7087,7 +7087,7 @@ msgid "Surface Points+Normal (Directed)" msgstr "表面定点 + 法线(有向)" msgid "Volume" -msgstr "体积" +msgstr "音量;体积" msgid "Emission Source:" msgstr "发射源:" @@ -7380,7 +7380,7 @@ msgstr "" "%s" msgid "MeshLibrary" -msgstr "网格库" +msgstr "MeshLibrary" msgid "Add Item" msgstr "添加项目" @@ -9779,6 +9779,9 @@ msgstr "绘制图块属性" msgid "Painting:" msgstr "绘制:" +msgid "Picker" +msgstr "选取" + msgid "No terrains" msgstr "没有地形" @@ -9801,10 +9804,10 @@ msgid "Unknown Type Source (ID: %d)" msgstr "未知类型源(ID:%d)" msgid "Add TileSet pattern" -msgstr "添加 TileSet 模式" +msgstr "添加 TileSet 图案" msgid "Remove TileSet patterns" -msgstr "移除 TileSet 模式" +msgstr "移除 TileSet 图案" msgid "Tile with Invalid Scene" msgstr "包含无效场景的图块" @@ -9846,9 +9849,6 @@ msgstr "矩形" msgid "Bucket" msgstr "油漆桶" -msgid "Picker" -msgstr "选取" - msgid "Alternatively hold Ctrl with other tools to pick tile." msgstr "也可以在使用其他工具时按住 Ctrl 键来挑选图块。" @@ -9877,7 +9877,8 @@ msgstr "图块" msgid "" "This TileMap's TileSet has no source configured. Edit the TileSet resource " "to add one." -msgstr "此 TileMap 的 TileSet 没有配置源。请编辑 TileSet 资源以添加一个。" +msgstr "" +"这个 TileMap 的 TileSet 中没有配置任何源。请编辑 TileSet 资源进行添加。" msgid "Sort sources" msgstr "源排序" @@ -9892,10 +9893,10 @@ msgid "Invalid source selected." msgstr "所选源无效。" msgid "Patterns" -msgstr "模式" +msgstr "图案" msgid "Drag and drop or paste a TileMap selection here to store a pattern." -msgstr "要存储一个模式,请将 TileMap 选中项拖放或粘贴至此。" +msgstr "如果要存储图案,请将 TileMap 的选中项拖放或粘贴至此。" msgid "Paint terrain" msgstr "绘制地形" @@ -10171,7 +10172,7 @@ msgid "No TileSet source selected. Select or create a TileSet source." msgstr "未选择 TileSet 源。请选择或创建 TileSet 源。" msgid "Add new patterns in the TileMap editing mode." -msgstr "请在 TileMap 编辑模式中添加新的模式。" +msgstr "请在 TileMap 编辑模式中添加新的图案。" msgid "Add a Scene Tile" msgstr "添加场景图块" @@ -10186,7 +10187,7 @@ msgid "Tile properties:" msgstr "图块属性:" msgid "TileSet" -msgstr "图块集" +msgstr "TileSet" msgid "TileMap" msgstr "TileMap" @@ -14197,6 +14198,11 @@ msgid "" msgstr "" "Particles2D 动画需要使用启用了 “Particles Animation” 的 CanvasItemMaterial。" +msgid "" +"Particle trails are only available when using the Forward+ or Mobile " +"rendering backends." +msgstr "粒子尾迹仅在使用 Forward+ 或 Mobile 渲染后端时可用。" + msgid "Node A and Node B must be PhysicsBody2Ds" msgstr "Node A 与 Node B 必须为 PhysicsBody2D" @@ -14422,6 +14428,11 @@ msgstr "" "为“Particle Billboard”。" msgid "" +"Decals are only available when using the Forward+ or Mobile rendering " +"backends." +msgstr "贴花仅在使用 Forward+ 或 Mobile 渲染后端时可用。" + +msgid "" "The decal has no textures loaded into any of its texture properties, and " "will therefore not be visible." msgstr "该贴花的所有纹理属性中都没有加载纹理,因此将不可见。" @@ -14444,6 +14455,14 @@ msgstr "" "该贴花的 Cull Mask 没有启用任何位,这意味着该贴花不会在任何层上绘制对象。\n" "要解决此问题,请在 Cull Mask 属性中至少启用一位。" +msgid "Fog Volumes are only visible when using the Forward+ backend." +msgstr "体积雾仅在使用 Forward+ 后端时可见。" + +msgid "" +"Fog Volumes need volumetric fog to be enabled in the scene's Environment in " +"order to be visible." +msgstr "该场景的 Environment 中启用体积雾后,体积雾才可见。" + msgid "" "Nothing is visible because meshes have not been assigned to draw passes." msgstr "粒子不可见,因为绘制阶段中没有指定网格。" @@ -14497,12 +14516,22 @@ msgstr "Joint 未连接到任何 PhysicsBody3D" msgid "Node A and Node B must be different PhysicsBody3Ds" msgstr "Node A 与 Node B 必须为不同的 PhysicsBody3D" +msgid "" +"Shadows are not supported when using the GL Compatibility backend yet. " +"Support will be added in a future release." +msgstr "使用 GL Compatibility 后端时尚不支持阴影。将在后续版本中加入。" + msgid "A light's scale does not affect the visual size of the light." msgstr "灯光的缩放不会影响灯光的视觉尺寸。" msgid "Projector texture only works with shadows active." msgstr "投影纹理仅在阴影激活时能够正常工作。" +msgid "" +"Projector textures are not supported when using the GL Compatibility backend " +"yet. Support will be added in a future release." +msgstr "使用 GL Compatibility 后端时尚不支持投影器纹理。将在后续版本中加入。" + msgid "A SpotLight3D with an angle wider than 90 degrees cannot cast shadows." msgstr "角度大于 90 度的 SpotLight3D 无法投射阴影。" @@ -14531,6 +14560,12 @@ msgid "Generating Probe Acceleration Structures" msgstr "正在生成探针加速结构" msgid "" +"LightmapGI nodes are not supported when using the GL Compatibility backend " +"yet. Support will be added in a future release." +msgstr "" +"使用 GL Compatibility 后端时尚不支持 LightmapGI 节点。将在后续版本中加入。" + +msgid "" "The NavigationAgent3D can be used only under a Node3D inheriting parent node." msgstr "NavigationAgent3D 只能在继承 Node3D 的父节点下使用。" @@ -14614,6 +14649,12 @@ msgstr "" "请改为修改子节点的碰撞形状的尺寸。" msgid "" +"ReflectionProbes are not supported when using the GL Compatibility backend " +"yet. Support will be added in a future release." +msgstr "" +"使用 GL Compatibility 后端时尚不支持 ReflectionProbe。将在后续版本中加入。" + +msgid "" "The \"Remote Path\" property must point to a valid Node3D or Node3D-derived " "node to work." msgstr "" @@ -14646,6 +14687,13 @@ msgstr "" "VehicleBody3D 的子节点。" msgid "" +"VisibleOnScreenNotifier3D nodes are not supported when using the GL " +"Compatibility backend yet. Support will be added in a future release." +msgstr "" +"使用 GL Compatibility 后端时尚不支持 VisibleOnScreenNotifier3D 节点。将在后续" +"版本中加入。" + +msgid "" "The GeometryInstance3D visibility range's End distance is set to a non-zero " "value, but is lower than the Begin distance.\n" "This means the GeometryInstance3D will never be visible.\n" @@ -14682,6 +14730,12 @@ msgid "Generating Distance Field" msgstr "正在生成距离场" msgid "" +"VoxelGI nodes are not supported when using the GL Compatibility backend yet. " +"Support will be added in a future release." +msgstr "" +"使用 GL Compatibility 后端时尚不支持 VoxelGI 节点。将在后续版本中加入。" + +msgid "" "No VoxelGI data set, so this node is disabled. Bake static objects to enable " "GI." msgstr "没有 VoxelGI 数据集,所以这个节点已禁用。要启用 GI,请烘焙静态对象。" @@ -15682,6 +15736,9 @@ msgstr "无效的 ifdef。" msgid "Invalid ifndef." msgstr "无效的 ifndef。" +msgid "Shader include file does not exist: " +msgstr "着色器头文件的不存在: " + msgid "" "Shader include load failed. Does the shader include exist? Is there a cyclic " "dependency?" diff --git a/editor/translations/properties/de.po b/editor/translations/properties/de.po index 2d06b4c2f5..0b892fbeac 100644 --- a/editor/translations/properties/de.po +++ b/editor/translations/properties/de.po @@ -93,7 +93,7 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-28 17:36+0000\n" +"PO-Revision-Date: 2023-03-07 01:01+0000\n" "Last-Translator: <artism90@googlemail.com>\n" "Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" "godot-properties/de/>\n" @@ -102,7 +102,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-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Application" msgstr "Anwendung" @@ -221,24 +221,12 @@ msgstr "Stärke der 3D-Verschiebung" msgid "Editor" msgstr "Editor" -msgid "Main Run Args" -msgstr "Laufzeitargumente für Main" - msgid "Script" msgstr "Skript" msgid "Search in File Extensions" msgstr "In Dateierweiterungen suchen" -msgid "Templates Search Path" -msgstr "Vorlagen-Suchpfad" - -msgid "Naming" -msgstr "Namensgebung" - -msgid "Default Signal Callback Name" -msgstr "Standardmäßiger Name für Signalcallbacks" - msgid "Physics" msgstr "Physik" @@ -827,6 +815,9 @@ msgstr "Szenenbaum" msgid "Start Create Dialog Fully Expanded" msgstr "Erstellen-Dialog beim Start wird vollständig aufgeklappt" +msgid "Auto Expand to Selected" +msgstr "Automatisch auf Auswahl vergrößern" + msgid "Always Show Folders" msgstr "Verzeichnisse immer anzeigen" @@ -1437,7 +1428,7 @@ msgid "Variation" msgstr "Variation" msgid "Transform" -msgstr "Transformation" +msgstr "Transform, Tranformation, Transformierung?" msgid "Collada" msgstr "Collada" @@ -1581,7 +1572,7 @@ msgid "Roughness" msgstr "Rauheit" msgid "Process" -msgstr "Verarbeiten" +msgstr "Prozessverhalten" msgid "Fix Alpha Border" msgstr "Alpharand beheben" @@ -1742,6 +1733,18 @@ msgstr "Pfad des öffentlichen SSH-Schlüssels" msgid "SSH Private Key Path" msgstr "Pfad des privaten SSH-Schlüssels" +msgid "Main Run Args" +msgstr "Laufzeitargumente für Main" + +msgid "Templates Search Path" +msgstr "Vorlagen-Suchpfad" + +msgid "Naming" +msgstr "Namensgebung" + +msgid "Default Signal Callback Name" +msgstr "Standardmäßiger Name für Signalcallbacks" + msgid "Show Scene Tree Root Selection" msgstr "Szenenbaumwurzelauswahl anzeigen" @@ -1833,7 +1836,7 @@ msgid "Environment" msgstr "Umgebung" msgid "Default Clear Color" -msgstr "Standard Löschfarbe" +msgstr "Standard Clear Color" msgid "Show Image" msgstr "Bild anzeigen" @@ -1874,6 +1877,9 @@ msgstr "Benutzerdefinierter Bild-Hotspot" msgid "Tooltip Position Offset" msgstr "Versatz des Tooltips" +msgid "Minimum Display Time" +msgstr "Minimale Anzeigedauer" + msgid "Project" msgstr "Projekt" @@ -3149,6 +3155,9 @@ msgstr "Einseitige Kollision" msgid "One Way Collision Margin" msgstr "Grenze für einseitige Kollisionen" +msgid "Debug Color" +msgstr "Debug-Farbe" + msgid "Emitting" msgstr "Aussendend" @@ -3344,6 +3353,9 @@ msgstr "Geschlossen" msgid "Cull Mode" msgstr "Aushöhlungsmodus" +msgid "Occluder Light Mask" +msgstr "Verdecker Lichtblende" + msgid "Width Curve" msgstr "Breitenkurve" @@ -3962,6 +3974,9 @@ msgstr "Agent Höhenversatz" msgid "Ignore Y" msgstr "Y ignorieren" +msgid "Top Level" +msgstr "Top-Level" + msgid "Visibility" msgstr "Sichtbarkeit" @@ -4379,6 +4394,9 @@ msgstr "Verzögerter Modus" msgid "Presets Visible" msgstr "Vorlagen sichtbar" +msgid "Custom Minimum Size" +msgstr "Benutzerdefinierte Minimalgröße" + msgid "Grow Direction" msgstr "Wachstumsrichtung" @@ -4701,7 +4719,7 @@ msgid "Center Offset" msgstr "Mitteversatz" msgid "Custom Minimum Height" -msgstr "Benutzerdefinierte minimale Höhe" +msgstr "Benutzerdefinierte Minimalhöhe" msgid "Column Titles Visible" msgstr "Spaltentitel sichtbar" @@ -4731,10 +4749,13 @@ msgid "Buffering Msec" msgstr "Puffer ms" msgid "Self Modulate" -msgstr "Selbst-Modulieren" +msgstr "Eigenmodulation" msgid "Show Behind Parent" -msgstr "Zeige hinter Eltern" +msgstr "Zeichne hinter Elternelement" + +msgid "Clip Children" +msgstr "Kindelemente auf Elternausschnitt begrenzen" msgid "Light Mask" msgstr "Lichtblende" @@ -4752,7 +4773,7 @@ msgid "Repeat" msgstr "Wiederholen" msgid "Use Parent Material" -msgstr "Benutze Eltern Material" +msgstr "Benutze Eltern-Material" msgid "Diffuse" msgstr "Zerstreuen" @@ -4832,6 +4853,9 @@ msgstr "Atlasgröße" msgid "Oversize" msgstr "Übergröße" +msgid "Default Environment" +msgstr "Standard-Umgebung" + msgid "Enable Object Picking" msgstr "Objektauswahl aktivieren" @@ -4865,6 +4889,9 @@ msgstr "3D-Skalierung-Modus" msgid "Scaling 3D Scale" msgstr "3D-Skalierung-Skalierung" +msgid "FSR Sharpness" +msgstr "FSR-Schärfe" + msgid "Variable Rate Shading" msgstr "Variable Rate Shading" @@ -5006,6 +5033,9 @@ msgstr "Leiste" msgid "Font Color" msgstr "Schriftfarbe" +msgid "Font Outline Color" +msgstr "Schriftfarbe Umriss" + msgid "H Separation" msgstr "H-Trennung" @@ -5042,6 +5072,9 @@ msgstr "Radioknopf unausgewählt" msgid "Radio Unchecked Disabled" msgstr "Radioknopf unausgewählt deaktiviert" +msgid "Font Shadow Color" +msgstr "Schriftfarbe Schatten" + msgid "Shadow Offset X" msgstr "Schattenversatz X" @@ -5054,6 +5087,9 @@ msgstr "Löschenknopffarbe" msgid "Clear Button Color Pressed" msgstr "Gedrückter Löschenknopf-Farbe" +msgid "Minimum Character Width" +msgstr "Minimale Zeichenbreite" + msgid "Clear" msgstr "Löschen" @@ -5180,6 +5216,9 @@ msgstr "Untermenü" msgid "Font Separator" msgstr "Schriftarten-Trennzeichen" +msgid "Font Separator Outline Color" +msgstr "Schriftfarbe Trennumriss" + msgid "V Separation" msgstr "V-Trennung" @@ -5777,6 +5816,9 @@ msgstr "B" msgid "Custom Solver Bias" msgstr "Eigenen Bias für Löser" +msgid "Target Maximum Distance" +msgstr "Maximale Zieldistanz" + msgid "Bind Count" msgstr "Anzahl festlegen" @@ -5795,6 +5837,9 @@ msgstr "Farbe oben" msgid "Horizon Color" msgstr "Horizontfarbe" +msgid "Cover Modulate" +msgstr "Cover-Modulation" + msgid "Ground" msgstr "Boden" @@ -6185,6 +6230,9 @@ msgstr "PNG erzwingen" msgid "Shadow Atlas" msgstr "Schattenatlas" +msgid "Item Buffer Size" +msgstr "Item-Puffergröße" + msgid "Shader Compiler" msgstr "Shader-Compiler" @@ -6209,6 +6257,9 @@ msgstr "Überschreibungen" msgid "Force Vertex Shading" msgstr "Vertex-Shading erzwingen" +msgid "Force Lambert over Burley" +msgstr "Lambert statt Burley erzwingen" + msgid "Depth Prepass" msgstr "Tiefenvorpass" diff --git a/editor/translations/properties/es.po b/editor/translations/properties/es.po index 528be2da5c..6ac4f279bf 100644 --- a/editor/translations/properties/es.po +++ b/editor/translations/properties/es.po @@ -97,8 +97,9 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-28 17:36+0000\n" -"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n" +"PO-Revision-Date: 2023-03-09 17:45+0000\n" +"Last-Translator: Federico Sebastián Florentin <federicoflorentin6@gmail." +"com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot-properties/es/>\n" "Language: es\n" @@ -106,7 +107,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-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Application" msgstr "Aplicación" @@ -117,6 +118,9 @@ msgstr "Configuración" msgid "Name" msgstr "Nombre" +msgid "Name Localized" +msgstr "Nombre Localizado" + msgid "Description" msgstr "Descripción" @@ -189,6 +193,12 @@ msgstr "Extender al Título" msgid "No Focus" msgstr "Sin foco" +msgid "Window Width Override" +msgstr "Sobreescribir Ancho de Ventana" + +msgid "Window Height Override" +msgstr "Sobreescribir Altura de Ventana" + msgid "Energy Saving" msgstr "Ahorro de Energía" @@ -213,18 +223,12 @@ msgstr "Fuerza de panoramización 3D" msgid "Editor" msgstr "Editor" -msgid "Main Run Args" -msgstr "Argumentos de la Ejecución Principal" - msgid "Script" msgstr "Script" msgid "Search in File Extensions" msgstr "Buscar en Extensiones de Archivos" -msgid "Templates Search Path" -msgstr "Ruta de Búsqueda de Plantillas" - msgid "Physics" msgstr "Física" @@ -1105,7 +1109,7 @@ msgid "Window Placement" msgstr "Ubicación de la Ventana" msgid "Rect" -msgstr "Rect" +msgstr "Rectángulo" msgid "Rect Custom Position" msgstr "Posición Personalizada de Rect" @@ -1632,6 +1636,15 @@ msgstr "Ruta de la clave pública SSH" msgid "SSH Private Key Path" msgstr "Ruta de la Clave Privada SSH" +msgid "Main Run Args" +msgstr "Argumentos de la Ejecución Principal" + +msgid "Templates Search Path" +msgstr "Ruta de Búsqueda de Plantillas" + +msgid "Naming" +msgstr "Nombrando" + msgid "Show Scene Tree Root Selection" msgstr "Mostrar Selección de la Raíz del Árbol de Escenas" @@ -4260,6 +4273,9 @@ msgstr "Expandir Icono" msgid "Use Top Left" msgstr "Usar Superior Izquierda" +msgid "Indentation" +msgstr "Sangría" + msgid "Edit Alpha" msgstr "Editar Alfa" @@ -5985,6 +6001,9 @@ msgstr "Usar Filtro de Mapa MIP más Cercano" msgid "Buffer Size" msgstr "Tamaño del Buffer" +msgid "OpenGL" +msgstr "OpenGL" + msgid "Shaders" msgstr "Shaders" diff --git a/editor/translations/properties/fr.po b/editor/translations/properties/fr.po index 918383cec6..f409f8476a 100644 --- a/editor/translations/properties/fr.po +++ b/editor/translations/properties/fr.po @@ -114,8 +114,8 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-28 17:36+0000\n" -"Last-Translator: Zizouloo <cube.luzima@hotmail.fr>\n" +"PO-Revision-Date: 2023-03-05 01:38+0000\n" +"Last-Translator: Godot Trad FR <godottrad@mailo.com>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot-properties/fr/>\n" "Language: fr\n" @@ -123,7 +123,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-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Application" msgstr "Application" @@ -134,6 +134,9 @@ msgstr "Configuration" msgid "Name" msgstr "Nom" +msgid "Name Localized" +msgstr "Nom traduit" + msgid "Description" msgstr "Description" @@ -173,9 +176,21 @@ msgstr "Taille" msgid "Viewport Width" msgstr "Largeur de la fenêtre d'affichage" +msgid "Viewport Height" +msgstr "Hauteur de la fenêtre d'affichage" + msgid "Mode" msgstr "Mode" +msgid "Initial Position Type" +msgstr "Type de Position Initiale" + +msgid "Initial Position" +msgstr "Position Initiale" + +msgid "Initial Screen" +msgstr "Ecran Initial" + msgid "Resizable" msgstr "Redimensionnable" @@ -191,6 +206,15 @@ msgstr "Transparent" msgid "Extend to Title" msgstr "Étirer au titre" +msgid "No Focus" +msgstr "Sans focus" + +msgid "Window Width Override" +msgstr "Redéfinition de la largeur de fenêtre" + +msgid "Window Height Override" +msgstr "Redéfinition de la hauteur de fenêtre" + msgid "Energy Saving" msgstr "Économie d'Énergie" @@ -200,17 +224,23 @@ msgstr "Garder l'écran actif" msgid "Audio" msgstr "Audio" +msgid "General" +msgstr "Général" + +msgid "2D Panning Strength" +msgstr "Force de mouvement panoramique 2D" + +msgid "3D Panning Strength" +msgstr "Force de mouvement panoramique 3D" + msgid "Editor" msgstr "Éditeur" -msgid "Main Run Args" -msgstr "Paramètres d'exécution du programme principal" +msgid "Script" +msgstr "Script" -msgid "Default Signal Callback Name" -msgstr "Nom de rappel de signal par défaut" - -msgid "Default Signal Callback to Self Name" -msgstr "Nom de rappel de signal à soi-même par défaut" +msgid "Search in File Extensions" +msgstr "Rechercher dans les extensions de fichier" msgid "Physics" msgstr "Physique" @@ -230,9 +260,27 @@ msgstr "Débogage" msgid "Settings" msgstr "Paramètres" +msgid "Profiler" +msgstr "Profileur" + msgid "Compression" msgstr "Compression" +msgid "Formats" +msgstr "Formats" + +msgid "Zstd" +msgstr "Zstandard" + +msgid "Compression Level" +msgstr "Niveau de compression" + +msgid "Zlib" +msgstr "Zlib" + +msgid "Gzip" +msgstr "Gzip" + msgid "Crash Handler" msgstr "Gestionnaire de Crash" @@ -245,6 +293,9 @@ msgstr "Rendu" msgid "Occlusion Culling" msgstr "Elagage de l'occlusion" +msgid "Memory" +msgstr "Mémoire" + msgid "Limits" msgstr "Limites" @@ -257,6 +308,9 @@ msgstr "Forcer l'affichage de droite à gauche" msgid "GUI" msgstr "GUI" +msgid "Timers" +msgstr "Chronomètres" + msgid "Rendering Device" msgstr "Matériel de rendu" @@ -488,6 +542,18 @@ msgstr "Graine" msgid "State" msgstr "État" +msgid "Message Queue" +msgstr "File de messages" + +msgid "Max Size (KB)" +msgstr "Taille Max (Mo)" + +msgid "TCP" +msgstr "TCP" + +msgid "Connect Timeout Seconds" +msgstr "Expiration de tentative de connexion (sec)" + msgid "TLS" msgstr "TLS" @@ -842,6 +908,15 @@ msgstr "Espacement supplémentaire" msgid "Custom Theme" msgstr "Thème Personnalisé" +msgid "Touchscreen" +msgstr "Ecran tactile" + +msgid "Enable Long Press as Right Click" +msgstr "Activer l'appui long comme clic droit" + +msgid "Enable Pan and Scale Gestures" +msgstr "Activer les gestes de mouvement panoramique et de mise à l'échelle" + msgid "Display Close Button" msgstr "Afficher bouton Fermer" @@ -1265,9 +1340,15 @@ msgstr "Couleur de bordure de la fenêtre d'affichage" msgid "Constrain Editor View" msgstr "Restreindre la fenêtre d'éditeur" +msgid "Panning" +msgstr "Mouvement panoramique" + msgid "Simple Panning" msgstr "Panoramique simple" +msgid "2D Editor Pan Speed" +msgstr "Vitesse de mouvement panoramique 2D" + msgid "Tiles Editor" msgstr "Éditeur de tuiles" @@ -1364,6 +1445,9 @@ msgstr "Gestionnaire de projets" msgid "Sorting Order" msgstr "Ordre de Tri" +msgid "Default Renderer" +msgstr "Rendeur par défaut" + msgid "Highlighting" msgstr "Surlignage" @@ -1514,6 +1598,12 @@ msgstr "ETC" msgid "ETC2" msgstr "ETC2" +msgid "SSH" +msgstr "SSH" + +msgid "SCP" +msgstr "SCP" + msgid "Export Path" msgstr "Chemin d'exportation" @@ -1523,21 +1613,45 @@ msgstr "Serveur de fichiers" msgid "Password" msgstr "Mot de passe" +msgid "Antialiasing" +msgstr "Anticrénelage" + +msgid "Generate Mipmaps" +msgstr "Générer des Mipmaps" + msgid "Hinting" msgstr "Suggestion" +msgid "Subpixel Positioning" +msgstr "Positionnement subpixelaire" + msgid "Oversampling" msgstr "Sur-échantillonnage" +msgid "Metadata Overrides" +msgstr "Redéfinition des métadonnées" + +msgid "Language Support" +msgstr "Support de langues" + +msgid "Script Support" +msgstr "Support de scripts" + msgid "Compress" msgstr "Compresser" +msgid "Language" +msgstr "Langage" + msgid "Outline Size" msgstr "Taille de Contour" msgid "Variation" msgstr "Variation" +msgid "Embolden" +msgstr "Mettre en gras" + msgid "Transform" msgstr "Transformation" @@ -1547,9 +1661,30 @@ msgstr "Collada" msgid "Use Ambient" msgstr "Utiliser ambiant" +msgid "Retarget" +msgstr "Recibler" + +msgid "Bone Renamer" +msgstr "Renommeur d'os" + +msgid "Rename Bones" +msgstr "Renommer les os" + +msgid "Unique Node" +msgstr "Nœud unique" + msgid "Make Unique" msgstr "Rendre unique" +msgid "Skeleton Name" +msgstr "Nom du squelette" + +msgid "Apply Node Transforms" +msgstr "Appliquer les transformations de nœud" + +msgid "Overwrite Axis" +msgstr "Remplacer l'axe" + msgid "Enable" msgstr "Activer" @@ -1559,6 +1694,12 @@ msgstr "Filtre" msgid "Threshold" msgstr "Seuil" +msgid "Base Height Adjustment" +msgstr "Ajustement de la hauteur de base" + +msgid "Remove Tracks" +msgstr "Retirer les pistes" + msgid "Create From" msgstr "Créer à Partir de" @@ -1568,9 +1709,24 @@ msgstr "Délimiteur" msgid "Columns" msgstr "Colonnes" +msgid "Rows" +msgstr "Lignes" + +msgid "Image Margin" +msgstr "Marge d'image" + +msgid "Character Margin" +msgstr "Marge de caractère" + +msgid "High Quality" +msgstr "Haute qualité" + msgid "Lossy Quality" msgstr "Mauvaise qualité" +msgid "HDR Compression" +msgstr "Compression HDR" + msgid "Mipmaps" msgstr "Mipmaps" @@ -1589,6 +1745,9 @@ msgstr "Horizontal" msgid "Vertical" msgstr "Vertical" +msgid "Arrangement" +msgstr "Arrangement" + msgid "Layout" msgstr "Disposition sur l'écran" @@ -1604,15 +1763,42 @@ msgstr "Échelle du maillage" msgid "Offset Mesh" msgstr "Décalage du maillage" +msgid "Optimize Mesh" +msgstr "Optimiser le maillage" + +msgid "Skip Import" +msgstr "Passer l'import" + msgid "NavMesh" msgstr "NavMesh" +msgid "Shape Type" +msgstr "Type de forme" + +msgid "Decomposition" +msgstr "Décomposition" + msgid "Advanced" msgstr "Options avancées" msgid "Precision" msgstr "Précision" +msgid "Max Concavity" +msgstr "Concavité maximale" + +msgid "Resolution" +msgstr "Résolution" + +msgid "Plane Downsampling" +msgstr "Sous-échantillonnage de plan" + +msgid "Normalize Mesh" +msgstr "Normaliser le maillage" + +msgid "Primitive" +msgstr "Primitif" + msgid "Height" msgstr "Hauteur" @@ -1622,9 +1808,21 @@ msgstr "Rayon" msgid "Occluder" msgstr "Occulteur" +msgid "Simplification Distance" +msgstr "Distance de simplification" + +msgid "Save to File" +msgstr "Enregistrer vers un fichier" + msgid "Enabled" msgstr "Activé" +msgid "Shadow Meshes" +msgstr "Maillages d'ombres" + +msgid "LODs" +msgstr "Niveaux de détails" + msgid "Loop Mode" msgstr "Mode de bouclage" @@ -1646,6 +1844,9 @@ msgstr "Type de Racine" msgid "Root Name" msgstr "Nom de la Racine" +msgid "Apply Root Scale" +msgstr "Appliquer l'échelle de la racine" + msgid "Root Scale" msgstr "Échelle de la racine" @@ -1655,6 +1856,12 @@ msgstr "Maillages" msgid "Ensure Tangents" msgstr "Vérifier les tangentes" +msgid "Generate LODs" +msgstr "Générer des niveaux de details" + +msgid "Create Shadow Meshes" +msgstr "Créer des maillages d'ombres" + msgid "Light Baking" msgstr "Pré-calculer les lumières" @@ -1670,6 +1877,9 @@ msgstr "Utiliser les enveloppes nommées" msgid "FPS" msgstr "IPS" +msgid "Import Script" +msgstr "Importer un script" + msgid "Normal Map" msgstr "Carte de normales" @@ -1688,6 +1898,12 @@ msgstr "Alpha pré-multiplié" msgid "Normal Map Invert Y" msgstr "Inverser l'axe Y de la carte de normales" +msgid "HDR as sRGB" +msgstr "HDR comme sRGB" + +msgid "HDR Clamp Exposure" +msgstr "HDR borner l'exposition" + msgid "Size Limit" msgstr "Limite de taille" @@ -1697,12 +1913,18 @@ msgstr "Détecter la 3D" msgid "SVG" msgstr "SVG" +msgid "Scale With Editor Scale" +msgstr "Garder à l'échelle de l'éditeur" + msgid "Atlas File" msgstr "Fichier Atlas" msgid "Import Mode" msgstr "Mode d'Importation" +msgid "Crop to Region" +msgstr "Rogner à la région" + msgid "Trim Alpha Border From Region" msgstr "Rogner les bordures alpha de la région" @@ -1748,6 +1970,9 @@ msgstr "URLs disponibles" msgid "Unset" msgstr "Non défini" +msgid "Missing" +msgstr "Manquant" + msgid "Error" msgstr "Erreur" @@ -1763,15 +1988,27 @@ msgstr "Notifiant de visibilité" msgid "Particles" msgstr "Particules" +msgid "Particle Attractor" +msgstr "Attracteur de particules" + +msgid "Particle Collision" +msgstr "Collision de particules" + msgid "Reflection Probe" msgstr "Sonde de réflexion" +msgid "Decal" +msgstr "Décalcomanie" + msgid "Joint Body A" msgstr "Jointure Corps A" msgid "Joint Body B" msgstr "Jointure Corps B" +msgid "Fog Volume" +msgstr "Volume de brouillard" + msgid "Manipulator Gizmo Size" msgstr "Taille des manipulateurs" @@ -1811,6 +2048,15 @@ msgstr "Paramètres d'exécution" msgid "Skeleton" msgstr "Squelette" +msgid "Selected Bone" +msgstr "Os sélectionné" + +msgid "Bone Shape" +msgstr "Forme des os" + +msgid "Shader Language" +msgstr "Langue de shader" + msgid "Warnings" msgstr "Avertissements" @@ -1820,9 +2066,18 @@ msgstr "ID" msgid "Texture" msgstr "Texture" +msgid "Margins" +msgstr "Marges" + msgid "Separation" msgstr "Séparation" +msgid "Size in Atlas" +msgstr "Taille dans l'atlas" + +msgid "Alternative ID" +msgstr "ID alternatif" + msgid "Speed" msgstr "Vitesse" @@ -1838,6 +2093,21 @@ msgstr "Chemin de la clé publique SSH" msgid "SSH Private Key Path" msgstr "Chemin de la clé privée SSH" +msgid "Main Run Args" +msgstr "Paramètres d'exécution du programme principal" + +msgid "Naming" +msgstr "Nommage" + +msgid "Default Signal Callback Name" +msgstr "Nom de rappel de signal par défaut" + +msgid "Default Signal Callback to Self Name" +msgstr "Nom de rappel de signal à soi-même par défaut" + +msgid "Scene Name Casing" +msgstr "Notation du nom de la scène" + msgid "Show Scene Tree Root Selection" msgstr "Afficher la sélection de la racine de la hiérarchie de la scène" @@ -1904,6 +2174,9 @@ msgstr "iOS" msgid "Hide Home Indicator" msgstr "Masquer l'indicateur d’accueil" +msgid "XR" +msgstr "XR" + msgid "Boot Splash" msgstr "Écran de démarrage" diff --git a/editor/translations/properties/it.po b/editor/translations/properties/it.po index 28d169e192..8ba9ca43a5 100644 --- a/editor/translations/properties/it.po +++ b/editor/translations/properties/it.po @@ -82,8 +82,8 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-23 00:30+0000\n" -"Last-Translator: Mirko <miknsop@gmail.com>\n" +"PO-Revision-Date: 2023-03-02 01:45+0000\n" +"Last-Translator: \"Matteo A.\" <psyduck.boh@gmail.com>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot-properties/it/>\n" "Language: it\n" @@ -91,7 +91,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\n" msgid "Application" msgstr "Applicazione" @@ -183,9 +183,6 @@ msgstr "Audio" msgid "Editor" msgstr "Editor" -msgid "Main Run Args" -msgstr "Parametri Principali Eseguiti" - msgid "Script" msgstr "Script" @@ -1494,6 +1491,9 @@ msgstr "Percorso Chiave SSH Pubblica" msgid "SSH Private Key Path" msgstr "Percorso Chiave SSH Privata" +msgid "Main Run Args" +msgstr "Parametri Principali Eseguiti" + msgid "Show Scene Tree Root Selection" msgstr "Mostra Selezione del Tree Root di Scena" diff --git a/editor/translations/properties/ja.po b/editor/translations/properties/ja.po index 160bbc70ef..04ef36fb92 100644 --- a/editor/translations/properties/ja.po +++ b/editor/translations/properties/ja.po @@ -52,8 +52,8 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-18 07:45+0000\n" -"Last-Translator: ueshita <nalto32@gmail.com>\n" +"PO-Revision-Date: 2023-03-14 09:33+0000\n" +"Last-Translator: Kenryu Shibata <kenryushibata@gmail.com>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/" "godot-properties/ja/>\n" "Language: ja\n" @@ -61,7 +61,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.16-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Application" msgstr "アプリケーション" @@ -135,6 +135,12 @@ msgstr "サイズを変更可能" msgid "Borderless" msgstr "ボーダーレス" +msgid "Always on Top" +msgstr "画面を常に最前面にする" + +msgid "Transparent" +msgstr "透明" + msgid "Energy Saving" msgstr "省エネルギー" @@ -147,9 +153,6 @@ msgstr "オーディオ" msgid "Editor" msgstr "エディター" -msgid "Main Run Args" -msgstr "メイン実行引数" - msgid "Physics" msgstr "物理" @@ -1518,6 +1521,9 @@ msgstr "SSH 公開鍵パス" msgid "SSH Private Key Path" msgstr "SSH 秘密鍵パス" +msgid "Main Run Args" +msgstr "メイン実行引数" + msgid "Show Scene Tree Root Selection" msgstr "シーンツリーのルート選択対象を表示" diff --git a/editor/translations/properties/ko.po b/editor/translations/properties/ko.po index 7deb95113b..7c6eac3a53 100644 --- a/editor/translations/properties/ko.po +++ b/editor/translations/properties/ko.po @@ -47,8 +47,8 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-24 12:28+0000\n" -"Last-Translator: nulta <un5450@naver.com>\n" +"PO-Revision-Date: 2023-03-05 01:38+0000\n" +"Last-Translator: jaehun choe <jayden.choe@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot-properties/ko/>\n" "Language: ko\n" @@ -56,7 +56,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.16-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Application" msgstr "어플리케이션" @@ -169,9 +169,6 @@ msgstr "3D 패닝 강도" msgid "Editor" msgstr "에디터" -msgid "Main Run Args" -msgstr "메인 실행 인자" - msgid "Script" msgstr "스크립트" @@ -1558,6 +1555,9 @@ msgstr "파티클" msgid "Reflection Probe" msgstr "반사 프로브" +msgid "Decal" +msgstr "데칼" + msgid "Joint Body A" msgstr "조인트 바디 A" @@ -1633,6 +1633,9 @@ msgstr "SSH 공용 키 경로" msgid "SSH Private Key Path" msgstr "SSH 개인 키 경로" +msgid "Main Run Args" +msgstr "메인 실행 인자" + msgid "Show Scene Tree Root Selection" msgstr "장면 트리 루트 선택 표시" diff --git a/editor/translations/properties/pl.po b/editor/translations/properties/pl.po index 5e8698ee6e..e0c81fbefc 100644 --- a/editor/translations/properties/pl.po +++ b/editor/translations/properties/pl.po @@ -75,8 +75,8 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-26 20:44+0000\n" -"Last-Translator: Marcin Sokołowski <sokolekster@gmail.com>\n" +"PO-Revision-Date: 2023-03-14 01:22+0000\n" +"Last-Translator: Tomek <kobewi4e@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot-properties/pl/>\n" "Language: pl\n" @@ -85,7 +85,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.16-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Application" msgstr "Aplikacja" @@ -186,11 +186,17 @@ msgstr "Zachowaj włączony ekran" msgid "Audio" msgstr "Audio" +msgid "Default Bus Layout" +msgstr "Domyślny układ magistrali" + +msgid "3D Panning Strength" +msgstr "Siła panoramy 3D" + msgid "Editor" msgstr "Edytor" -msgid "Main Run Args" -msgstr "Główne argumenty włączania" +msgid "Search in File Extensions" +msgstr "Szukaj wśród rozszerzeń plików" msgid "Physics" msgstr "Fizyka" @@ -198,6 +204,9 @@ msgstr "Fizyka" msgid "2D" msgstr "2D" +msgid "Run on Separate Thread" +msgstr "Uruchom na osobnym wątku" + msgid "3D" msgstr "3D" @@ -219,6 +228,9 @@ msgstr "Wiadomość" msgid "Rendering" msgstr "Renderowanie" +msgid "Memory" +msgstr "Pamięć" + msgid "Limits" msgstr "Limity" @@ -648,6 +660,9 @@ msgstr "Drzewo sceny" msgid "Start Create Dialog Fully Expanded" msgstr "Rozpocznij tworzenie w pełni rozwiniętego okna dialogowego" +msgid "Auto Expand to Selected" +msgstr "Automatycznie rozwijaj do wybranego" + msgid "Always Show Folders" msgstr "Zawsze pokazuj foldery" @@ -1185,6 +1200,9 @@ msgstr "Serwer plików" msgid "Password" msgstr "Hasło" +msgid "Multichannel Signed Distance Field" +msgstr "Wielokanałowe Pole Odległości ze Znakiem" + msgid "Hinting" msgstr "Hinting" @@ -1395,6 +1413,9 @@ msgstr "Błąd" msgid "Particles" msgstr "Cząsteczki" +msgid "Decal" +msgstr "Naklejka" + msgid "Manipulator Gizmo Size" msgstr "Regulacja wielkości uchwytu" @@ -1443,9 +1464,21 @@ msgstr "ID" msgid "Speed" msgstr "Prędkość" +msgid "Frames Count" +msgstr "Liczba klatek" + +msgid "Duration" +msgstr "Czas trwania" + msgid "Version Control" msgstr "Kontrola wersji" +msgid "Plugin Name" +msgstr "Nazwa wtyczki" + +msgid "Autoload on Startup" +msgstr "Automatyczne ładowanie podczas uruchamiania" + msgid "Username" msgstr "Nazwa użytkownika" @@ -1455,6 +1488,15 @@ msgstr "Ścieżka do publicznego klucza SSH" msgid "SSH Private Key Path" msgstr "Ścieżka do prywatnego klucza SSH" +msgid "Main Run Args" +msgstr "Główne argumenty włączania" + +msgid "Templates Search Path" +msgstr "Ścieżka szukania szablonów" + +msgid "Naming" +msgstr "Nazewnictwo" + msgid "Common" msgstr "Pospolite" @@ -1744,11 +1786,20 @@ msgid "Notarization" msgstr "Poświadczenie notarialne" msgid "Tiles" -msgstr "Płytki" +msgstr "Kafelki" msgid "Variant" msgstr "Wariant" +msgid "File Version" +msgstr "Wersja pliku" + +msgid "Product Version" +msgstr "Wersja produktu" + +msgid "Product Name" +msgstr "Nazwa produktu" + msgid "Frame" msgstr "Klatka" @@ -1926,6 +1977,9 @@ msgstr "Powtórz" msgid "Transfer Mode" msgstr "Tryb transferu" +msgid "SDF" +msgstr "SDF" + msgid "Audio Listener" msgstr "Słuchacz dźwięku" @@ -1971,6 +2025,9 @@ msgstr "Niebo" msgid "Source" msgstr "Źródło" +msgid "Tonemap" +msgstr "Mapa odcieni" + msgid "SSAO" msgstr "SSAO" @@ -2004,6 +2061,9 @@ msgstr "Operator" msgid "Subsurface Scattering" msgstr "Rozpraszanie podpowierzchniowe" +msgid "MSDF" +msgstr "MSDF" + msgid "Item" msgstr "Element" @@ -2040,9 +2100,18 @@ msgstr "Do" msgid "Terrains" msgstr "Tereny" +msgid "Custom Data" +msgstr "Własne dane" + msgid "Transpose" msgstr "Transpozycja" +msgid "Texture Origin" +msgstr "Początek tekstury" + +msgid "Y Sort Origin" +msgstr "Początek sortowania Y" + msgid "Probability" msgstr "Prawdopodobieństwo" diff --git a/editor/translations/properties/pt.po b/editor/translations/properties/pt.po index 8d44f3fd8e..f8ecf3bad1 100644 --- a/editor/translations/properties/pt.po +++ b/editor/translations/properties/pt.po @@ -37,8 +37,8 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-28 22:26+0000\n" -"Last-Translator: ssantos <ssantos@web.de>\n" +"PO-Revision-Date: 2023-03-05 08:38+0000\n" +"Last-Translator: Wesley PI <wesleypi2@hotmail.com.br>\n" "Language-Team: Portuguese <https://hosted.weblate.org/projects/godot-engine/" "godot-properties/pt/>\n" "Language: pt\n" @@ -46,7 +46,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-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Application" msgstr "Aplicação" @@ -57,6 +57,9 @@ msgstr "Configurações" msgid "Name" msgstr "Nome" +msgid "Name Localized" +msgstr "Nome Localizado" + msgid "Description" msgstr "Descrição" @@ -93,9 +96,24 @@ msgstr "Janela" msgid "Size" msgstr "Tamanho" +msgid "Viewport Width" +msgstr "Largura da Viewport" + +msgid "Viewport Height" +msgstr "Altura da ViewportViewport" + msgid "Mode" msgstr "Modo" +msgid "Initial Position Type" +msgstr "Tipo da Posição Inicial" + +msgid "Initial Position" +msgstr "Posição Inicial" + +msgid "Initial Screen" +msgstr "Tela Inicial" + msgid "Resizable" msgstr "Redimensionável" @@ -105,6 +123,18 @@ msgstr "Sem bordas" msgid "Transparent" msgstr "Transparente" +msgid "Extend to Title" +msgstr "Estende ao Titulo" + +msgid "No Focus" +msgstr "Sem Foco" + +msgid "Window Width Override" +msgstr "Sobrepõe a Largura da Janela" + +msgid "Window Height Override" +msgstr "Sobrepõe a Altura da Janela" + msgid "Energy Saving" msgstr "Economia de Energia" @@ -117,9 +147,6 @@ msgstr "Áudio" msgid "Editor" msgstr "Editor" -msgid "Main Run Args" -msgstr "Argumentos da Execução Principal" - msgid "Physics" msgstr "Física" @@ -1434,6 +1461,9 @@ msgstr "Caminho da Chave Pública SSH" msgid "SSH Private Key Path" msgstr "Caminho da Chave Privada SSH" +msgid "Main Run Args" +msgstr "Argumentos da Execução Principal" + msgid "Show Scene Tree Root Selection" msgstr "Mostrar seleção da hierarquia de cenas" diff --git a/editor/translations/properties/pt_BR.po b/editor/translations/properties/pt_BR.po index 30e825fd7b..784ede3ee7 100644 --- a/editor/translations/properties/pt_BR.po +++ b/editor/translations/properties/pt_BR.po @@ -162,7 +162,7 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2023-02-28 17:36+0000\n" +"PO-Revision-Date: 2023-03-12 22:47+0000\n" "Last-Translator: Elizandro Baldin <ejbaldin@gmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot-properties/pt_BR/>\n" @@ -171,7 +171,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-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Application" msgstr "Aplicação" @@ -182,11 +182,14 @@ msgstr "Configuração" msgid "Name" msgstr "Nome" +msgid "Name Localized" +msgstr "Nome Traduzido" + msgid "Description" msgstr "Descrição" msgid "Run" -msgstr "Rodar" +msgstr "Executar" msgid "Main Scene" msgstr "Cena Principal" @@ -218,9 +221,24 @@ msgstr "Janela" msgid "Size" msgstr "Tamanho" +msgid "Viewport Width" +msgstr "Largura da Viewport" + +msgid "Viewport Height" +msgstr "Altura da Viewport" + msgid "Mode" msgstr "Modo" +msgid "Initial Position Type" +msgstr "Tipo de Posição Inicial" + +msgid "Initial Position" +msgstr "Posição Inicial" + +msgid "Initial Screen" +msgstr "Tela Inicial" + msgid "Resizable" msgstr "Redimensionável" @@ -230,6 +248,18 @@ msgstr "Sem Bordas" msgid "Transparent" msgstr "Transparente" +msgid "Extend to Title" +msgstr "Estender até o título" + +msgid "No Focus" +msgstr "Sem Foco" + +msgid "Window Width Override" +msgstr "Substituição da largura da janela" + +msgid "Window Height Override" +msgstr "Substituição da altura da janela" + msgid "Energy Saving" msgstr "Economia de Energia" @@ -239,11 +269,26 @@ msgstr "Manter a Tela Ligada" msgid "Audio" msgstr "Áudio" +msgid "Buses" +msgstr "Barramento" + +msgid "Default Bus Layout" +msgstr "Layout de barramento padrão" + +msgid "General" +msgstr "Geral" + +msgid "2D Panning Strength" +msgstr "Intensidade da Panorâmica 2D" + +msgid "3D Panning Strength" +msgstr "Intensidade da Panorâmica 3D" + msgid "Editor" msgstr "Editor" -msgid "Main Run Args" -msgstr "Argumentos de Execução Principais" +msgid "Script" +msgstr "Script" msgid "Physics" msgstr "Física" @@ -251,6 +296,9 @@ msgstr "Física" msgid "2D" msgstr "2D" +msgid "Run on Separate Thread" +msgstr "Rodar em Thread separada" + msgid "3D" msgstr "3D" @@ -263,9 +311,33 @@ msgstr "Configurações" msgid "Profiler" msgstr "Analisador" +msgid "Max Functions" +msgstr "Máximo de Funções" + msgid "Compression" msgstr "Compressão" +msgid "Formats" +msgstr "Formatos" + +msgid "Zstd" +msgstr "Zstd" + +msgid "Long Distance Matching" +msgstr "Correspondência de longa distância (LDM)" + +msgid "Compression Level" +msgstr "Nível de Compressão" + +msgid "Window Log Size" +msgstr "Tamanho da Janela de Log" + +msgid "Zlib" +msgstr "Zlib" + +msgid "Gzip" +msgstr "'Gzip'" + msgid "Crash Handler" msgstr "Gerenciador de Falhas" @@ -273,17 +345,62 @@ msgid "Message" msgstr "Mensagem" msgid "Rendering" -msgstr "Renderização" +msgstr "Renderizando" + +msgid "Occlusion Culling" +msgstr "Seleção de Oclusão" + +msgid "BVH Build Quality" +msgstr "Qualidade de Build do BVH" + +msgid "Memory" +msgstr "Memória" msgid "Limits" msgstr "Limites" +msgid "Multithreaded Server" +msgstr "Servidor Multithread" + +msgid "RID Pool Prealloc" +msgstr "RID Pool Pré-alocação" + +msgid "Internationalization" +msgstr "Internacionalização" + +msgid "Force Right to Left Layout Direction" +msgstr "Forçar direção de layout Direita para Esquerda" + msgid "GUI" msgstr "GUI (Interface Gráfica de Usuário)" +msgid "Timers" +msgstr "Temporizadores" + +msgid "Incremental Search Max Interval Msec" +msgstr "Máximo intervalo de busca incremental Msec" + +msgid "Rendering Device" +msgstr "Aparato de Renderização" + +msgid "Staging Buffer" +msgstr "Buffer de preparação" + +msgid "Block Size (KB)" +msgstr "Tamanho de Bloco (KB)" + +msgid "Max Size (MB)" +msgstr "Tamanho Máximo (MB)" + +msgid "Texture Upload Region Size Px" +msgstr "Tamanho da região de upload de Textura (PX)" + msgid "Vulkan" msgstr "Vulkan" +msgid "Max Descriptors per Pool" +msgstr "Máximo de descritores por pool" + msgid "Low Processor Usage Mode" msgstr "Modo de Baixo Uso de Processador" @@ -293,6 +410,15 @@ msgstr "Modo de Baixo Uso de Processador (µsec)" msgid "Print Error Messages" msgstr "Imprimir Mensagens de Erro" +msgid "Physics Ticks per Second" +msgstr "Ticks de física por segundo" + +msgid "Max Physics Steps per Frame" +msgstr "Máximo passos de física por quadro" + +msgid "Max FPS" +msgstr "FPS Máximo" + msgid "Time Scale" msgstr "Escala de Tempo" @@ -308,9 +434,33 @@ msgstr "Usar entrada acumulada" msgid "Device" msgstr "Dispositivo" +msgid "Window ID" +msgstr "ID da Janela" + +msgid "Command or Control Autoremap" +msgstr "Comando ou Controle Autoremap" + +msgid "Alt Pressed" +msgstr "Alt Pressionado" + +msgid "Shift Pressed" +msgstr "Shift Pressionado" + +msgid "Ctrl Pressed" +msgstr "Ctrl Pressionado" + +msgid "Meta Pressed" +msgstr "Meta Pressionado" + msgid "Pressed" msgstr "Pressionado" +msgid "Keycode" +msgstr "Keycode (Código de Tecla)" + +msgid "Key Label" +msgstr "Rótulo da Tecla" + msgid "Unicode" msgstr "Unicode" @@ -383,15 +533,30 @@ msgstr "Número do Controlador" msgid "Controller Value" msgstr "Valor do Controlador" +msgid "Events" +msgstr "Eventos" + +msgid "Include Navigational" +msgstr "Include Navegacional" + +msgid "Include Hidden" +msgstr "Include Oculto" + msgid "Big Endian" msgstr "Big Endian" msgid "Network" msgstr "Rede" +msgid "Remote FS" +msgstr "FS remoto" + msgid "Page Size" msgstr "Tamanho da Página" +msgid "Page Read Ahead" +msgstr "Página lida adiante" + msgid "Blocking Mode Enabled" msgstr "Modo de bloqueio Ativado" @@ -416,6 +581,9 @@ msgstr "Tamanho máximo do buffer de saída" msgid "Resource" msgstr "Recurso" +msgid "Local to Scene" +msgstr "Local para cena" + msgid "Path" msgstr "Caminho" @@ -428,12 +596,63 @@ msgstr "Conexões Pendentes Máximas" msgid "Offset" msgstr "Deslocamento" +msgid "Cell Size" +msgstr "Tamanho da célula" + +msgid "Jumping Enabled" +msgstr "Pulo Habilitado" + +msgid "Default Compute Heuristic" +msgstr "Heurística Computacional Padrão" + +msgid "Default Estimate Heuristic" +msgstr "Heurística Estimada Padrão" + +msgid "Diagonal Mode" +msgstr "Modo diagonal" + msgid "Seed" msgstr "Semente" msgid "State" msgstr "Estado" +msgid "Message Queue" +msgstr "Fila de mensagens" + +msgid "TCP" +msgstr "TCP" + +msgid "Connect Timeout Seconds" +msgstr "Segundos de Timeout para Conexão" + +msgid "Packet Peer Stream" +msgstr "Fluxo de Par de Pacotes" + +msgid "Max Buffer (Power of 2)" +msgstr "Buffer máximo (ao Quadrado)" + +msgid "TLS" +msgstr "TLS" + +msgid "Certificate Bundle Override" +msgstr "Substituição do pacote de certificado" + +msgid "Threading" +msgstr "Threading" + +msgid "Worker Pool" +msgstr "Conjunto de Trabalhadores" + +msgid "Max Threads" +msgstr "Máx. Threads" + +msgid "Use System Threads for Low Priority Tasks" +msgstr "Usar Threads do sistema para tarefas de baixa prioridade" + +msgid "Low Priority Thread Ratio" +msgstr "Taxa de Threads de baixa prioridade" + msgid "Locale" msgstr "Localidade" @@ -443,15 +662,36 @@ msgstr "Teste" msgid "Fallback" msgstr "Fallback" +msgid "Pseudolocalization" +msgstr "Pseudo localização" + +msgid "Use Pseudolocalization" +msgstr "Usar Pseudo Localização" + +msgid "Replace With Accents" +msgstr "Substituir com acentos" + +msgid "Double Vowels" +msgstr "Vogais duplas" + +msgid "Fake BiDi" +msgstr "Falso BiDi" + msgid "Override" msgstr "Sobrescrever" +msgid "Expansion Ratio" +msgstr "Taxa de Expansão" + msgid "Prefix" msgstr "Prefixo" msgid "Suffix" msgstr "Sufixo" +msgid "Skip Placeholders" +msgstr "Escapar espaços reservados" + msgid "Rotation" msgstr "Rotação" @@ -476,6 +716,9 @@ msgstr "Manipulador de Entrada" msgid "Out Handle" msgstr "Fora do controle" +msgid "Handle Mode" +msgstr "Modo de manuseio" + msgid "Stream" msgstr "Fluxo" @@ -491,9 +734,15 @@ msgstr "Animação" msgid "Easing" msgstr "Suavização" +msgid "Debug Adapter" +msgstr "Adaptador de Depurador" + msgid "Remote Port" msgstr "Porta Remota" +msgid "Sync Breakpoints" +msgstr "Pontos de Quebra de Sincronismo" + msgid "Debugger" msgstr "Depurador" @@ -515,6 +764,9 @@ msgstr "Acesso" msgid "Display Mode" msgstr "Modo de Exibição" +msgid "File Mode" +msgstr "Modo Arquivo" + msgid "Filters" msgstr "Filtros" @@ -530,6 +782,9 @@ msgstr "Importar" msgid "Reimport Missing Imported Files" msgstr "Reimportar arquivos importados perdidos" +msgid "Use Multiple Threads" +msgstr "Usar Threads Múltiplas" + msgid "Text Editor" msgstr "Editor de Texto" @@ -554,6 +809,9 @@ msgstr "Checado" msgid "Keying" msgstr "Chaveamento" +msgid "Deletable" +msgstr "Deletável" + msgid "Interface" msgstr "Interface" @@ -593,6 +851,9 @@ msgstr "Edição Horizontal de Tipos de Vetor" msgid "Default Color Picker Mode" msgstr "Modo de Seletor de Cores Padrão" +msgid "Default Color Picker Shape" +msgstr "Formato Padrão do Seletor de Cores" + msgid "Distraction Free Mode" msgstr "Modo Sem Distrações" @@ -611,6 +872,15 @@ msgstr "Linguagem do Editor" msgid "Display Scale" msgstr "Exibir Escala" +msgid "Enable Pseudolocalization" +msgstr "Habilitar Pseudo Localização" + +msgid "Use Embedded Menu" +msgstr "Usar Menu Integrado" + +msgid "Expand to Title" +msgstr "Expandir para o Título" + msgid "Custom Display Scale" msgstr "Escala de Exibição Customizada" @@ -620,9 +890,24 @@ msgstr "Tamanho da Fonte Principal" msgid "Code Font Size" msgstr "Tamanho da Fonte do Código" +msgid "Code Font Contextual Ligatures" +msgstr "Ligações contextuais da Fonte do código" + +msgid "Code Font Custom OpenType Features" +msgstr "Recursos OpenType personalizados para a Fonte do código" + +msgid "Code Font Custom Variations" +msgstr "Variações customizáveis para Fonte do código" + +msgid "Font Antialiasing" +msgstr "Anti-aliasing da Fonte" + msgid "Font Hinting" msgstr "Suavização de Fonte" +msgid "Font Subpixel Positioning" +msgstr "Posicionamento de subpixel da Fonte" + msgid "Main Font" msgstr "Fonte Principal" @@ -644,9 +929,24 @@ msgstr "Separar Modo Distração" msgid "Automatically Open Screenshots" msgstr "Abrir Capturas de Tela Automaticamente" +msgid "Single Window Mode" +msgstr "Modo de janela simples" + msgid "Mouse Extra Buttons Navigate History" msgstr "Botões Extra do Mouse Navegam o Histórico" +msgid "Accept Dialog Cancel OK Buttons" +msgstr "Caixa de Diálogo Aceitar: Botões OK/Cancelar" + +msgid "Show Internal Errors in Toast Notifications" +msgstr "Mostrar Erros Internos em notificações Toast" + +msgid "Max Array Dictionary Items per Page" +msgstr "Máximo de Itens em Dicionários de Arrays Por Página" + +msgid "Show Low Level OpenType Features" +msgstr "Mostrar atributos de baixo nível OpenType" + msgid "Theme" msgstr "Tema" @@ -662,24 +962,63 @@ msgstr "Cor de Destaque" msgid "Contrast" msgstr "Contraste" +msgid "Draw Extra Borders" +msgstr "Desenhar bordas extras" + +msgid "Icon Saturation" +msgstr "Saturação do ícone" + msgid "Relationship Line Opacity" msgstr "Opacidade da Linha de Relacionamento" msgid "Border Size" msgstr "Tamanho da Borda" +msgid "Corner Radius" +msgstr "Raio do canto" + msgid "Additional Spacing" msgstr "Espaçamento Adicional" msgid "Custom Theme" msgstr "Tema Personalizado" +msgid "Touchscreen" +msgstr "Tela de Toque" + +msgid "Increase Scrollbar Touch Area" +msgstr "Aumentar barra de rolagem da área de toque" + +msgid "Enable Long Press as Right Click" +msgstr "Habilitar pressão longa como clique no botão direito" + +msgid "Enable Pan and Scale Gestures" +msgstr "Habilitar Pan e Gestos em Scala" + +msgid "Display Close Button" +msgstr "Mostrar botão Fechar" + +msgid "Maximum Width" +msgstr "Largura máxima" + msgid "Show Script Button" msgstr "Botão de Exibir Script" msgid "FileSystem" msgstr "Arquivos" +msgid "External Programs" +msgstr "Programas Externos" + +msgid "Raster Image Editor" +msgstr "Editor externo de imagens Rasterizadas" + +msgid "Vector Image Editor" +msgstr "Editor de Imagens Vetoriais" + +msgid "Audio Editor" +msgstr "Editor de Áudio" + msgid "Directories" msgstr "Diretórios" @@ -710,9 +1049,15 @@ msgstr "Árvore de Cena" msgid "Start Create Dialog Fully Expanded" msgstr "Iniciar Dialogo de Criação Expandido por Completo" +msgid "Auto Expand to Selected" +msgstr "Auto Expandir Selecionados" + msgid "Always Show Folders" msgstr "Sempre Exibir Pastas" +msgid "Textfile Extensions" +msgstr "Extensões de Arquivo de texto" + msgid "Property Editor" msgstr "Editor de Propriedades" @@ -734,12 +1079,18 @@ msgstr "Circunflexo" msgid "Caret Blink" msgstr "Piscar Cursor" +msgid "Caret Blink Interval" +msgstr "Intervalo de Piscar Cursor" + msgid "Highlight Current Line" msgstr "Destaque da Linha Atual" msgid "Highlight All Occurrences" msgstr "Destaque de Todas as Ocorrências" +msgid "Guidelines" +msgstr "Linhas guia" + msgid "Show Line Length Guidelines" msgstr "Exibir Guia de Tamanho de Linhas" @@ -788,9 +1139,15 @@ msgstr "Desenhar Espaços" msgid "Line Spacing" msgstr "Espaçamento de Linha" +msgid "Behavior" +msgstr "Comportamento" + msgid "Navigation" msgstr "Navegação" +msgid "Move Caret on Right Click" +msgstr "Mover cursor ao clicar com o botão direito" + msgid "Smooth Scrolling" msgstr "Rolagem Suave" @@ -809,6 +1166,9 @@ msgstr "Arquivos" msgid "Autosave Interval Secs" msgstr "Intervalo de Salvamento Automático em Segundos" +msgid "Convert Indent on Save" +msgstr "Converter Indentação ao Salvar" + msgid "Script List" msgstr "Lista de Scripts" @@ -854,6 +1214,9 @@ msgstr "Tamanho da Fonte de Ajuda Principal" msgid "Help Title Font Size" msgstr "Tamanho da Fonte de Ajuda para Títulos" +msgid "Class Reference Examples" +msgstr "Exemplos de Referência de Classes" + msgid "Editors" msgstr "Editores" @@ -1019,9 +1382,21 @@ msgstr "Cor da Borda de Viewport" msgid "Constrain Editor View" msgstr "Restringir Visão do Editor" +msgid "2D Editor Panning Scheme" +msgstr "Esquema de painéis do Editor 2D" + +msgid "Sub Editors Panning Scheme" +msgstr "Esquema de painéis do Sub Editor" + +msgid "Animation Editors Panning Scheme" +msgstr "Esquema de painéis do Editor de Animação" + msgid "Simple Panning" msgstr "Panoramização Simples" +msgid "Tiles Editor" +msgstr "Editor de Tiles" + msgid "Display Grid" msgstr "Mostrar Grid" @@ -1055,6 +1430,9 @@ msgstr "Editores Visuais" msgid "Minimap Opacity" msgstr "Opacidade do Mini-Mapa" +msgid "Lines Curvature" +msgstr "Curvatura das Linhas" + msgid "Window Placement" msgstr "Colocação da Janela" @@ -1079,9 +1457,15 @@ msgstr "Saída" msgid "Font Size" msgstr "Tamanho da Fonte" +msgid "Always Clear Output on Play" +msgstr "Sempre Limpar a Saída no modo Play" + msgid "Remote Host" msgstr "Hospedeiro Remoto" +msgid "Editor TLS Certificates" +msgstr "Editor de Certificados TLS" + msgid "Profiler Frame History Size" msgstr "Tamanho de histórico disponível no \"Profiler\"" @@ -1100,6 +1484,9 @@ msgstr "Gerenciador de Projetos" msgid "Sorting Order" msgstr "Ordem de Classificação" +msgid "Default Renderer" +msgstr "Renderizador Padrão" + msgid "Highlighting" msgstr "Destacando" @@ -1226,6 +1613,9 @@ msgstr "Modelo Customizado" msgid "Release" msgstr "Lançamento" +msgid "Export Console Script" +msgstr "Exportar Script de Console" + msgid "Binary Format" msgstr "Formato Binário" @@ -1247,6 +1637,12 @@ msgstr "ETC" msgid "ETC2" msgstr "ETC2" +msgid "SSH" +msgstr "SSH" + +msgid "SCP" +msgstr "SCP" + msgid "Export Path" msgstr "Caminho de Exportação" @@ -1256,6 +1652,45 @@ msgstr "Servidor de Arquivos" msgid "Password" msgstr "Senha" +msgid "Generate Mipmaps" +msgstr "Gerar Mipmaps" + +msgid "Multichannel Signed Distance Field" +msgstr "SDF multicanal" + +msgid "MSDF Pixel Range" +msgstr "Escala de pixel de MSDF" + +msgid "MSDF Size" +msgstr "Tamanho do MSDF" + +msgid "Allow System Fallback" +msgstr "Permitir Fallback do Sistema" + +msgid "Force Autohinter" +msgstr "Forçar Autohinter" + +msgid "Hinting" +msgstr "Sugestão" + +msgid "Subpixel Positioning" +msgstr "Posicionamento de Subpixel" + +msgid "Oversampling" +msgstr "Excesso de Amostragem" + +msgid "Metadata Overrides" +msgstr "Sobrescrever Metadata" + +msgid "Script Support" +msgstr "Suporte de Script" + +msgid "OpenType Features" +msgstr "Funcionalidades OpenType" + +msgid "Fallbacks" +msgstr "Fallbacks" + msgid "Compress" msgstr "Comprimir" @@ -1268,8 +1703,17 @@ msgstr "Tamanho do Contorno" msgid "Variation" msgstr "Variação" +msgid "OpenType" +msgstr "OpenType" + +msgid "Embolden" +msgstr "Aumento Boldem" + +msgid "Face Index" +msgstr "Índice da Face da fonte" + msgid "Transform" -msgstr "Transformação" +msgstr "Transformada" msgid "Collada" msgstr "Collada" @@ -1277,9 +1721,39 @@ msgstr "Collada" msgid "Use Ambient" msgstr "Utilizar Ambient" +msgid "Retarget" +msgstr "Alvo de Destino" + +msgid "Bone Renamer" +msgstr "Renomeador do Osso" + +msgid "Rename Bones" +msgstr "Renomear Ossos" + +msgid "Unique Node" +msgstr "Nó Único" + msgid "Make Unique" msgstr "Tornar Único" +msgid "Skeleton Name" +msgstr "Nome do Esqueleto" + +msgid "Rest Fixer" +msgstr "Fixador pose Descanso" + +msgid "Apply Node Transforms" +msgstr "Aplicar Transformações" + +msgid "Normalize Position Tracks" +msgstr "Normalizar Faixas de Posicionamento" + +msgid "Overwrite Axis" +msgstr "Sobrescrever Eixos" + +msgid "Fix Silhouette" +msgstr "Consertar Silhueta" + msgid "Enable" msgstr "Habilitar" @@ -1289,15 +1763,54 @@ msgstr "Filtro" msgid "Threshold" msgstr "Limite" +msgid "Base Height Adjustment" +msgstr "Ajuste de Altura da Base" + +msgid "Remove Tracks" +msgstr "Remover Trilhas" + +msgid "Except Bone Transform" +msgstr "Exceção na transformação óssea" + +msgid "Unimportant Positions" +msgstr "Posições sem importância" + +msgid "Unmapped Bones" +msgstr "Ossos não mapeados" + msgid "Create From" msgstr "Criar à Partir de" msgid "Delimiter" msgstr "Delimitador" +msgid "Character Ranges" +msgstr "Medidas do Personagem" + +msgid "Columns" +msgstr "Colunas" + +msgid "Rows" +msgstr "Linhas" + +msgid "Image Margin" +msgstr "Margem da Imagem" + +msgid "Character Margin" +msgstr "Marem do Caractere" + +msgid "High Quality" +msgstr "Alta Qualidade" + msgid "Lossy Quality" msgstr "Com Perda de Qualidade" +msgid "HDR Compression" +msgstr "Compressão HDR" + +msgid "Channel Pack" +msgstr "Pacote de Canal" + msgid "Mipmaps" msgstr "Mipmaps" @@ -1316,6 +1829,9 @@ msgstr "Horizontal" msgid "Vertical" msgstr "Vertical" +msgid "Arrangement" +msgstr "Arranjo" + msgid "Layout" msgstr "Layout" @@ -1334,9 +1850,57 @@ msgstr "Malha de Deslocamento" msgid "NavMesh" msgstr "NavMesh" +msgid "Body Type" +msgstr "Tipo de corpo" + +msgid "Shape Type" +msgstr "Tipo de forma" + +msgid "Decomposition" +msgstr "Decomposição" + msgid "Advanced" msgstr "Avançado" +msgid "Precision" +msgstr "Precisão" + +msgid "Max Concavity" +msgstr "Concavidade Máxima" + +msgid "Symmetry Planes Clipping Bias" +msgstr "Corte no Bias de Plano de Simetria" + +msgid "Revolution Axes Clipping Bias" +msgstr "Bias de Corte nos eixos de revolução" + +msgid "Min Volume per Convex Hull" +msgstr "Volume mínimo per Convex Hull" + +msgid "Resolution" +msgstr "Resolução" + +msgid "Max Num Vertices per Convex Hull" +msgstr "Número Máximo de Vértices por Convex Hull" + +msgid "Plane Downsampling" +msgstr "Rebaixamento de plano" + +msgid "Convexhull Downsampling" +msgstr "Rebaixamento de Convexhull" + +msgid "Convexhull Approximation" +msgstr "Aproximação Convexhull" + +msgid "Max Convex Hulls" +msgstr "Convexhull Máximo" + +msgid "Project Hull Vertices" +msgstr "Vértices Hull do projeto" + +msgid "Primitive" +msgstr "Primitivo" + msgid "Height" msgstr "Altura" @@ -1346,9 +1910,30 @@ msgstr "Raio" msgid "Occluder" msgstr "Oclusor" +msgid "Simplification Distance" +msgstr "Distância de Simplificação" + msgid "Enabled" msgstr "Habilitado" +msgid "Make Streamable" +msgstr "Streamável" + +msgid "Shadow Meshes" +msgstr "Malhas de Shader" + +msgid "LODs" +msgstr "LOD (Níveis de detalhe)" + +msgid "Normal Split Angle" +msgstr "Ângulo de separação da NORMAL" + +msgid "Normal Merge Angle" +msgstr "Ângulo de junção da NORMAL" + +msgid "Use External" +msgstr "Usar Externo" + msgid "Loop Mode" msgstr "Modo de Loop" @@ -1358,9 +1943,21 @@ msgstr "Manter Faixas Personalizadas" msgid "Optimizer" msgstr "Otimizador" +msgid "Max Velocity Error" +msgstr "Erro de Máx. Velocidade" + msgid "Max Angular Error" msgstr "Erro Angular Máximo" +msgid "Max Precision Error" +msgstr "Erro de Máxima Precisão" + +msgid "Import Tracks" +msgstr "Importar Trilhas" + +msgid "Bone Map" +msgstr "Mapa de Ossos" + msgid "Nodes" msgstr "Nós" @@ -1370,6 +1967,9 @@ msgstr "Tipo da Raiz" msgid "Root Name" msgstr "Nome da Raiz" +msgid "Apply Root Scale" +msgstr "Aplicar Escala da Raiz" + msgid "Root Scale" msgstr "Escala da Raiz" @@ -1379,6 +1979,12 @@ msgstr "Malhas" msgid "Ensure Tangents" msgstr "Garantir Tangentes" +msgid "Generate LODs" +msgstr "Gerar Pontos LOD" + +msgid "Create Shadow Meshes" +msgstr "Criar Malha de Sombra" + msgid "Light Baking" msgstr "Bake de Mapa de Luz" @@ -1394,12 +2000,21 @@ msgstr "Utilizar Peles com Nome" msgid "FPS" msgstr "FPS" +msgid "Remove Immutable Tracks" +msgstr "Remover Trilhas Sem mudança" + +msgid "Import Script" +msgstr "Script de Importação" + msgid "Normal Map" msgstr "Mapa Normal" msgid "Roughness" msgstr "Rugosidade" +msgid "Src Normal" +msgstr "Src Normal" + msgid "Process" msgstr "Processar" @@ -1412,6 +2027,12 @@ msgstr "Pré-Multiplicar Alpha" msgid "Normal Map Invert Y" msgstr "Inverter Y do Mapa Normal" +msgid "HDR as sRGB" +msgstr "HDR como sRGB" + +msgid "HDR Clamp Exposure" +msgstr "Exposição de grampo HDR" + msgid "Size Limit" msgstr "Limite de Tamanho" @@ -1421,12 +2042,21 @@ msgstr "Detectar 3D" msgid "SVG" msgstr "SVG" +msgid "Scale With Editor Scale" +msgstr "Escalonar com o Editor de Escala" + +msgid "Convert Colors With Editor Theme" +msgstr "Converter cores com Editor de temas" + msgid "Atlas File" msgstr "Arquivo do Atlas" msgid "Import Mode" msgstr "Modo de Importação" +msgid "Crop to Region" +msgstr "Cortar para Região" + msgid "Trim Alpha Border From Region" msgstr "Aparar Borda Alfa da Região" @@ -1469,9 +2099,24 @@ msgstr "Usar Threads" msgid "Available URLs" msgstr "URLs disponíveis" +msgid "Current Group Idx" +msgstr "Idx de grupo atual" + +msgid "Current Bone Idx" +msgstr "Idx de Osso Atual" + +msgid "Bone Mapper" +msgstr "Mapeador de Ossos" + +msgid "Handle Colors" +msgstr "Manusear Cores" + msgid "Unset" msgstr "Desativar" +msgid "Set" +msgstr "Definir" + msgid "Error" msgstr "Erro" @@ -1487,15 +2132,36 @@ msgstr "Notificador de Visibilidade" msgid "Particles" msgstr "Partículas" +msgid "Particle Attractor" +msgstr "Atrator de Partículas" + +msgid "Particle Collision" +msgstr "Colisão de Partículas" + msgid "Reflection Probe" msgstr "Sonda de Reflexão" +msgid "Decal" +msgstr "Decalques" + +msgid "Voxel GI" +msgstr "VoxelGI" + +msgid "Lightmap Lines" +msgstr "Linhas de Mapeamento de luz" + +msgid "Lightprobe Lines" +msgstr "Linhas de Lightprobe" + msgid "Joint Body A" msgstr "Corpo de Encaixe A" msgid "Joint Body B" msgstr "Corpo de Encaixe B" +msgid "Fog Volume" +msgstr "Volume de Neblina" + msgid "Manipulator Gizmo Size" msgstr "Tamanho do Gizmo Manipulador" @@ -1505,6 +2171,9 @@ msgstr "Opacidade do Gizmo Manipulador" msgid "Show Viewport Rotation Gizmo" msgstr "Exibir Gizmo de Rotação do Viewport" +msgid "Show Viewport Navigation Gizmo" +msgstr "Exibir Gizmo de Navegação do Viewport" + msgid "External" msgstr "Externo" @@ -1535,6 +2204,21 @@ msgstr "Sinalizadores de Execução" msgid "Skeleton" msgstr "Esqueleto" +msgid "Selected Bone" +msgstr "Osso selecionado" + +msgid "Gizmo Settings" +msgstr "Configurações do Gizmo" + +msgid "Bone Axis Length" +msgstr "Comprimento do Eixo do Osso" + +msgid "Bone Shape" +msgstr "Forma do Osso" + +msgid "Shader Language" +msgstr "Linguagem Shader" + msgid "Warnings" msgstr "Avisos" @@ -1544,23 +2228,68 @@ msgstr "ID" msgid "Texture" msgstr "Textura" +msgid "Margins" +msgstr "Margens" + msgid "Separation" msgstr "Separação" +msgid "Texture Region Size" +msgstr "Tamanho da Região da Textura" + +msgid "Use Texture Padding" +msgstr "Usar distanciamento da textura" + +msgid "Atlas Coords" +msgstr "Coordenadas de Atlas" + +msgid "Size in Atlas" +msgstr "Tamanho no Atlas" + +msgid "Alternative ID" +msgstr "ID Alternativo" + msgid "Speed" msgstr "Velocidade" +msgid "Frames Count" +msgstr "Contagem de Frames" + +msgid "Duration" +msgstr "Duração" + msgid "Version Control" msgstr "Controle de Versão" +msgid "Plugin Name" +msgstr "Nome do Plugin" + msgid "Username" -msgstr "Nome do usuário" +msgstr "Nome do Usuário" msgid "SSH Public Key Path" -msgstr "Caminho da chave pública SSH" +msgstr "Caminho da Chave Pública SSH" msgid "SSH Private Key Path" -msgstr "Caminho da chave privada SSH" +msgstr "Caminho da Chave Privada SSH" + +msgid "Main Run Args" +msgstr "Argumentos de Execução Principais" + +msgid "Templates Search Path" +msgstr "Caminho de Pesquisa de Templates" + +msgid "Naming" +msgstr "Nomear" + +msgid "Default Signal Callback Name" +msgstr "Nome padrão de sinal de Callback" + +msgid "Default Signal Callback to Self Name" +msgstr "Padrão de \"Self Name\" do Callback" + +msgid "Scene Name Casing" +msgstr "Caixa do Nome da Cena" msgid "Show Scene Tree Root Selection" msgstr "Mostrar seleção da hierarquia de cenas" @@ -1568,6 +2297,15 @@ msgstr "Mostrar seleção da hierarquia de cenas" msgid "Use Favorites Root Selection" msgstr "Seleção de favoritos da raíz" +msgid "Max Chars per Second" +msgstr "Máximo de Caracteres por Segundo" + +msgid "Max Errors per Second" +msgstr "Máximo de Erros por Segundo" + +msgid "Max Warnings per Second" +msgstr "Máximo de Advertências por Segundo" + msgid "File Logging" msgstr "Registrando Log de Arquivos" @@ -1577,9 +2315,24 @@ msgstr "Habilitar Log de Arquivos" msgid "Log Path" msgstr "Caminho de Log" +msgid "Max Log Files" +msgstr "Máximo Arquivos de Log" + msgid "Driver" msgstr "Driver" +msgid "GL Compatibility" +msgstr "Compatibilidade GL" + +msgid "Renderer" +msgstr "Renderizador" + +msgid "Rendering Method" +msgstr "Método de Renderização" + +msgid "Include Text Server Data" +msgstr "Incluir dados de Servidor de Texto" + msgid "DPI" msgstr "DPI" @@ -1607,6 +2360,9 @@ msgstr "Orientação" msgid "V-Sync" msgstr "Sincronização Vertical (V-Sync)" +msgid "V-Sync Mode" +msgstr "Modo V-Sync" + msgid "Common" msgstr "Comum" @@ -1616,21 +2372,51 @@ msgstr "stdout" msgid "Print FPS" msgstr "Mostrar FPS" +msgid "Print GPU Profile" +msgstr "Perfil Atual da GPU" + msgid "Verbose stdout" msgstr "stdout Verboso" +msgid "Frame Delay Msec" +msgstr "Intervalo de Frames (ms)" + msgid "Low Processor Mode" msgstr "Modo Processamento Baixo" msgid "iOS" msgstr "iOS" +msgid "Allow High Refresh Rate" +msgstr "Permitir Alta Taxa de Refresh" + msgid "Hide Home Indicator" msgstr "Esconder Indicador de Home" +msgid "Hide Status Bar" +msgstr "Esconder Barra de Status" + +msgid "Suppress UI Gesture" +msgstr "Suprimir Interface de Usuário para Gestures" + msgid "XR" msgstr "XR" +msgid "OpenXR" +msgstr "Tecnologia OpenXR" + +msgid "Default Action Map" +msgstr "Mapa de Ações Padrão" + +msgid "Form Factor" +msgstr "Fator de Formulário" + +msgid "View Configuration" +msgstr "Configuração de Vista" + +msgid "Submit Depth Buffer" +msgstr "Enviar Buffer de Profundidade" + msgid "Boot Splash" msgstr "Imagem de Exibição ao Iniciar" @@ -1640,6 +2426,9 @@ msgstr "Cor do Plano de Fundo" msgid "Input Devices" msgstr "Dispositivos de Entrada" +msgid "Pen Tablet" +msgstr "Tablet de Caneta Gráfica" + msgid "Environment" msgstr "Ambiente" @@ -1661,6 +2450,12 @@ msgstr "Usar Filtro" msgid "Icon" msgstr "Ícone" +msgid "macOS Native Icon" +msgstr "Ícone Nativo macOS" + +msgid "Windows Native Icon" +msgstr "Ícone Nativo Windows" + msgid "Buffering" msgstr "Buffering" @@ -1676,15 +2471,27 @@ msgstr "Simular Toque à Partir do Mouse" msgid "Emulate Mouse From Touch" msgstr "Simular Mouse à Partir do Touch" +msgid "Text Driver" +msgstr "Driver de Texto" + msgid "Mouse Cursor" msgstr "Cursor do Mouse" +msgid "Custom Image" +msgstr "Imagem customizada" + msgid "Custom Image Hotspot" msgstr "Imagem Personalizada de Hotspot" msgid "Tooltip Position Offset" msgstr "Deslocamento de Posição da Dica de Ferramenta" +msgid "Minimum Display Time" +msgstr "Tempo mínimo de exibição" + +msgid "Dotnet" +msgstr ".NET" + msgid "Project" msgstr "Projeto" @@ -1697,6 +2504,12 @@ msgstr "Diretório da Solução" msgid "Main Loop Type" msgstr "Tipo de Loop Principal" +msgid "Subwindows" +msgstr "Subjanelas" + +msgid "Embed Subwindows" +msgstr "Subjanelas embutidas" + msgid "Stretch" msgstr "Esticar" @@ -1718,6 +2531,15 @@ msgstr "Utilizar Oversampling" msgid "Textures" msgstr "Texturas" +msgid "Canvas Textures" +msgstr "Texturas de Canvas" + +msgid "Default Texture Filter" +msgstr "Filtro de Textura Padrão" + +msgid "Default Texture Repeat" +msgstr "Padrão de repetição de textura" + msgid "Operation" msgstr "Operação" @@ -1739,6 +2561,12 @@ msgstr "Camada de Colisão" msgid "Collision Mask" msgstr "Máscara de Colisão" +msgid "Collision Priority" +msgstr "Prioridade de Colisão" + +msgid "Flip Faces" +msgstr "Inverter Faces" + msgid "Mesh" msgstr "Malha" @@ -1817,9 +2645,21 @@ msgstr "GDScript" msgid "Function Definition Color" msgstr "Cor de Definição de Função" +msgid "Global Function Color" +msgstr "Cor de Função Global" + msgid "Node Path Color" msgstr "Cor do Caminho do Nó" +msgid "Node Reference Color" +msgstr "Cor de referência do nó" + +msgid "Annotation Color" +msgstr "Cor de Anotação" + +msgid "Max Call Stack" +msgstr "Máximo Empilhamento de Chamadas" + msgid "Exclude Addons" msgstr "Excluir Addons" @@ -1832,12 +2672,21 @@ msgstr "Habilitar Resolução Inteligente" msgid "Use Thread" msgstr "Utilize Thread" +msgid "glTF" +msgstr "'glTF'" + +msgid "Embedded Image Handling" +msgstr "Manuseio de imagens embutido" + msgid "Color" msgstr "Cor" msgid "Intensity" msgstr "Intensidade" +msgid "Light Type" +msgstr "Tipo de Luz" + msgid "Range" msgstr "Intervalo" @@ -1892,9 +2741,15 @@ msgstr "Materiais" msgid "Scene Name" msgstr "Nome da Cena" +msgid "Base Path" +msgstr "Caminho Base" + msgid "Root Nodes" msgstr "Nós Raízes" +msgid "Texture Samplers" +msgstr "Amostras de Textura" + msgid "Images" msgstr "Imagens" @@ -1913,12 +2768,33 @@ msgstr "Nomes de Animação Únicos" msgid "Skeletons" msgstr "Esqueletos" +msgid "Create Animations" +msgstr "Criar Animações" + msgid "Animations" msgstr "Animações" +msgid "Handle Binary Image" +msgstr "Manusear Imagem Binária" + +msgid "Blender" +msgstr "'Blender'" + +msgid "RPC Port" +msgstr "Porta RPC" + +msgid "RPC Server Uptime" +msgstr "Servidor RPC Uptime" + +msgid "Blender 3 Path" +msgstr "Caminho para o Blender 3" + msgid "FBX" msgstr "FBX" +msgid "FBX2glTF Path" +msgstr "Caminho para FBX2glTF" + msgid "Buffer View" msgstr "Visão de Buffer" @@ -1979,6 +2855,12 @@ msgstr "Perspectiva" msgid "FOV" msgstr "FOV" +msgid "Depth Far" +msgstr "Profundidade Distante" + +msgid "Depth Near" +msgstr "Profundidade Perto" + msgid "Blend Weights" msgstr "Peso da mesclagem" @@ -2027,6 +2909,12 @@ msgstr "Imagem fonte" msgid "Sampler" msgstr "Amostrador" +msgid "Wrap S" +msgstr "Envoltório S" + +msgid "Wrap T" +msgstr "Envoltório T" + msgid "Palette Min Width" msgstr "Largura Mínima de Paleta" @@ -2072,6 +2960,9 @@ msgstr "Navegação Pré-Processada" msgid "Lightmapping" msgstr "Mapeamento de luz" +msgid "Bake Quality" +msgstr "Qualidade Bake" + msgid "Low Quality Ray Count" msgstr "Quantidade de Raios de Baixa Qualidade" @@ -2084,12 +2975,54 @@ msgstr "Quantidade de Raios de Qualidade Alta" msgid "Ultra Quality Ray Count" msgstr "Quantidade de Raios de Qualidade Ultra" +msgid "Bake Performance" +msgstr "Performance do Bake" + +msgid "Max Rays per Pass" +msgstr "Máximo de Raios por Passagem" + +msgid "Region Size" +msgstr "Tamanho da Região" + +msgid "Low Quality Probe Ray Count" +msgstr "Sonda Contadora de Raios de Baixa Qualidade" + +msgid "Medium Quality Probe Ray Count" +msgstr "Sonda Contadora de Raios de Qualidade Média" + +msgid "High Quality Probe Ray Count" +msgstr "Sonda Contadora de Raios de Qualidade Alta" + +msgid "Ultra Quality Probe Ray Count" +msgstr "Sonda Contadora de Raios de Qualidade Ultra" + +msgid "Max Rays per Probe Pass" +msgstr "Máximo de Raios por Passagem pela Sonda" + +msgid "Primitive Meshes" +msgstr "Malhas Primitivas" + +msgid "Texel Size" +msgstr "Tamanho de Texel" + +msgid "BPM" +msgstr "'BPM'" + +msgid "Beat Count" +msgstr "Contador de Batidas" + +msgid "Bar Beats" +msgstr "Barra de beats" + msgid "Loop Offset" msgstr "Deslocamento do Loop" msgid "Eye Height" msgstr "Altura do Olho" +msgid "IOD" +msgstr "'IOD'" + msgid "Display Width" msgstr "Largura de Tela" @@ -2102,6 +3035,33 @@ msgstr "K1" msgid "K2" msgstr "K2" +msgid "Spawnable Scenes" +msgstr "Geração de Cenas" + +msgid "Spawn Path" +msgstr "Caminho Salvamento Spawn" + +msgid "Spawn Limit" +msgstr "Limites de Geração" + +msgid "Root Path" +msgstr "Caminho Raíz" + +msgid "Replication Interval" +msgstr "Intervalo de Replicação" + +msgid "Visibility Update Mode" +msgstr "Modo de Atualização de Visibilidade" + +msgid "Public Visibility" +msgstr "Visibilidade Pública" + +msgid "Auth Callback" +msgstr "Auth do Callback" + +msgid "Auth Timeout" +msgstr "Tempo Limite de Espera Auth" + msgid "Allow Object Decoding" msgstr "Permitir a Decodificação de Objetos" @@ -2111,6 +3071,15 @@ msgstr "Recusar Novas Conexões" msgid "Server Relay" msgstr "Retransmissor de Servidor" +msgid "Noise Type" +msgstr "Tipo de Ruído" + +msgid "Frequency" +msgstr "Frequência" + +msgid "Fractal" +msgstr "'Fractal'" + msgid "Octaves" msgstr "Oitavas" @@ -2120,27 +3089,90 @@ msgstr "Lacunaridade" msgid "Gain" msgstr "Ganho" +msgid "Ping Pong Strength" +msgstr "Força Ping-Pong" + +msgid "Cellular" +msgstr "Celular" + +msgid "Distance Function" +msgstr "Função de Distância" + +msgid "Jitter" +msgstr "Nervosidade (Jitter)" + msgid "Return Type" msgstr "Tipo de Retorno" +msgid "Domain Warp" +msgstr "Aberração Dominante" + +msgid "Amplitude" +msgstr "Amplitude" + +msgid "Fractal Type" +msgstr "Tipo Fractal" + +msgid "Fractal Octaves" +msgstr "Oitavas Fractais" + +msgid "Fractal Lacunarity" +msgstr "Lacunaridade Fractal" + +msgid "Fractal Gain" +msgstr "Ganho Fractal" + msgid "Width" msgstr "Largura" msgid "Invert" msgstr "Inverter" +msgid "In 3D Space" +msgstr "No espaço 3D" + msgid "Seamless" msgstr "Sem Emenda" +msgid "Seamless Blend Skirt" +msgstr "Mistura da mesclagem" + msgid "As Normal Map" msgstr "Como Mapa Normal" msgid "Bump Strength" msgstr "Força do Bump" +msgid "Color Ramp" +msgstr "Rampa de Cores" + msgid "Noise" msgstr "Ruído" +msgid "Localized Name" +msgstr "Nome Localizado" + +msgid "Action Type" +msgstr "Tipo de Ação" + +msgid "Toplevel Paths" +msgstr "Caminhos Toplevel" + +msgid "Paths" +msgstr "Caminhos" + +msgid "Interaction Profile Path" +msgstr "Caminho do Perfil de Interação" + +msgid "Display Refresh Rate" +msgstr "Mostrar Taxa de Atualização" + +msgid "Motion Range" +msgstr "Escala de Movimentação" + +msgid "Hand Skeleton" +msgstr "Esqueleto da Mão" + msgid "Subject" msgstr "Sujeito" @@ -2171,6 +3203,9 @@ msgstr "URL de Controle IGD" msgid "IGD Service Type" msgstr "Tipo de Serviço IGD" +msgid "IGD Our Addr" +msgstr "IGD (nosso endereço)" + msgid "IGD Status" msgstr "Estado do IGD" @@ -2180,6 +3215,15 @@ msgstr "Modo de Escrita" msgid "WebRTC" msgstr "WebRTC" +msgid "Max Channel in Buffer (KB)" +msgstr "Máximo de Canais no Buffer (KB)" + +msgid "Supported Protocols" +msgstr "Protocolos Suportados" + +msgid "Handshake Headers" +msgstr "Cabeçalhos de Handshake" + msgid "Handshake Timeout" msgstr "Tempo de Handshake Esgotado" @@ -2231,6 +3275,12 @@ msgstr "Primeiro Plano Adaptável 432 X 432" msgid "Adaptive Background 432 X 432" msgstr "Fundo Adaptável 432 X 432" +msgid "Gradle Build" +msgstr "'Gradle'" + +msgid "Use Gradle Build" +msgstr "Usar Build Gradle Personalizada" + msgid "Export Format" msgstr "Exportar Formato" @@ -2345,9 +3395,42 @@ msgstr "Permissões Personalizadas" msgid "Icons" msgstr "Ícones" +msgid "iPhone 120 X 120" +msgstr "'iPhone 120 X 120'" + +msgid "iPhone 180 X 180" +msgstr "'iPhone 180 X 180'" + +msgid "iPad 76 X 76" +msgstr "'iPad 76 X 76'" + +msgid "iPad 152 X 152" +msgstr "'iPad 152 X 152'" + +msgid "iPad 167 X 167" +msgstr "'iPad 167 X 167'" + msgid "App Store 1024 X 1024" msgstr "Apple Store 1024 X 1024" +msgid "Spotlight 40 X 40" +msgstr "'Spotlight 40 X 40'" + +msgid "Spotlight 80 X 80" +msgstr "'Spotlight 80 X 80'" + +msgid "Settings 58 X 58" +msgstr "Configurações 58 X 58" + +msgid "Settings 87 X 87" +msgstr "Configurações 87 X 87" + +msgid "Notification 40 X 40" +msgstr "Notificações 40 X 40" + +msgid "Notification 60 X 60" +msgstr "Notificações 60 X 60" + msgid "Landscape Launch Screens" msgstr "Telas de Inicialização de Paisagem" @@ -2381,15 +3464,48 @@ msgstr "iPhone 1125 X 2436" msgid "iPad 768 X 1024" msgstr "iPad 768 X 1024" +msgid "iPad 1536 X 2048" +msgstr "'iPad 1536 X 2048'" + +msgid "iPhone 1242 X 2208" +msgstr "'iPhone 1242 X 2208'" + +msgid "App Store Team ID" +msgstr "ID da 'App Store Team'" + +msgid "Provisioning Profile UUID Debug" +msgstr "Perfil Provisório UUID de Depuração" + +msgid "Code Sign Identity Debug" +msgstr "Identidade de Assinatura de Código para Depuração" + +msgid "Provisioning Profile UUID Release" +msgstr "UUID de depuração para perfil provisório" + +msgid "Code Sign Identity Release" +msgstr "Identidade de Assinatura de Código para Release" + msgid "Export Method Release" msgstr "Modo de Exportação Lançamento" +msgid "Targeted Device Family" +msgstr "Família de Equipamentos Alvo" + +msgid "Bundle Identifier" +msgstr "Identificador de empacotamento" + msgid "Signature" msgstr "Assinatura" msgid "Short Version" msgstr "Versão Curta" +msgid "Icon Interpolation" +msgstr "Interpolação de Ícone" + +msgid "Launch Screens Interpolation" +msgstr "Interpolação da Tela Launch" + msgid "Capabilities" msgstr "Capacidades" @@ -2402,6 +3518,12 @@ msgstr "Notificações Push" msgid "User Data" msgstr "Dados do Usuário" +msgid "Accessible From Files App" +msgstr "Acesso da 'Files App'" + +msgid "Accessible From iTunes Sharing" +msgstr "Acesso da 'iTunes Sharing'" + msgid "Privacy" msgstr "Privacidade" @@ -2411,9 +3533,27 @@ msgstr "Descrição do Uso da Câmera" msgid "Microphone Usage Description" msgstr "Descrição do Uso do Microfone" +msgid "Photolibrary Usage Description" +msgstr "Descrições da Biblioteca de Fotos" + +msgid "Photolibrary Usage Description Localized" +msgstr "Descrição Localizada do Uso da Biblioteca de Fotos" + +msgid "Storyboard" +msgstr "'Storyboard'" + +msgid "Use Launch Screen Storyboard" +msgstr "Usar 'Storybord' da tela de lançamento" + msgid "Image Scale Mode" msgstr "Modo de Escalonamento de Imagem" +msgid "Custom Image @2x" +msgstr "Imagem Customizada @2x" + +msgid "Custom Image @3x" +msgstr "Imagem Customizada @3x" + msgid "Use Custom BG Color" msgstr "Usar Cor Personalizada de Fundo" @@ -2423,24 +3563,60 @@ msgstr "Cor Personalizada de Fundo" msgid "Architecture" msgstr "Arquitetura" +msgid "SSH Remote Deploy" +msgstr "Deploy remoto SSH" + +msgid "Extra Args SSH" +msgstr "SSH Argumentos Extra" + +msgid "Extra Args SCP" +msgstr "SCP Argumentos Extra" + +msgid "Run Script" +msgstr "Rodar script" + +msgid "Cleanup Script" +msgstr "Limpar Script" + msgid "macOS" msgstr "macOS" +msgid "rcodesign" +msgstr "'rcodesign'" + msgid "Copyright" msgstr "Direitos Autorais" +msgid "Copyright Localized" +msgstr "Copyright Localizado" + msgid "High Res" msgstr "Alta Resolução" +msgid "Codesign" +msgstr "'Codesign'" + msgid "Identity" msgstr "Identidade" +msgid "Certificate Password" +msgstr "Senha Certificado" + +msgid "Entitlements" +msgstr "Direitos" + msgid "Custom File" msgstr "Arquivo Personalizado" msgid "Allow JIT Code Execution" msgstr "Permitir Execução de Código JIT" +msgid "Allow Unsigned Executable Memory" +msgstr "Permitir Memória de Execução não Sinalizada" + +msgid "Allow Dyld Environment Variables" +msgstr "Permitir Variáveis de Ambiente DyId" + msgid "Disable Library Validation" msgstr "Desativar Validação da Biblioteca" @@ -2465,6 +3641,9 @@ msgstr "Eventos Apple" msgid "Debugging" msgstr "Depuração" +msgid "App Sandbox" +msgstr "'App Sandbox'" + msgid "Network Server" msgstr "Servidor de Rede" @@ -2480,15 +3659,42 @@ msgstr "Bluetooth do Dispositivo" msgid "Files Downloads" msgstr "Download de Arquivos" +msgid "Files Pictures" +msgstr "Arquivos Imagem" + +msgid "Files Music" +msgstr "Arquivos Música" + +msgid "Files Movies" +msgstr "Arquivos Filmes" + +msgid "Helper Executables" +msgstr "Executáveis de Ajuda" + msgid "Custom Options" msgstr "Opções Personalizadas" +msgid "Notarization" +msgstr "Autenticação Documental (Notarização)" + msgid "Apple ID Name" msgstr "Nome Apple ID" +msgid "Apple ID Password" +msgstr "Senha Apple ID" + msgid "Apple Team ID" msgstr "ID Apple Team" +msgid "API UUID" +msgstr "'API UUID'" + +msgid "API Key" +msgstr "Chave API" + +msgid "API Key ID" +msgstr "ID da API" + msgid "Location Usage Description" msgstr "Descrição do Uso da Localização" @@ -2510,9 +3716,27 @@ msgstr "Descrição do Uso da Pasta de Documentos" msgid "Downloads Folder Usage Description" msgstr "Descrição do Uso da Pasta de Downloads" +msgid "Network Volumes Usage Description" +msgstr "Descrição do Volume de Uso da Rede" + +msgid "Network Volumes Usage Description Localized" +msgstr "Descrição do Uso da Rede Localizada" + +msgid "Removable Volumes Usage Description" +msgstr "Descrição do Uso de Volumes Removíveis" + +msgid "Removable Volumes Usage Description Localized" +msgstr "Descrição localizada do uso de Volumes Removíveis" + msgid "UWP" msgstr "UWP" +msgid "signtool" +msgstr "Ferramenta de Assinatura (Signtool)" + +msgid "Debug Certificate" +msgstr "Certificado de Depuração" + msgid "Debug Algorithm" msgstr "Algoritmo de Depuração" @@ -2531,12 +3755,27 @@ msgstr "Nome de Exibição da Publicadora" msgid "Product GUID" msgstr "GUID do produto" +msgid "Publisher GUID" +msgstr "GUID do Publicador" + +msgid "Signing" +msgstr "Assinatura" + msgid "Certificate" msgstr "Certificado" msgid "Algorithm" msgstr "Algoritmo" +msgid "Major" +msgstr "Maior" + +msgid "Minor" +msgstr "Menor" + +msgid "Build" +msgstr "Construir" + msgid "Revision" msgstr "Revisão" @@ -2552,6 +3791,9 @@ msgstr "Paisagem Invertido" msgid "Portrait Flipped" msgstr "Retrato Invertido" +msgid "Store Logo" +msgstr "Logo da Loja" + msgid "Square 44 X 44 Logo" msgstr "Logo Quadrada 44 X 44" @@ -2564,12 +3806,18 @@ msgstr "Logo Quadrada 150 X 150" msgid "Square 310 X 310 Logo" msgstr "Logo Quadrada 310 X 310" +msgid "Wide 310 X 150 Logo" +msgstr "Logotipo largo 310 X 150" + msgid "Splash Screen" msgstr "Tela de Abertura" msgid "Tiles" msgstr "Tiles" +msgid "Show Name on Wide 310 X 150" +msgstr "Mostrar nome na largura 310 X 150" + msgid "Web" msgstr "Web" @@ -2582,6 +3830,9 @@ msgstr "Porta HTTP" msgid "Variant" msgstr "Variante" +msgid "Extensions Support" +msgstr "Suporte à Extensões" + msgid "VRAM Texture Compression" msgstr "Compressão de Texturas na VRAM" @@ -2597,6 +3848,12 @@ msgstr "HTML" msgid "Export Icon" msgstr "Exportar Ícone" +msgid "Head Include" +msgstr "Inclusão de Cabeçalho" + +msgid "Canvas Resize Policy" +msgstr "Política de redimensionamento de Canvas" + msgid "Experimental Virtual Keyboard" msgstr "Teclado Virtual Experimental" @@ -2618,15 +3875,30 @@ msgstr "Ícone 512 X 512" msgid "Windows" msgstr "Windows" +msgid "rcedit" +msgstr "'rcedit'" + +msgid "osslsigncode" +msgstr "'osslsigncode'" + +msgid "wine" +msgstr "'wine'" + msgid "Identity Type" msgstr "Tipo de Identidade" msgid "Timestamp" msgstr "Registro do Tempo" +msgid "Timestamp Server URL" +msgstr "URL do Servidor de Data e Hora" + msgid "Modify Resources" msgstr "Modificar Recursos" +msgid "Console Wrapper Icon" +msgstr "Ícone de Console" + msgid "File Version" msgstr "Versão do Arquivo" @@ -2654,6 +3926,12 @@ msgstr "Escalonamento da Velocidade" msgid "Centered" msgstr "Centralizado" +msgid "Flip H" +msgstr "Virar Horizontal" + +msgid "Flip V" +msgstr "Virar Vertical" + msgid "Monitoring" msgstr "Monitorando" @@ -2669,6 +3947,9 @@ msgstr "Ponto" msgid "Direction" msgstr "Direção" +msgid "Angular Damp" +msgstr "Amortecimento Angular" + msgid "Audio Bus" msgstr "Canal de Áudio" @@ -2696,12 +3977,18 @@ msgstr "Distância Máxima" msgid "Bus" msgstr "Canal" +msgid "Area Mask" +msgstr "Máscara de Área" + msgid "Copy Mode" msgstr "Mode de Cópia" msgid "Anchor Mode" msgstr "Modo de Âncora" +msgid "Ignore Rotation" +msgstr "Ignorar Rotação" + msgid "Left" msgstr "Esquerda" @@ -2717,6 +4004,9 @@ msgstr "Embaixo" msgid "Smoothed" msgstr "Suavizado" +msgid "Drag" +msgstr "Arrastar" + msgid "Horizontal Enabled" msgstr "Horizontal Habilitado" @@ -2744,6 +4034,9 @@ msgstr "Emitindo" msgid "Time" msgstr "Tempo" +msgid "Lifetime" +msgstr "Tempo de Duração" + msgid "One Shot" msgstr "Disparo Único" @@ -2756,9 +4049,15 @@ msgstr "Explosividade" msgid "Randomness" msgstr "Aleatoriedade" +msgid "Lifetime Randomness" +msgstr "Randomização de Tempo de Duração" + msgid "Fixed FPS" msgstr "FPS Fixado" +msgid "Fract Delta" +msgstr "Delta Fractal" + msgid "Drawing" msgstr "Desenhando" @@ -2810,12 +4109,24 @@ msgstr "Aceleração Radial" msgid "Tangential Accel" msgstr "Aceleração Tangencial" +msgid "Damping" +msgstr "Amortecimento" + msgid "Angle" msgstr "Ângulo" +msgid "Angle Min" +msgstr "Mínimo Ângulo" + +msgid "Angle Max" +msgstr "Ângulo Mínimo" + msgid "Angle Curve" msgstr "Curva do Ângulo" +msgid "Color Initial Ramp" +msgstr "Rampa Inicial de Cor" + msgid "Hue Variation" msgstr "Variação da Tonalidade" @@ -2825,24 +4136,51 @@ msgstr "Curva de Variação" msgid "Speed Curve" msgstr "Curva de Velocidade" +msgid "Process Material" +msgstr "Processo de Material" + +msgid "Section Subdivisions" +msgstr "Subdivisões de Secção" + msgid "Node A" msgstr "Nó A" msgid "Node B" msgstr "Nó B" +msgid "Bias" +msgstr "'Bias'" + msgid "Disable Collision" msgstr "Desativar Colisão" +msgid "Softness" +msgstr "Maciêz" + msgid "Length" msgstr "Comprimento" +msgid "Rest Length" +msgstr "Comprimento de Repouso" + +msgid "Stiffness" +msgstr "Rigidez" + msgid "Editor Only" msgstr "Somente Editor" msgid "Energy" msgstr "Energia" +msgid "Z Min" +msgstr "Z Mínimo" + +msgid "Z Max" +msgstr "Z Máximo" + +msgid "Item Cull Mask" +msgstr "Máscara de Descarte de Itens" + msgid "Shadow" msgstr "Sombra" @@ -2867,27 +4205,48 @@ msgstr "Gradiente" msgid "Texture Mode" msgstr "Modo de Textura" +msgid "Capping" +msgstr "Tampamento" + msgid "End Cap Mode" msgstr "Modo de Limite Final" msgid "Border" msgstr "Borda" +msgid "Sharp Limit" +msgstr "Limite de Agudo" + msgid "Round Precision" msgstr "Precisão do Arredondamento" +msgid "Multimesh" +msgstr "Malha Múltipla" + +msgid "Target Desired Distance" +msgstr "Distância Alvo Desejada" + msgid "Path Max Distance" msgstr "Distância Máxima do Caminho" msgid "Navigation Layers" msgstr "Camadas da Navegação" +msgid "Path Metadata Flags" +msgstr "Path de Flags de Metadata" + +msgid "Max Neighbors" +msgstr "Máximo de Vizinhos" + msgid "Max Speed" msgstr "Velocidade Máxima" msgid "Estimate Radius" msgstr "Raio Estimado" +msgid "Skew" +msgstr "Inclinação" + msgid "Scroll" msgstr "Rolagem" @@ -2915,6 +4274,15 @@ msgstr "Deslocamento V" msgid "Cubic Interp" msgstr "Interpolação Cúbica" +msgid "Lookahead" +msgstr "Olhar à Frente" + +msgid "Follow Bone When Simulating" +msgstr "Siga o osso ao simular" + +msgid "Physics Material Override" +msgstr "Substituição de Material de Física" + msgid "Constant Linear Velocity" msgstr "Velocidade Linear Constante" @@ -2933,12 +4301,18 @@ msgstr "Escala da Gravidade" msgid "Custom Integrator" msgstr "Integrador Customizado" +msgid "Max Contacts Reported" +msgstr "Máximo de contatos relatados" + msgid "Can Sleep" msgstr "Pode Dormir" msgid "Linear" msgstr "Linear" +msgid "Damp Mode" +msgstr "Modo Desanimado" + msgid "Damp" msgstr "Úmido" @@ -2948,12 +4322,24 @@ msgstr "Angular" msgid "Torque" msgstr "Torque" +msgid "Wall Min Slide Angle" +msgstr "Ângulo mínimo de deslizamento da parede" + +msgid "Floor" +msgstr "Chão" + +msgid "Stop on Slope" +msgstr "Parar na ladeira" + msgid "Max Angle" msgstr "Ângulo Máximo" msgid "Moving Platform" msgstr "Plataforma Móvel" +msgid "On Leave" +msgstr "Ao sair" + msgid "UV" msgstr "UV" @@ -2963,6 +4349,9 @@ msgstr "Polígonos" msgid "Exclude Parent" msgstr "Excluir Pai" +msgid "Hit From Inside" +msgstr "Atingido por dentro" + msgid "Collide With" msgstr "Colidir com" @@ -2984,9 +4373,18 @@ msgstr "Atualizar" msgid "Margin" msgstr "Margem" +msgid "Auto Calculate Length and Angle" +msgstr "Calcular comprimento e ângulo automaticamente" + msgid "Editor Settings" msgstr "Configurações do Editor" +msgid "Hframes" +msgstr "'Hframes'" + +msgid "Vframes" +msgstr "'Vframes'" + msgid "Region" msgstr "Região" @@ -3005,12 +4403,18 @@ msgstr "Forma Centralizada" msgid "Shape Visible" msgstr "Forma Visível" +msgid "Passby Press" +msgstr "Pressionado Passby" + msgid "Visibility Mode" msgstr "Modo de Visibilidade" msgid "Node Path" msgstr "Caminho do Nó" +msgid "Reverb Bus" +msgstr "Barramento de reverberação" + msgid "Unit Size" msgstr "Tamanho da Unidade" @@ -3026,6 +4430,9 @@ msgstr "Graus" msgid "Attenuation Filter" msgstr "Filtro de Atenuação" +msgid "Cutoff Hz" +msgstr "Frequência de Corte" + msgid "dB" msgstr "dB" @@ -3038,6 +4445,12 @@ msgstr "Nome do Osso" msgid "Keep Aspect" msgstr "Manter Aspecto" +msgid "Cull Mask" +msgstr "Máscara Cull" + +msgid "Attributes" +msgstr "Atributos" + msgid "Projection" msgstr "Projeção" @@ -3047,18 +4460,27 @@ msgstr "Deslocamento do Frustum" msgid "Far" msgstr "Longe" +msgid "Ray Pickable" +msgstr "Raio selecionável" + msgid "Rotate Y" msgstr "Rotacionar em Y" msgid "Disable Z" msgstr "Desativar Z" +msgid "Flatness" +msgstr "Planicidade" + msgid "Albedo" msgstr "Albedo" msgid "Normal" msgstr "Normal" +msgid "Orm" +msgstr "'Orm'" + msgid "Emission" msgstr "Emissão" @@ -3068,6 +4490,9 @@ msgstr "Parâmetros" msgid "Modulate" msgstr "Modular" +msgid "Distance Fade" +msgstr "Distância de Esmaecimento" + msgid "Visibility AABB" msgstr "Visibilidade AABB" @@ -3083,12 +4508,18 @@ msgstr "Espessura" msgid "Params" msgstr "Parâmetros" +msgid "Impulse Clamp" +msgstr "Braçadeira de Impulso" + msgid "Angular Limit" msgstr "Limite Angular" msgid "Relaxation" msgstr "Relaxamento" +msgid "Motor" +msgstr "'Motor'" + msgid "Max Impulse" msgstr "Impulso Máximo" @@ -3104,6 +4535,9 @@ msgstr "Distância mais Baixa" msgid "Angular Ortho" msgstr "Orto Angular" +msgid "Twist Span" +msgstr "Período de Torção" + msgid "X" msgstr "X" @@ -3128,9 +4562,21 @@ msgstr "Tamanho de Pixel" msgid "Flags" msgstr "Sinalizadores" +msgid "Billboard" +msgstr "'Billboard'" + +msgid "No Depth Test" +msgstr "Sem Teste de Profundidade" + msgid "Fixed Size" msgstr "Tamanho Fixo" +msgid "Alpha Cut" +msgstr "Corte Alfa" + +msgid "Alpha Scissor Threshold" +msgstr "Limiar Tesoura Alfa" + msgid "Text" msgstr "Texto" @@ -3146,15 +4592,36 @@ msgstr "Alinhamento Vertical" msgid "Uppercase" msgstr "Maiúscula" +msgid "BiDi" +msgstr "'BiDi'" + +msgid "Structured Text BiDi Override" +msgstr "Substituição texto Estruturado de BiDi" + +msgid "Structured Text BiDi Override Options" +msgstr "Opções de Substituição BiDi de Texto Estruturado" + +msgid "Temperature" +msgstr "Temperatura" + msgid "Indirect Energy" msgstr "Energia Indireta" +msgid "Volumetric Fog Energy" +msgstr "Energia de Névoa Volumétrica" + msgid "Negative" msgstr "Negativo" +msgid "Normal Bias" +msgstr "Bias Normal" + msgid "Opacity" msgstr "Opacidade" +msgid "Blur" +msgstr "Borrão" + msgid "Directional Shadow" msgstr "Sombra Direcional" @@ -3170,6 +4637,9 @@ msgstr "Dividir 3" msgid "Blend Splits" msgstr "Divisões de Mistura" +msgid "Omni" +msgstr "'Omini'" + msgid "Spot" msgstr "Ponto" @@ -3179,6 +4649,9 @@ msgstr "Atenuação Angular" msgid "Quality" msgstr "Qualidade" +msgid "Bounces" +msgstr "Quicares" + msgid "Interior" msgstr "Interior" @@ -3194,9 +4667,21 @@ msgstr "Cor Personalizada" msgid "Custom Energy" msgstr "Energia Personalizada" +msgid "Subdiv" +msgstr "Sub-Divisões" + +msgid "Agent Height Offset" +msgstr "Deslocamento da Altura do Agente" + msgid "Ignore Y" msgstr "Ignorar Y" +msgid "Quaternion" +msgstr "Quaternio" + +msgid "Basis" +msgstr "Base" + msgid "Visibility" msgstr "Visibilidade" @@ -3233,6 +4718,12 @@ msgstr "Limite Linear Habilitado" msgid "Linear Equilibrium Point" msgstr "Ponto de Equilíbrio Linear" +msgid "Angular Spring Stiffness" +msgstr "Rigidez Angular da Mola" + +msgid "Angular Spring Damping" +msgstr "Amortecimento angular da mola" + msgid "Angular Equilibrium Point" msgstr "Ponto de Equilíbrio Angular" @@ -3242,6 +4733,9 @@ msgstr "Deslocamento do Corpo" msgid "Friction" msgstr "Fricção" +msgid "Bounce" +msgstr "Quicar" + msgid "Origin Offset" msgstr "Deslocamento da Origem" @@ -3255,29 +4749,59 @@ msgid "Interpolation" msgstr "Interpolação" msgid "Target" -msgstr "Destino" +msgstr "Alvo" + +msgid "Use Magnet" +msgstr "Usar Imã" + +msgid "Magnet" +msgstr "Imã" msgid "Min Distance" msgstr "Distância Mínima" +msgid "Spatial Attachment Path" +msgstr "Caminho do Anexo Espacial" + msgid "Simulation Precision" msgstr "Precisão de Simulação" msgid "Total Mass" msgstr "Massa Total" +msgid "Linear Stiffness" +msgstr "Rigidez Linear" + msgid "Pressure Coefficient" msgstr "Coeficiente de Pressão" +msgid "Damping Coefficient" +msgstr "Coeficiente de Amortecimento" + +msgid "Drag Coefficient" +msgstr "Coeficiente de arrasto" + +msgid "Spring Length" +msgstr "Comprimento da Mola" + msgid "Engine Force" msgstr "Força do Motor" msgid "Brake" msgstr "Freio" +msgid "Steering" +msgstr "Volante" + +msgid "VehicleBody3D Motion" +msgstr "Movimento de VehicleBody3D" + msgid "Wheel" msgstr "Roda" +msgid "Roll Influence" +msgstr "Influência do Rolamento" + msgid "Suspension" msgstr "Suspensão" @@ -3299,15 +4823,30 @@ msgstr "Margem de Descarte Extra" msgid "Custom AABB" msgstr "AABB Personalizado" +msgid "LOD Bias" +msgstr "Bias do LOD" + +msgid "Lightmap Scale" +msgstr "Escala do Mapa de Iluminação" + msgid "End" msgstr "Fim" msgid "Dynamic Range" msgstr "Alcance Dinâmico" +msgid "Use Two Bounces" +msgstr "Usar dois saltos" + +msgid "Pose" +msgstr "Postura" + msgid "World Scale" msgstr "Escala do Mundo" +msgid "Play Mode" +msgstr "Modo de Reprodução" + msgid "Sync" msgstr "Sincronizar" @@ -3324,7 +4863,7 @@ msgid "Autorestart" msgstr "Reinício Automático" msgid "Delay" -msgstr "Atraso" +msgstr "Delay" msgid "Random Delay" msgstr "Atraso Aleatório" @@ -3332,11 +4871,20 @@ msgstr "Atraso Aleatório" msgid "Xfade Time" msgstr "Tempo do Esmaecer Cruzado" +msgid "Allow Transition to Self" +msgstr "Permitir Transição para Auto" + +msgid "Request" +msgstr "Solicitar" + msgid "Active" msgstr "Ativo" +msgid "Seek Request" +msgstr "Solicitar Busca" + msgid "Reset" -msgstr "Recompor" +msgstr "Redefinir" msgid "Switch" msgstr "Switch" @@ -3353,21 +4901,51 @@ msgstr "Nó Raiz" msgid "Playback Options" msgstr "Opções de Playback" +msgid "Method Call Mode" +msgstr "Modo de Chamada de Método" + +msgid "Movie Quit on Finish" +msgstr "Fecha o Filme ao Terminar" + msgid "Tree Root" msgstr "Nó Raiz" +msgid "Root Motion" +msgstr "Movimento Raiz" + msgid "Alignment" msgstr "Alinhamento" +msgid "Keep Pressed Outside" +msgstr "Manter pressionado externamente" + msgid "Button Group" msgstr "Grupo de Botões" +msgid "Text Overrun Behavior" +msgstr "Comportamento de saturação de texto" + +msgid "Symbol Lookup on Click" +msgstr "Pesquisa de símbolo ao clicar" + +msgid "Indentation" +msgstr "Recuo" + +msgid "Pairs" +msgstr "Pares" + +msgid "Can Add Swatches" +msgstr "Pode adicionar amostras" + msgid "Pivot Offset" msgstr "Deslocamento do Pivô" msgid "Localization" msgstr "Localização" +msgid "Localize Numeral System" +msgstr "Localizar Sistema Numérico" + msgid "Focus" msgstr "Foco" @@ -3380,9 +4958,15 @@ msgstr "Anterior" msgid "Mouse" msgstr "Mouse" +msgid "Force Pass Scroll Events" +msgstr "Forçar passagem de eventos de rolagem" + msgid "Default Cursor Shape" msgstr "Forma do Cursor Padrão" +msgid "Root Subfolder" +msgstr "Subpasta Raiz" + msgid "Scroll Offset" msgstr "Deslocamento da Rolagem" @@ -3392,24 +4976,54 @@ msgstr "Distância de Encaixe" msgid "Use Snap" msgstr "Use Encaixar" +msgid "Arrange Nodes Button Hidden" +msgstr "Ocultar Botão Organizar Nós" + msgid "Title" msgstr "Título" +msgid "Overlay" +msgstr "Sobrepor" + msgid "Select Mode" msgstr "Modo de Seleção" +msgid "Max Text Lines" +msgstr "Max. Linhas de Texto" + msgid "Items" msgstr "Itens" +msgid "Max Columns" +msgstr "Max. Colunas" + +msgid "Same Column Width" +msgstr "Mesma Largura de Coluna" + +msgid "Fixed Column Width" +msgstr "Largura de Coluna Fixa" + msgid "Icon Mode" msgstr "Modo Ícone" msgid "Icon Scale" msgstr "Escala de Ícone" +msgid "Lines Skipped" +msgstr "Linhas ignoradas" + +msgid "Max Lines Visible" +msgstr "Max. Linhas Visíveis" + msgid "Visible Characters" msgstr "Caracteres Visiveis" +msgid "Max Length" +msgstr "Máx. Comprimento" + +msgid "Secret" +msgstr "Secreto" + msgid "Secret Character" msgstr "Caracteres Secretos" @@ -3419,6 +5033,18 @@ msgstr "Piscar" msgid "Underline" msgstr "Sublinhado" +msgid "Prefer Global Menu" +msgstr "Prefer. Menu Global" + +msgid "Axis Stretch" +msgstr "Alongamento do Eixo" + +msgid "Fit to Longest Item" +msgstr "Ajustar ao maior item" + +msgid "Submenu Popup Delay" +msgstr "Demora para mostrar Submenu" + msgid "Fill Mode" msgstr "Modo de Preenchimento" @@ -3428,30 +5054,99 @@ msgstr "Passo" msgid "Page" msgstr "Página" +msgid "Allow Greater" +msgstr "Permitir Maior" + +msgid "Allow Lesser" +msgstr "Permitir Menor" + msgid "Elapsed Time" msgstr "Tempo Decorrido" +msgid "Scroll Active" +msgstr "Rolagem Ativa" + +msgid "Scroll Following" +msgstr "Rolar Seguindo" + msgid "Tab Size" msgstr "Tamanho da Tabulação" +msgid "Markup" +msgstr "Marcação" + +msgid "Meta Underlined" +msgstr "Meta Sublinhado" + +msgid "Progress Bar Delay" +msgstr "Atraso da Barra de Progresso" + +msgid "Default Scroll Deadzone" +msgstr "Padrão: Rolagem por Zona-Morta" + +msgid "Scrollable" +msgstr "Rolagem" + msgid "Split Offset" msgstr "Deslocamento de Divisão" msgid "Current Tab" msgstr "Aba Atual" +msgid "Tab Close Display Policy" +msgstr "Regras de Fechar Visualização de Tab" + +msgid "Scrolling Enabled" +msgstr "Rolagem Habilitada" + +msgid "Use Hidden Tabs for Min Size" +msgstr "Usar Esconder Tabs para Tamanho Mínimo" + +msgid "Wrap Mode" +msgstr "Modo Enrolar" + msgid "Syntax Highlighter" -msgstr "Realce de sintaxe" +msgstr "Realçar Sintaxe" msgid "Draw" msgstr "Desenhar" +msgid "Move on Right Click" +msgstr "Mover com Botão Direito" + +msgid "Text Edit Idle Detect (sec)" +msgstr "Detecção de ociosidade de edição de texto (seg)" + +msgid "Text Edit Undo Stack Max Size" +msgstr "Tamanho Máximo da Pilha de Desfazer na Edição de Texto" + +msgid "Hover" +msgstr "Flutuar" + +msgid "Under" +msgstr "Abaixo" + +msgid "Progress Offset" +msgstr "Desvio de Progresso" + +msgid "Tint" +msgstr "Matiz" + +msgid "Radial Fill" +msgstr "Preenchimento Radial" + msgid "Fill Degrees" msgstr "Graus de Preenchimento" +msgid "Custom Minimum Height" +msgstr "Altura Mínima Personalizada" + msgid "Hide Root" msgstr "Esconder Raiz" +msgid "Drop Mode Flags" +msgstr "Sinalizadores de Modo Drop" + msgid "Paused" msgstr "Pausado" @@ -3476,6 +5171,15 @@ msgstr "Repetir" msgid "Use Parent Material" msgstr "Usar Material do Pai" +msgid "NormalMap" +msgstr "'NormalMap'" + +msgid "Body Size Limit" +msgstr "Limite de Medidas de Corpo" + +msgid "Max Redirects" +msgstr "Máx. Redirecionamentos" + msgid "Timeout" msgstr "Tempo esgotado" @@ -3485,6 +5189,15 @@ msgstr "Modo de Transferência" msgid "Transfer Channel" msgstr "Transferir Canal" +msgid "Node Name Num Separator" +msgstr "Separador Num. de Nome de Nó" + +msgid "Node Name Casing" +msgstr "Nome do Nós (Maiúsculas/Minúsculas)" + +msgid "Multiplayer Poll" +msgstr "Registrador Multiplayer" + msgid "Shapes" msgstr "Formas" @@ -3497,9 +5210,30 @@ msgstr "Cor da Geometria" msgid "Anti Aliasing" msgstr "Anti Serrilhamento" +msgid "MSAA 2D" +msgstr "'MSAA 2D'" + +msgid "MSAA 3D" +msgstr "'MSAA 3D'" + +msgid "Use Debanding" +msgstr "Usar Debanding" + +msgid "LOD Change" +msgstr "LOD (Nível de Detalhe)" + +msgid "VRS" +msgstr "VRS" + +msgid "Lights and Shadows" +msgstr "Luzes e Sombras" + msgid "Atlas Size" msgstr "Tamanho do Atlas" +msgid "SDF" +msgstr "SDF" + msgid "Wait Time" msgstr "Tempo de Espera" @@ -3509,15 +5243,42 @@ msgstr "Início Automático" msgid "Transparent BG" msgstr "Fundo Transparente" +msgid "Scaling 3D" +msgstr "Escala 3D" + +msgid "FSR Sharpness" +msgstr "Nitidez FSR" + +msgid "Variable Rate Shading" +msgstr "Taxa variável de Shading" + msgid "Audio Listener" msgstr "Ouvinte de Áudio" +msgid "Quad 0" +msgstr "'Quad 0'" + +msgid "Quad 1" +msgstr "'Quad 1'" + +msgid "Quad 2" +msgstr "'Quad 2'" + +msgid "Quad 3" +msgstr "'Quad 3'" + +msgid "Canvas Cull Mask" +msgstr "Máscara de tela" + msgid "Render Target" msgstr "Alvo do Renderizador" msgid "Current Screen" msgstr "Tela Atual" +msgid "Unfocusable" +msgstr "Infocalizável" + msgid "Min Size" msgstr "Tamanho Mínimo" @@ -3536,12 +5297,27 @@ msgstr "Formato" msgid "Stereo" msgstr "Stereo" +msgid "Auto Exposure" +msgstr "Auto Exposição" + +msgid "DOF Blur" +msgstr "Embaçamento DOF" + msgid "Particles Animation" msgstr "Animação de Partículas" +msgid "Particles Anim H Frames" +msgstr "Quadros Horizontais de Anim. de Partículas" + +msgid "Particles Anim V Frames" +msgstr "Quadros Verticais de Animação de Pratículas" + msgid "Segments" msgstr "Segmentos" +msgid "Bake Interval" +msgstr "Intervalo de Bake" + msgid "Panel" msgstr "Painel" @@ -3551,6 +5327,12 @@ msgstr "Separação Horizontal" msgid "Arrow" msgstr "Seta" +msgid "Radio Unchecked" +msgstr "Radio não selecionado" + +msgid "Radio Unchecked Disabled" +msgstr "Radio não checado desabilitado" + msgid "Shadow Offset X" msgstr "Deslocamento da Sombra em X" @@ -3566,6 +5348,36 @@ msgstr "Plano de Fundo" msgid "Folded" msgstr "Dobrado" +msgid "Folded EOL Icon" +msgstr "Ícone EOL dobrado" + +msgid "Grabber" +msgstr "Agarrador" + +msgid "Increment Pressed" +msgstr "Incremento Pressionado" + +msgid "Decrement" +msgstr "Decremento" + +msgid "Decrement Pressed" +msgstr "Decremento Pressionado" + +msgid "Grabber Area" +msgstr "Agarrar Área" + +msgid "Grabber Area Highlight" +msgstr "Destaque de Área Agarrada" + +msgid "Tick" +msgstr "Marcação" + +msgid "Updown" +msgstr "De cima para baixo" + +msgid "Embedded Border" +msgstr "Borda Integrada" + msgid "Close" msgstr "Fechar" @@ -3582,11 +5394,14 @@ msgid "Separator" msgstr "Separador" msgid "Submenu" -msgstr "Submenu" +msgstr "Sub-menu" msgid "V Separation" msgstr "Separação Vertical" +msgid "Slot" +msgstr "'Slot'" + msgid "Port Offset" msgstr "Deslocamento de Porta" @@ -3596,6 +5411,12 @@ msgstr "Ponteiro" msgid "Cursor Unfocused" msgstr "Cursor Desfocado" +msgid "Custom Button Font Highlight" +msgstr "Destaque de Fonte de Botão Personalizado" + +msgid "Draw Relationship Lines" +msgstr "Desenhar Linhas de Relacionamento" + msgid "Scroll Border" msgstr "Borda da Barra de Rolagem" @@ -3611,6 +5432,12 @@ msgstr "Menu" msgid "Screen Picker" msgstr "Seletor de tela" +msgid "Overbright Indicator" +msgstr "Indicador de Sobre-brilho" + +msgid "BG" +msgstr "BG" + msgid "Preset BG" msgstr "Fundo Predefinido" @@ -3623,20 +5450,50 @@ msgstr "Separação Horizontal da Tabela" msgid "Table V Separation" msgstr "Separação Vertical da Tabela" +msgid "Table Odd Row BG" +msgstr "Tabela BG de Linha Impar" + +msgid "Table Even Row BG" +msgstr "Tabela BG de Linha Par" + +msgid "H Grabber" +msgstr "Arrastador Horizontal" + +msgid "V Grabber" +msgstr "Arrastador Vertical" + msgid "Minus" msgstr "Menos" msgid "More" msgstr "Mais" +msgid "Port Hotzone Inner Extent" +msgstr "Extensão interna da zona ativa da porta" + +msgid "Port Hotzone Outer Extent" +msgstr "Extensão Externa da zona ativa da porta" + msgid "Node" msgstr "Nó" +msgid "Energy Multiplier" +msgstr "Multiplicador de Energia" + +msgid "Canvas Max Layer" +msgstr "Camada Máx. da Tela" + +msgid "Camera Feed ID" +msgstr "ID do Feed da Câmera" + msgid "Sky" msgstr "Céu" msgid "Source" -msgstr "Origem" +msgstr "Fonte" + +msgid "Tonemap" +msgstr "Mapa de Tons" msgid "White" msgstr "Branco" @@ -3653,15 +5510,57 @@ msgstr "SSAO" msgid "Detail" msgstr "Detalhe" +msgid "SSIL" +msgstr "SSIL" + +msgid "SDFGI" +msgstr "SDFGI" + +msgid "Cascades" +msgstr "Cascatas" + +msgid "Probe Bias" +msgstr "Ajuste de Sonda" + msgid "Glow" msgstr "Brilho" +msgid "1" +msgstr "1" + +msgid "2" +msgstr "2" + +msgid "4" +msgstr "4" + +msgid "5" +msgstr "5" + +msgid "6" +msgstr "6" + +msgid "7" +msgstr "7" + msgid "Mix" msgstr "Misturar" +msgid "Bloom" +msgstr "Efeito Bloom" + +msgid "HDR Threshold" +msgstr "HDR Ajuste Threshold" + +msgid "HDR Luminance Cap" +msgstr "Limite de Luminância HDR" + msgid "Fog" msgstr "Névoa" +msgid "GI Inject" +msgstr "Injeção GI" + msgid "Anisotropy" msgstr "Anisotrópico" @@ -3674,36 +5573,75 @@ msgstr "Separação" msgid "Color Correction" msgstr "Correção de Cor" +msgid "Edge Fade" +msgstr "Esmaecer de Borda" + msgid "Features" msgstr "Funcionalidades" msgid "Extra Spacing" msgstr "Espaçamento Extra" +msgid "Glyph" +msgstr "Glifo (Relevo)" + msgid "Interpolation Mode" msgstr "Modo de Interpolação" msgid "Offsets" msgstr "Deslocamentos" +msgid "Map Width" +msgstr "Largura do Mapa" + msgid "Shader" msgstr "Shader" msgid "Is sRGB" msgstr "É sRGB" +msgid "ORM" +msgstr "ORM" + msgid "Metallic" msgstr "Metálico" msgid "Operator" msgstr "Operador" +msgid "On UV2" +msgstr "Ligado UV2" + +msgid "Rim" +msgstr "Aro" + +msgid "Flowmap" +msgstr "Mapa de Fluxo" + +msgid "Deep Parallax" +msgstr "Parallax Profundo" + +msgid "Flip Tangent" +msgstr "Virar Tangente" + msgid "Subsurface Scattering" msgstr "Dispersão Subsuperficial" +msgid "Boost" +msgstr "Impulsão" + msgid "Refraction" msgstr "Refração" +msgid "Triplanar" +msgstr "'Triplanar'" + +msgid "Triplanar Sharpness" +msgstr "Nitidez Triplanar" + +msgid "World Triplanar" +msgstr "Triplanar Global" + msgid "Sampling" msgstr "Mostragem" @@ -3713,6 +5651,9 @@ msgstr "Crescer" msgid "Distance" msgstr "Distância" +msgid "MSDF" +msgstr "MSDF" + msgid "Item" msgstr "Item" @@ -3728,6 +5669,9 @@ msgstr "Quantidade de Instâncias Visíveis" msgid "Parsed Geometry Type" msgstr "Tipo de Geometria Analisada" +msgid "Source Geometry Mode" +msgstr "Modo Geometria Original" + msgid "Source Group Name" msgstr "Origem do Nome do Grupo" @@ -3737,30 +5681,117 @@ msgstr "Células" msgid "Agents" msgstr "Agentes" +msgid "Max Climb" +msgstr "Máx. Subida" + +msgid "Max Slope" +msgstr "Máx. Inclinação" + msgid "Edges" msgstr "Arestas" msgid "Sample Distance" msgstr "Distância de Amostra" +msgid "Low Hanging Obstacles" +msgstr "Obstáculos Baixos" + +msgid "Ledge Spans" +msgstr "Vãos de Borda" + +msgid "Walkable Low Height Spans" +msgstr "Vãos de Baixa Altura Caminháveis" + +msgid "Bundled" +msgstr "Agrupados" + msgid "Point Texture" msgstr "Textura de Ponto" msgid "Normal Texture" msgstr "Textura Normal" +msgid "Turbulence" +msgstr "Turbulência" + +msgid "Influence Min" +msgstr "Mínima Influência" + +msgid "Influence Max" +msgstr "Máxima Influência" + +msgid "Initial Displacement Min" +msgstr "Deslocamento Inicial Mínimo" + +msgid "Initial Displacement Max" +msgstr "Deslocamento Inicial Máximo" + +msgid "Influence over Life" +msgstr "Influência sobre Ciclo de Vida" + +msgid "Rough" +msgstr "Dureza" + +msgid "Absorbent" +msgstr "Absorção" + +msgid "Subdivide Width" +msgstr "Largura de Subdivisão" + +msgid "Subdivide Height" +msgstr "Altura de Subdivisão" + +msgid "Subdivide Depth" +msgstr "Profundidade de Subdivisão" + msgid "Top Radius" msgstr "Raio do Topo" +msgid "Is Hemisphere" +msgstr "É hemisfério" + +msgid "A" +msgstr "A" + msgid "B" msgstr "B" +msgid "Custom Solver Bias" +msgstr "Bias do 'Solver' Personalizado" + +msgid "CCDIK Data Chain Length" +msgstr "Comprimento da Cadeia de Dados CCDIK" + +msgid "FABRIK Data Chain Length" +msgstr "Comprimento da Cadeia de Dados FABRIK" + +msgid "Jiggle Data Chain Length" +msgstr "Comprimento da Cadeia de Dados Jiggle" + msgid "Radiance Size" msgstr "Tamanho da Radiância" msgid "Horizon Color" msgstr "Cor do Horizonte" +msgid "Cover" +msgstr "Capa" + +msgid "Panorama" +msgstr "'Panorama'" + +msgid "Rayleigh" +msgstr "Efeito Rayleigh" + +msgid "Eccentricity" +msgstr "Excentricidade" + +msgid "Turbidity" +msgstr "Turbidez" + +msgid "Ground Color" +msgstr "Cor da Chão" + msgid "Blend" msgstr "Misturar" @@ -3776,6 +5807,18 @@ msgstr "Inferior Direita" msgid "Bottom Left" msgstr "Inferior Esquerda" +msgid "Corner Detail" +msgstr "Detalhe do Canto" + +msgid "Grow Begin" +msgstr "Início de Crescimento" + +msgid "Grow End" +msgstr "Fim do Crescimento" + +msgid "Keep Compressed Buffer" +msgstr "Manter Buffer Comprimido" + msgid "Atlas" msgstr "Atlas" @@ -3794,24 +5837,87 @@ msgstr "Para" msgid "Frames" msgstr "Quadros" +msgid "Which Feed" +msgstr "Qual alimentação" + +msgid "Terrains" +msgstr "Terrenos" + +msgid "Custom Data" +msgstr "Dados Personalizados" + +msgid "Alternative Level" +msgstr "Nível Alternativo" + +msgid "UV Clipping" +msgstr "Corte UV" + +msgid "One Way" +msgstr "De uma forma" + msgid "Transpose" msgstr "Transpor" +msgid "Texture Origin" +msgstr "Origem da Textura" + +msgid "Y Sort Origin" +msgstr "Ordenar Origem Y" + +msgid "Terrain" +msgstr "Terreno" + +msgid "Miscellaneous" +msgstr "Micelânea" + +msgid "Probability" +msgstr "Probabilidade" + +msgid "Output Port for Preview" +msgstr "Porta de Saída para Preview" + +msgid "Parameter Name" +msgstr "Nome do Parâmetro" + msgid "Constant" msgstr "Constante" +msgid "Cube Map" +msgstr "Mapa de Cubo" + msgid "Function" msgstr "Função" +msgid "Hint" +msgstr "Dica" + +msgid "Use All Surfaces" +msgstr "Usar Todas as Superfícies" + +msgid "Surface Index" +msgstr "Índice de Superfície" + msgid "Plane" msgstr "Plano" msgid "Custom" msgstr "Personalizar" +msgid "Default Font Multichannel Signed Distance Field" +msgstr "MSDF Fonte Default" + +msgid "Playback Mode" +msgstr "Modo de Reprodução" + msgid "Random Pitch" msgstr "Timbre Aleatório" +msgid "Random Volume Offset dB" +msgstr "Offset de Volume dB Aleatório" + +msgid "Buffer Length" +msgstr "Comprimento de Buffer" + msgid "Voice Count" msgstr "Quantidade de Vozes" @@ -3827,30 +5933,87 @@ msgstr "Voz" msgid "Delay (ms)" msgstr "Atraso (ms)" +msgid "Rate Hz" +msgstr "Taxa de Hz" + msgid "Level dB" msgstr "Nível dB" +msgid "Pan" +msgstr "'Pan'" + msgid "Attack (µs)" msgstr "Ataque (µs)" +msgid "Sidechain" +msgstr "Cadeia Lateral" + +msgid "Tap 1" +msgstr "'Tap 1'" + +msgid "Tap 2" +msgstr "'Tap 2'" + msgid "Pre Gain" msgstr "Pré Ganho" +msgid "Keep Hf Hz" +msgstr "Manter Hf Hz" + +msgid "Drive" +msgstr "'Drive'" + +msgid "Ceiling dB" +msgstr "Teto dB" + +msgid "Threshold dB" +msgstr "Limiar dB" + +msgid "Soft Clip dB" +msgstr "Corte Suave dB" + +msgid "Soft Clip Ratio" +msgstr "Taxa de Corte Suave" + +msgid "Range Min Hz" +msgstr "Faixa Mín. Hz" + +msgid "Range Max Hz" +msgstr "Faixa Máx. Hz" + msgid "FFT Size" msgstr "Tamanho FFT" msgid "Predelay" msgstr "Pré Atraso" +msgid "Msec" +msgstr "'Msec'" + msgid "Room Size" msgstr "Tamanho da Sala" +msgid "Tap Back Pos" +msgstr "Tap da Posição Traseira" + +msgid "Pan Pullout" +msgstr "Retirada de Pan" + msgid "Time Pullout (ms)" msgstr "Retirada de Tempo (ms)" +msgid "Surround" +msgstr "'Surround'" + msgid "Output Latency" msgstr "Latência de Saída" +msgid "Channel Disable Threshold dB" +msgstr "Variação de Canal Desabilitado dB" + +msgid "Video Delay Compensation (ms)" +msgstr "Compensação de Atraso de Vídeo (ms)" + msgid "Inverse Mass" msgstr "Inverter Massa" @@ -3881,9 +6044,18 @@ msgstr "Compressão Sem Perda" msgid "Force PNG" msgstr "Forçar PNG" +msgid "Shadow Atlas" +msgstr "Mapa de Sombras" + +msgid "Shader Cache" +msgstr "Cache Shader" + msgid "Reflections" msgstr "Reflexões" +msgid "GI" +msgstr "GI" + msgid "Overrides" msgstr "Sobrescreve" @@ -3896,5 +6068,8 @@ msgstr "Shaders" msgid "Is Primary" msgstr "É Principal" +msgid "Play Area Mode" +msgstr "Modo de Área de Jogo" + msgid "Property" msgstr "Propriedade" diff --git a/editor/translations/properties/ru.po b/editor/translations/properties/ru.po index 56106885f1..788ad52fa6 100644 --- a/editor/translations/properties/ru.po +++ b/editor/translations/properties/ru.po @@ -132,8 +132,8 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-13 07:39+0000\n" -"Last-Translator: Danil Alexeev <danil@alexeev.xyz>\n" +"PO-Revision-Date: 2023-03-14 09:33+0000\n" +"Last-Translator: Dima Koshel <form.eater@gmail.com>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot-properties/ru/>\n" "Language: ru\n" @@ -142,7 +142,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.16-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Application" msgstr "Приложение" @@ -153,6 +153,9 @@ msgstr "Конфигурация" msgid "Name" msgstr "Название" +msgid "Name Localized" +msgstr "Name Localized" + msgid "Description" msgstr "Описание" @@ -201,6 +204,9 @@ msgstr "Без границ" msgid "Transparent" msgstr "Прозрачный" +msgid "Window Width Override" +msgstr "Переопределение ширины окна" + msgid "Energy Saving" msgstr "Энергосбережение" @@ -213,9 +219,6 @@ msgstr "Аудио" msgid "Editor" msgstr "Редактор" -msgid "Main Run Args" -msgstr "Основные аргументы запуска" - msgid "Physics" msgstr "Физика" @@ -243,6 +246,9 @@ msgstr "Сообщение" msgid "Rendering" msgstr "Рендеринг" +msgid "Memory" +msgstr "Память" + msgid "Limits" msgstr "Лимиты" @@ -1333,7 +1339,7 @@ msgid "Nodes" msgstr "Узлы" msgid "Root Type" -msgstr "Тип ветви" +msgstr "Тип кореня" msgid "Root Name" msgstr "Имя ветви" @@ -1527,6 +1533,9 @@ msgstr "Путь к открытому ключу SSH" msgid "SSH Private Key Path" msgstr "Путь к закрытому ключу SSH" +msgid "Main Run Args" +msgstr "Основные аргументы запуска" + msgid "Show Scene Tree Root Selection" msgstr "Показывать выбор корня дерева сцены" diff --git a/editor/translations/properties/tr.po b/editor/translations/properties/tr.po index 3a6939ab51..6b3819c7cb 100644 --- a/editor/translations/properties/tr.po +++ b/editor/translations/properties/tr.po @@ -94,16 +94,16 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-12-05 10:16+0000\n" -"Last-Translator: Muhammed Said Gülberk <msgulberk@gmail.com>\n" +"PO-Revision-Date: 2023-03-15 01:17+0000\n" +"Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" -"godot/tr/>\n" +"godot-properties/tr/>\n" "Language: tr\n" "MIME-Version: 1.0\n" "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.15-dev\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Application" msgstr "Uygulama" @@ -114,9 +114,18 @@ msgstr "Yapılandırma" msgid "Name" msgstr "İsim" +msgid "Name Localized" +msgstr "Yerelleştirilmiş Ad" + +msgid "Description" +msgstr "Açıklama" + msgid "Run" msgstr "Çalıştır" +msgid "Main Scene" +msgstr "Ana Sahne" + msgid "Disable stdout" msgstr "Stdout'u devre dışı bırak" @@ -144,21 +153,57 @@ msgstr "Pencere" msgid "Size" msgstr "Boyut" +msgid "Viewport Width" +msgstr "Çerçeve Genişliği" + +msgid "Viewport Height" +msgstr "Çerçeve Yüksekliği" + +msgid "Mode" +msgstr "Mod" + +msgid "Initial Position Type" +msgstr "Başlangıç konum türü" + +msgid "Initial Position" +msgstr "Başlangıç konumu" + +msgid "Initial Screen" +msgstr "Başlangıç ekranı" + msgid "Resizable" msgstr "Yeniden Boyutlandırılabilir" msgid "Borderless" msgstr "Kenarsız" +msgid "Always on Top" +msgstr "Her Zaman Üstte" + +msgid "Transparent" +msgstr "Saydam" + +msgid "Extend to Title" +msgstr "Başlığa genişlet" + +msgid "No Focus" +msgstr "Odak Yok" + +msgid "Window Width Override" +msgstr "Pencere Genişliğini Geçersiz Kıl" + msgid "Keep Screen On" msgstr "Ekranı Açık Tut" +msgid "Audio" +msgstr "Ses" + +msgid "General" +msgstr "Genel" + msgid "Editor" msgstr "Düzenleyici" -msgid "Main Run Args" -msgstr "Oynatma Argümanları" - msgid "Physics" msgstr "Fizik" @@ -174,12 +219,21 @@ msgstr "Hata Ayıklama" msgid "Settings" msgstr "Ayarlar" +msgid "Compression" +msgstr "Sıkıştırma" + msgid "Message" msgstr "Mesaj" msgid "Rendering" msgstr "Oluşturucu" +msgid "Limits" +msgstr "Limitler" + +msgid "Vulkan" +msgstr "Vulkan" + msgid "Low Processor Usage Mode" msgstr "İşlemci Dostu Mod" @@ -228,6 +282,9 @@ msgstr "Etken" msgid "Button Index" msgstr "Tuş İndeksi" +msgid "Double Click" +msgstr "Çift Tıklama" + msgid "Tilt" msgstr "Eğim" @@ -250,7 +307,7 @@ msgid "Axis Value" msgstr "Eksen Değeri" msgid "Index" -msgstr "İndeks" +msgstr "İşaret, Gösterge, Sıra" msgid "Action" msgstr "Eylem" @@ -279,12 +336,15 @@ msgstr "Denetleyici Değeri" msgid "Big Endian" msgstr "Big Endian" +msgid "Network" +msgstr "Ağ" + +msgid "Page Size" +msgstr "Sayfa Boyutu" + msgid "Blocking Mode Enabled" msgstr "Engelleme Modu Etkinleştirildi" -msgid "Connection" -msgstr "Bağlantı" - msgid "Read Chunk Size" msgstr "Okuma Yığın Boyutu" @@ -303,9 +363,6 @@ msgstr "Giriş Arabelleği Maksimum Boyutu" msgid "Output Buffer Max Size" msgstr "Çıkış Arabelleği Maksimum Boyutu" -msgid "Stream Peer" -msgstr "Akış Eşi" - msgid "Resource" msgstr "Kaynak" @@ -315,9 +372,6 @@ msgstr "Yol" msgid "Data Array" msgstr "Veri Dizisi" -msgid "Blocking Handshake" -msgstr "El Sıkışmayı Blokla" - msgid "Max Pending Connections" msgstr "Bekletilebilecek Maks. Bağlantı Sayısı" @@ -330,9 +384,6 @@ msgstr "Tohum" msgid "State" msgstr "Durum" -msgid "Source Code" -msgstr "Kaynak Kodu" - msgid "Locale" msgstr "Yerel" @@ -390,15 +441,6 @@ msgstr "Animasyon" msgid "Easing" msgstr "Yumuşatma" -msgid "Interface" -msgstr "Arayüz" - -msgid "Editors" -msgstr "Editörler" - -msgid "Network" -msgstr "Ağ" - msgid "Remote Port" msgstr "Uzak Port" @@ -417,14 +459,8 @@ msgstr "Erişim" msgid "Display Mode" msgstr "Görüntüleme Modu" -msgid "Current Dir" -msgstr "Geçerli Dizin" - -msgid "Current File" -msgstr "Geçerli Dosya" - -msgid "Current Path" -msgstr "Geçerli Yol" +msgid "Filters" +msgstr "Filtreler" msgid "Show Hidden Files" msgstr "Gizli Dosyaları Göster" @@ -462,8 +498,8 @@ msgstr "Denetlendi" msgid "Keying" msgstr "Anahtarlama" -msgid "Main Scene" -msgstr "Ana Sahne" +msgid "Interface" +msgstr "Arayüz" msgid "Show Update Spinner" msgstr "Güncelleme İkonunu Göster" @@ -507,18 +543,12 @@ msgstr "Dikkat Dağıtmayan Kip" msgid "Base Type" msgstr "Temel Tür" -msgid "Edited Resource" -msgstr "Değiştirilmiş Kaynak" - msgid "Editable" msgstr "Düzenlenebilir" msgid "Toggle Mode" msgstr "Aç / Kapat Biçimi" -msgid "Script Owner" -msgstr "Senaryo Sahibi" - msgid "Editor Language" msgstr "Editör Dili" @@ -565,7 +595,7 @@ msgid "Theme" msgstr "Tema" msgid "Preset" -msgstr "Ön ayar" +msgstr "HazırAyar" msgid "Base Color" msgstr "Temel Renk" @@ -616,7 +646,7 @@ msgid "Thumbnail Size" msgstr "Küçük Resim Boyutu" msgid "Docks" -msgstr "Rıhtımlar" +msgstr "Yuvalar, Doklar" msgid "Scene Tree" msgstr "Sahne Ağacı" @@ -700,7 +730,7 @@ msgid "Line Spacing" msgstr "Satır aralığı" msgid "Navigation" -msgstr "Gezinim" +msgstr "Gezinti" msgid "Smooth Scrolling" msgstr "Pürüzsüz kaydırma" @@ -765,6 +795,9 @@ msgstr "Yardım Kaynak Yazı Tipi Boyutu" msgid "Help Title Font Size" msgstr "Yardım Başlık Yazı Tipi Boyutu" +msgid "Editors" +msgstr "Editörler" + msgid "Grid Map" msgstr "Izgara Haritası" @@ -1128,9 +1161,6 @@ msgstr "ETC" msgid "ETC2" msgstr "ETC2" -msgid "No BPTC Fallbacks" -msgstr "BPTC Gerilemesi Yok" - msgid "Export Path" msgstr "Dışa aktarım Yolu" @@ -1140,12 +1170,21 @@ msgstr "Dosya Sunucusu" msgid "Password" msgstr "Şifre" +msgid "Multichannel Signed Distance Field" +msgstr "Çokkanallı İşaretli Uzaklık Alanı" + +msgid "Oversampling" +msgstr "Sıkörnekleme" + msgid "Compress" msgstr "Sıkıştırma" msgid "Variation" msgstr "Varyasyon" +msgid "Transform" +msgstr "Şekillendirme, Şekil" + msgid "Collada" msgstr "Collada" @@ -1170,15 +1209,6 @@ msgstr "Şuradan Oluştur" msgid "Delimiter" msgstr "Sınırlayıcı" -msgid "Preload" -msgstr "Önceden Yükle" - -msgid "Mode" -msgstr "Mod" - -msgid "BPTC LDR" -msgstr "BPTC LDR" - msgid "Mipmaps" msgstr "Mipmap'ler" @@ -1230,12 +1260,6 @@ msgstr "En İyileştirici" msgid "Max Angular Error" msgstr "Maksimum Açısal Hata" -msgid "Compression" -msgstr "Sıkıştırma" - -msgid "Page Size" -msgstr "Sayfa Boyutu" - msgid "Nodes" msgstr "Düğümler" @@ -1302,6 +1326,9 @@ msgstr "Thread'leri Kullan" msgid "Available URLs" msgstr "Uygun URL'ler" +msgid "Unset" +msgstr "Atamayı Kaldır" + msgid "Error" msgstr "Hata" @@ -1311,6 +1338,9 @@ msgstr "Kamera" msgid "Particles" msgstr "Parçacıklar" +msgid "Decal" +msgstr "Decal" + msgid "External" msgstr "Harici" @@ -1329,6 +1359,12 @@ msgstr "Uyarılar" msgid "ID" msgstr "ID" +msgid "Separation" +msgstr "Ayrım" + +msgid "Speed" +msgstr "Hız" + msgid "Version Control" msgstr "Sürüm Kontrol" @@ -1341,14 +1377,23 @@ msgstr "SSH Genel Anahtar Yolu" msgid "SSH Private Key Path" msgstr "SSH Özel Anahtar Yolu" +msgid "Main Run Args" +msgstr "Oynatma Argümanları" + msgid "Driver" msgstr "Sürücü" msgid "Threads" msgstr "İş parçacıkları" -msgid "Audio" -msgstr "Ses" +msgid "Common" +msgstr "Yaygın" + +msgid "Defaults" +msgstr "Varsayılanlar" + +msgid "Image" +msgstr "Görüntü" msgid "Fullsize" msgstr "Tam boyut" @@ -1356,6 +1401,9 @@ msgstr "Tam boyut" msgid "Use Filter" msgstr "Filtre Kullan" +msgid "Icon" +msgstr "Simge" + msgid "Tooltip Position Offset" msgstr "Araç İpucu Pozisyon Kaydırması" @@ -1410,6 +1458,9 @@ msgstr "Sahne Adı" msgid "Animations" msgstr "Animasyonlar" +msgid "Count" +msgstr "Sayma" + msgid "Sparse Indices Component Type" msgstr "Seyrek Dizinler Bileşen Tipi" @@ -1455,9 +1506,6 @@ msgstr "Genişlik" msgid "Strings" msgstr "Dizgiler" -msgid "Limits" -msgstr "Limitler" - msgid "Handshake Timeout" msgstr "Tokalaşma Zaman Aşımı" @@ -1497,27 +1545,27 @@ msgstr "Simgeler" msgid "Export Method Release" msgstr "Dışa Aktarma Yöntemi Sürümü" -msgid "Icon" -msgstr "Simge" - msgid "Location" msgstr "Konum" msgid "Short Name" msgstr "Kısa Ad" -msgid "Description" -msgstr "Açıklama" - msgid "Publisher Display Name" msgstr "Görünen Yayıncı Adı" msgid "Product GUID" msgstr "Ürün GUID" +msgid "Landscape" +msgstr "Arazi, Yatay" + msgid "Splash Screen" msgstr "Başlangıç Ekranı" +msgid "Tiles" +msgstr "Döşemeler, Tiles" + msgid "Variant" msgstr "Varyant" @@ -1539,11 +1587,14 @@ msgstr "Nokta" msgid "Max Distance" msgstr "Maksimum Uzaklık" +msgid "Left" +msgstr "Sol" + msgid "Top" msgstr "Üst" -msgid "Speed" -msgstr "Hız" +msgid "Right" +msgstr "Sağ" msgid "Draw Screen" msgstr "Çizim Ekranı" @@ -1554,6 +1605,9 @@ msgstr "Çizim Sınırları" msgid "Input" msgstr "Giriş" +msgid "Disabled" +msgstr "Engelli" + msgid "Time" msgstr "Zaman" @@ -1569,6 +1623,9 @@ msgstr "Noktalar" msgid "Colors" msgstr "Renkler" +msgid "Fill" +msgstr "Doldurmak" + msgid "Border" msgstr "Kenar" @@ -1578,18 +1635,6 @@ msgstr "Yol Maksimum Mesafesi" msgid "Max Speed" msgstr "Maksimum Hız" -msgid "Transform" -msgstr "Dönüşüm" - -msgid "Rotation Degrees" -msgstr "Dönüş Açıları" - -msgid "Global Rotation Degrees" -msgstr "Genel Dönüş Açıları" - -msgid "Global Scale" -msgstr "Küresel Ölçek" - msgid "Inertia" msgstr "Eylemsizlik" @@ -1620,6 +1665,12 @@ msgstr "Bitmaskesi" msgid "Degrees" msgstr "Açılar" +msgid "Cull Mask" +msgstr "Kaldırma Maskesi" + +msgid "Normal" +msgstr "Normal, Yüzeye dik" + msgid "Parameters" msgstr "Parametreler" @@ -1656,15 +1707,24 @@ msgstr "Büyük harf" msgid "Opacity" msgstr "Şeffaflık" +msgid "Blur" +msgstr "Bulanıklık" + msgid "Quality" msgstr "Kalite" +msgid "Bake" +msgstr "Pişir" + msgid "Angular Limit Lower" msgstr "Açısal Limit Alt" msgid "Linear Velocity" msgstr "Çizgisel hız" +msgid "Ambient" +msgstr "Çevresel" + msgid "Bones" msgstr "Kemikler" @@ -1722,6 +1782,9 @@ msgstr "Düğme Grubu" msgid "Localization" msgstr "Yerelleştirme" +msgid "Focus" +msgstr "Odak" + msgid "Next" msgstr "Sonraki" @@ -1731,9 +1794,6 @@ msgstr "Önceki" msgid "Default Cursor Shape" msgstr "Varsayılan İmleç Şekli" -msgid "Filters" -msgstr "Filtreler" - msgid "Use Snap" msgstr "Yapışma Kullan" @@ -1764,6 +1824,9 @@ msgstr "Sayfa" msgid "Elapsed Time" msgstr "Geçen Süre" +msgid "Outline" +msgstr "Anahat" + msgid "Tab Size" msgstr "Sekme Boyutu" @@ -1779,8 +1842,8 @@ msgstr "Dolgu Aşamaları" msgid "Hide Root" msgstr "Kökü Gizle" -msgid "Volume" -msgstr "Oylum" +msgid "Expand" +msgstr "Genişletmek" msgid "Z Index" msgstr "Derinlik İndeksi" @@ -1788,14 +1851,17 @@ msgstr "Derinlik İndeksi" msgid "Repeat" msgstr "Tekrar Et" +msgid "NormalMap" +msgstr "NormalMap" + msgid "Timeout" msgstr "Zaman Aşımı" msgid "Transfer Mode" msgstr "Transfer Modu" -msgid "Current Scene" -msgstr "Şu anki Sahne" +msgid "SDF" +msgstr "İUA" msgid "Autostart" msgstr "Otomatik başlatma" @@ -1848,9 +1914,6 @@ msgstr "Altmenü" msgid "Font Separator" msgstr "Yazı Tipi Ayracı" -msgid "Separation" -msgstr "Ayrım" - msgid "Cursor" msgstr "İmleç" @@ -1866,15 +1929,30 @@ msgstr "Ekran Seçici" msgid "Node" msgstr "Düğüm" +msgid "Sky" +msgstr "Gökyüzü" + msgid "Source" msgstr "Kaynak" +msgid "Tonemap" +msgstr "Ton haritası" + msgid "Fade In" msgstr "Solma" +msgid "SSAO" +msgstr "SSAO" + +msgid "Glow" +msgstr "Işıltı" + msgid "Mix" msgstr "Çırp" +msgid "Fog" +msgstr "Sis" + msgid "Saturation" msgstr "Doygunluk" @@ -1908,6 +1986,9 @@ msgstr "Gölgeler" msgid "Distance" msgstr "Mesafe" +msgid "MSDF" +msgstr "ÇİUA" + msgid "Item" msgstr "Öğe" @@ -1941,8 +2022,11 @@ msgstr "B" msgid "Horizon Color" msgstr "Horizon Renk" +msgid "Rayleigh" +msgstr "Rayleigh" + msgid "Blend" -msgstr "Karıştır" +msgstr "Harmanla" msgid "Top Left" msgstr "Sol Üst" @@ -1956,8 +2040,8 @@ msgstr "Alt Sağ" msgid "Bottom Left" msgstr "Alt Sol" -msgid "Image" -msgstr "Görüntü" +msgid "Atlas" +msgstr "Atlas" msgid "Image Size" msgstr "Görüntü Boyutu" @@ -1972,11 +2056,29 @@ msgid "Constant" msgstr "Sabit" msgid "Function" -msgstr "Fonksiyon" +msgstr "İşlev, Fonksiyon" msgid "Plane" msgstr "Uçak" +msgid "Custom" +msgstr "Özel" + +msgid "Sidechain" +msgstr "Sidechain" + +msgid "Tap 1" +msgstr "Vuruş 1" + +msgid "Tap 2" +msgstr "Vuruş 2" + +msgid "Soft Clip dB" +msgstr "Yumuşak Kesme dB" + +msgid "Soft Clip Ratio" +msgstr "Yumuşak Kesme Oran" + msgid "Msec" msgstr "MiliSaniye" @@ -1989,9 +2091,6 @@ msgstr "Zaman Çıkışı (ms)" msgid "Output Latency" msgstr "Çıkış Gecikmesi" -msgid "Capture Device" -msgstr "Yakalama Cihazı" - msgid "Is Active" msgstr "Aktif mi" @@ -2013,6 +2112,9 @@ msgstr "Köşe" msgid "Fragment" msgstr "Bölümlenme" +msgid "Cull" +msgstr "Yoket" + msgid "Ensure Correct Normals" msgstr "Doğru Normalleri Sağla" @@ -2031,5 +2133,8 @@ msgstr "Üzerine Yaz" msgid "Depth Prepass" msgstr "Derinlik Ön Geçişi" +msgid "OpenGL" +msgstr "OpenGL" + msgid "Property" msgstr "Nitelik" diff --git a/editor/translations/properties/uk.po b/editor/translations/properties/uk.po index 5bea0e841c..bac1ab1ba0 100644 --- a/editor/translations/properties/uk.po +++ b/editor/translations/properties/uk.po @@ -32,8 +32,8 @@ msgstr "" "Project-Id-Version: Ukrainian (Godot Engine)\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-28 22:26+0000\n" -"Last-Translator: Мирослав <hlopukmyroslav@gmail.com>\n" +"PO-Revision-Date: 2023-03-14 01:22+0000\n" +"Last-Translator: Vladimir Spodin <gravin1904@gmail.com>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot-properties/uk/>\n" "Language: uk\n" @@ -42,7 +42,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.16-rc\n" +"X-Generator: Weblate 4.16.2-dev\n" msgid "Application" msgstr "Програма" @@ -161,27 +161,12 @@ msgstr "Сила 3D панорамування" msgid "Editor" msgstr "Редактор" -msgid "Main Run Args" -msgstr "Аргументи основного запуску" - msgid "Script" msgstr "Скрипт" msgid "Search in File Extensions" msgstr "Пошук у розширеннях файлів" -msgid "Templates Search Path" -msgstr "Шлях пошуку шаблонів" - -msgid "Naming" -msgstr "Іменування" - -msgid "Default Signal Callback Name" -msgstr "Ім'я сигналу зворотного виклику за замовчуванням" - -msgid "Default Signal Callback to Self Name" -msgstr "Сигнал зворотного виклику за замовчуванням до власного імені" - msgid "Physics" msgstr "Фізика" @@ -224,6 +209,12 @@ msgstr "Рівень стиснення" msgid "Window Log Size" msgstr "Розмір вікна журналу" +msgid "Zlib" +msgstr "Zlib" + +msgid "Gzip" +msgstr "Gzip" + msgid "Crash Handler" msgstr "Обробник аварій" @@ -231,7 +222,7 @@ msgid "Message" msgstr "Повідомлення" msgid "Rendering" -msgstr "Обробка" +msgstr "Рендеринг" msgid "Occlusion Culling" msgstr "Переглянути відбраковування замикання" @@ -248,6 +239,9 @@ msgstr "Обмеження" msgid "Multithreaded Server" msgstr "Багатопотоковий сервер" +msgid "RID Pool Prealloc" +msgstr "Попереднє виділення пулу RID" + msgid "Internationalization" msgstr "Інтернаціоналізація" @@ -266,6 +260,9 @@ msgstr "Максимальний інтервал інкрементальног msgid "Rendering Device" msgstr "Пристрій рендерингу" +msgid "Staging Buffer" +msgstr "Проміжний буфер" + msgid "Block Size (KB)" msgstr "Розмір блоку (Кб)" @@ -275,6 +272,12 @@ msgstr "Максимальний розмір (Мб)" msgid "Texture Upload Region Size Px" msgstr "Розмір області завантаження текстури Px" +msgid "Vulkan" +msgstr "Vulkan" + +msgid "Max Descriptors per Pool" +msgstr "Макс. кількість дескрипторів на пул" + msgid "Low Processor Usage Mode" msgstr "Режим низького використання процесора" @@ -284,6 +287,9 @@ msgstr "Час сну в режимі низького використання msgid "Print Error Messages" msgstr "Виводити повідомлення про помилки" +msgid "Physics Ticks per Second" +msgstr "Фізичні тіки на секунду" + msgid "Max Physics Steps per Frame" msgstr "Максимум фізичних кроків на кадр" @@ -326,6 +332,9 @@ msgstr "Натиснуто Meta" msgid "Pressed" msgstr "Натиснута" +msgid "Key Label" +msgstr "Мітка клавіші" + msgid "Unicode" msgstr "Юнікод" @@ -596,6 +605,9 @@ msgstr "Налагоджувальний адаптер" msgid "Remote Port" msgstr "Віддалений порт" +msgid "Request Timeout" +msgstr "Час очікування запиту минув" + msgid "Sync Breakpoints" msgstr "Точки розриву синхронізації" @@ -665,15 +677,15 @@ msgstr "Можна позначати" msgid "Checked" msgstr "Позначено" +msgid "Draw Warning" +msgstr "Попередження малювання" + msgid "Keying" msgstr "Набір" msgid "Deletable" msgstr "Видалити" -msgid "Scene Name Casing" -msgstr "Регістр назв сцени" - msgid "Interface" msgstr "Інтерфейс" @@ -764,9 +776,24 @@ msgstr "Розмір основного шрифту" msgid "Code Font Size" msgstr "Розмір шрифту коду" +msgid "Code Font Contextual Ligatures" +msgstr "Контекстні лігатури кодового шрифту" + +msgid "Code Font Custom OpenType Features" +msgstr "Користувацькі функції OpenType шрифту коду" + +msgid "Code Font Custom Variations" +msgstr "Користувацькі варіанти шрифту коду" + +msgid "Font Antialiasing" +msgstr "Згладжування шрифту" + msgid "Font Hinting" msgstr "Гінтінґ шрифту" +msgid "Font Subpixel Positioning" +msgstr "Позиціонування субпікселів шрифту" + msgid "Main Font" msgstr "Основний шрифт" @@ -790,15 +817,36 @@ msgstr "Окремий режим без відволікання" msgid "Automatically Open Screenshots" msgstr "Автоматично відкривати знімки вікон" +msgid "Single Window Mode" +msgstr "Режим єдиного вікна" + msgid "Mouse Extra Buttons Navigate History" msgstr "Додаткові кнопки миші для навігації журналом" +msgid "Save Each Scene on Quit" +msgstr "Зберігати усі сцени при виході" + +msgid "Accept Dialog Cancel OK Buttons" +msgstr "Погоджувати діалогові кнопки Скасувати ОК" + +msgid "Show Internal Errors in Toast Notifications" +msgstr "Показувати внутрішні помилки у спливаючих сповіщеннях" + +msgid "Max Array Dictionary Items per Page" +msgstr "Макс. к-ть елементів масиву/словника на сторінку" + +msgid "Show Low Level OpenType Features" +msgstr "Показати низькорівневі функції OpenType" + msgid "Theme" msgstr "Тема" msgid "Preset" msgstr "Набір" +msgid "Icon and Font Color" +msgstr "Колір піктограм і шрифту" + msgid "Base Color" msgstr "Базовий колір" @@ -808,6 +856,12 @@ msgstr "Колір акценту" msgid "Contrast" msgstr "Контрастність" +msgid "Draw Extra Borders" +msgstr "Малювати додаткові рамки" + +msgid "Icon Saturation" +msgstr "Насиченість піктограм" + msgid "Relationship Line Opacity" msgstr "Непрозорість лінії зв'язку" @@ -823,12 +877,48 @@ msgstr "Додаткові інтервали" msgid "Custom Theme" msgstr "Нетипова тема" +msgid "Touchscreen" +msgstr "Сенсорний екран" + +msgid "Increase Scrollbar Touch Area" +msgstr "Збільшити область дотику смуги прокрутки" + +msgid "Enable Long Press as Right Click" +msgstr "Приймати довге натискання, як клацання ПКМ" + +msgid "Enable Pan and Scale Gestures" +msgstr "Увімкнути жести панорам та масштабу" + +msgid "Display Close Button" +msgstr "Відображати кнопку закриття" + +msgid "Show Thumbnail on Hover" +msgstr "Показувати мініатюру при наведенні" + +msgid "Maximum Width" +msgstr "Максимальна ширина" + msgid "Show Script Button" msgstr "Показувати кнопку скрипту" msgid "FileSystem" msgstr "Файлова система" +msgid "External Programs" +msgstr "Зовнішні програми" + +msgid "Raster Image Editor" +msgstr "Редактор растрових зображень" + +msgid "Vector Image Editor" +msgstr "Редактор векторних зображень" + +msgid "Audio Editor" +msgstr "Редактор аудіо" + +msgid "3D Model Editor" +msgstr "Редактор 3D моделей" + msgid "Directories" msgstr "Каталоги" @@ -844,6 +934,9 @@ msgstr "При зберіганні" msgid "Compress Binary Resources" msgstr "Стискати двійкові ресурси" +msgid "Safe Save on Backup then Rename" +msgstr "Безпечне зберігання при резервному копіюванні і перейменування" + msgid "File Dialog" msgstr "Діалогове вікно файлів" @@ -859,9 +952,15 @@ msgstr "Ієрархія сцен" msgid "Start Create Dialog Fully Expanded" msgstr "Запускати із повністю розгорнутим вікном створення" +msgid "Auto Expand to Selected" +msgstr "Автоматичне розширення до вибраного" + msgid "Always Show Folders" msgstr "Завжди показувати теки" +msgid "Textfile Extensions" +msgstr "Розширення текстових файлів" + msgid "Property Editor" msgstr "Редактор властивостей" @@ -883,20 +982,29 @@ msgstr "Позначка вставки" msgid "Caret Blink" msgstr "Блимання каретки" +msgid "Caret Blink Interval" +msgstr "Інтервал блимання каретки" + msgid "Highlight Current Line" msgstr "Підсвічувати поточний рядок" msgid "Highlight All Occurrences" msgstr "Підсвічувати усі входження" +msgid "Guidelines" +msgstr "Лінії підказки" + msgid "Show Line Length Guidelines" -msgstr "Показувати напрямні довжини рядків" +msgstr "Показувати лінії-підказки для довжини рядків" msgid "Line Length Guideline Soft Column" -msgstr "Позиція лінії напрямної м'якого перенесення" +msgstr "Позиція лінії-підказки м'якого перенесення довгого рядка" msgid "Line Length Guideline Hard Column" -msgstr "Позиція лінії напрямної жорсткого перенесення" +msgstr "Позиція лінії-підказки жорсткого перенесення довгого рядка" + +msgid "Gutters" +msgstr "Поле збоку" msgid "Show Line Numbers" msgstr "Показувати номери рядків" @@ -908,10 +1016,10 @@ msgid "Highlight Type Safe Lines" msgstr "Підсвічувати рядки із безпечними типами" msgid "Show Bookmark Gutter" -msgstr "Показувати міжстовпцевий проміжок закладок" +msgstr "Показувати збоку закладки" msgid "Show Info Gutter" -msgstr "Показувати міжстовпцевий проміжок відомостей" +msgstr "Показувати збоку інформацію" msgid "Minimap" msgstr "Мінікарта" @@ -922,12 +1030,18 @@ msgstr "Показувати мінікарту" msgid "Minimap Width" msgstr "Ширина мінікарти" +msgid "Lines" +msgstr "Рядки" + msgid "Code Folding" msgstr "Згортання коду" msgid "Word Wrap" msgstr "Перенесення слів" +msgid "Whitespace" +msgstr "Вільний простір" + msgid "Draw Tabs" msgstr "Візуалізація табуляцій" @@ -937,15 +1051,30 @@ msgstr "Візуалізація пробілів" msgid "Line Spacing" msgstr "Інтервал між рядками" +msgid "Behavior" +msgstr "Поведінка" + msgid "Navigation" msgstr "Навігація" +msgid "Move Caret on Right Click" +msgstr "Переміщати карет кліком ПКМ" + +msgid "Scroll Past End of File" +msgstr "Прокручувати за межі кінця файлу" + msgid "Smooth Scrolling" msgstr "Плавне гортання" msgid "V Scroll Speed" msgstr "Швидкість верт. гортання" +msgid "Drag and Drop Selection" +msgstr "Перетягувати виділене" + +msgid "Stay in Script Editor on Node Selected" +msgstr "Залишатися в редакторі скриптів на вибраному вузлі" + msgid "Indent" msgstr "Відступ" @@ -955,9 +1084,21 @@ msgstr "Автовідступ" msgid "Files" msgstr "Файли" +msgid "Trim Trailing Whitespace on Save" +msgstr "Обрізати кінцеві пробіли при зберіганні" + msgid "Autosave Interval Secs" msgstr "Інтервал автозбереження у секундах" +msgid "Restore Scripts on Load" +msgstr "Відновлювати скрипти при завантаженні" + +msgid "Convert Indent on Save" +msgstr "Перетворювати відступи при зберіганні" + +msgid "Auto Reload Scripts on External Change" +msgstr "Автоматично перезавантажувати скрипти при зміні зовні" + msgid "Script List" msgstr "Список скриптів" @@ -1003,6 +1144,9 @@ msgstr "Розмір шрифту коду у довідці" msgid "Help Title Font Size" msgstr "Розмір шрифту заголовків у довідці" +msgid "Class Reference Examples" +msgstr "Зразки посилання на клас" + msgid "Editors" msgstr "Редактори" @@ -1022,10 +1166,13 @@ msgid "Selection Box Color" msgstr "Колір прямокутника позначення" msgid "3D Gizmos" -msgstr "Просторові гаджети" +msgstr "Просторові гізмо" msgid "Gizmo Colors" -msgstr "Кольори випромінювання" +msgstr "Кольори гізмо" + +msgid "Instantiated" +msgstr "Вставлений екземпляр" msgid "Joint" msgstr "З’єднання" @@ -1049,13 +1196,13 @@ msgid "Grid Division Level Bias" msgstr "Ухил рівня поділу сітки" msgid "Grid XZ Plane" -msgstr "Малюнок GridMap" +msgstr "Площина XZ сітки" msgid "Grid XY Plane" -msgstr "Сітка площини XY" +msgstr "Площина XY сітки" msgid "Grid YZ Plane" -msgstr "Сітка площини YZ" +msgstr "Площина YZ сітки" msgid "Default FOV" msgstr "Типове поле зору" @@ -1168,12 +1315,33 @@ msgstr "Колір рамки панелі перегляду" msgid "Constrain Editor View" msgstr "Панель редактора обмежень" +msgid "Panning" +msgstr "Панорамування" + +msgid "2D Editor Panning Scheme" +msgstr "Схема панорамування 2D редактора" + +msgid "Sub Editors Panning Scheme" +msgstr "Схема панорамування підредакторів" + +msgid "Animation Editors Panning Scheme" +msgstr "Схема панорамування редакторів анімації" + msgid "Simple Panning" msgstr "Просте панорамування" +msgid "2D Editor Pan Speed" +msgstr "Швидкість панорамування 2D редактора" + +msgid "Tiles Editor" +msgstr "Редактор плиток" + msgid "Display Grid" msgstr "Показувати сітку" +msgid "Polygon Editor" +msgstr "Редактор полігонів" + msgid "Point Grab Radius" msgstr "Радіус захоплення точки" @@ -1204,6 +1372,15 @@ msgstr "Візуальні редактори" msgid "Minimap Opacity" msgstr "Непрозорість мінікарти" +msgid "Lines Curvature" +msgstr "Кривизна ліній" + +msgid "Visual Shader" +msgstr "Візуальний шейдер" + +msgid "Port Preview Size" +msgstr "Розмір попереднього перегляду порту" + msgid "Window Placement" msgstr "Розташування вікон" @@ -1223,14 +1400,26 @@ msgid "Save Before Running" msgstr "Зберігати перед запуском" msgid "Output" -msgstr "Результат" +msgstr "Вивід" msgid "Font Size" msgstr "Розмір шрифту" +msgid "Always Clear Output on Play" +msgstr "Завжди очищувати вивід при відтворенні" + +msgid "Always Open Output on Play" +msgstr "Завжди відкривати вивід при відтворенні" + +msgid "Always Close Output on Stop" +msgstr "Завжди закривати вивід при зупинці" + msgid "Remote Host" msgstr "Віддалений вузол" +msgid "Editor TLS Certificates" +msgstr "Сертифікати TLS редактора" + msgid "Profiler Frame History Size" msgstr "Розмір журналу панелі засобу профілювання" @@ -1249,6 +1438,9 @@ msgstr "Керування проєктами" msgid "Sorting Order" msgstr "Режим упорядковування" +msgid "Default Renderer" +msgstr "Обробник за замовчуванням" + msgid "Highlighting" msgstr "Підсвічування" @@ -1291,6 +1483,9 @@ msgstr "Наявний колір доповнення" msgid "Completion Scroll Color" msgstr "Колір гортання доповнення" +msgid "Completion Scroll Hovered Color" +msgstr "Колір прокрутки доповнення при наведенні" + msgid "Completion Font Color" msgstr "Колір шрифту доповнення" @@ -1369,12 +1564,18 @@ msgstr "Масштаб" msgid "Export" msgstr "Експортування" +msgid "Convert Text Resources to Binary" +msgstr "Перетворювати текстові ресурси на двійкові" + msgid "Custom Template" msgstr "Нетиповий шаблон" msgid "Release" msgstr "Випуск" +msgid "Export Console Script" +msgstr "Експортувати скрипт консолі" + msgid "Binary Format" msgstr "Двійковий формат" @@ -1405,18 +1606,48 @@ msgstr "Файловий сервер" msgid "Password" msgstr "Пароль" +msgid "Antialiasing" +msgstr "Згладжування" + +msgid "Allow System Fallback" +msgstr "Дозволити резервну систему" + msgid "Hinting" msgstr "Уточнення" +msgid "Subpixel Positioning" +msgstr "Розташування субпікселів" + +msgid "Metadata Overrides" +msgstr "Перевизначення метаданих" + +msgid "Language Support" +msgstr "Підтримка мови" + +msgid "Script Support" +msgstr "Підтримка скриптів" + +msgid "OpenType Features" +msgstr "Функції OpenType" + +msgid "Fallbacks" +msgstr "Резерв" + msgid "Compress" msgstr "Стиснути" +msgid "Language" +msgstr "Мова" + msgid "Outline Size" msgstr "Розмір обведення" msgid "Variation" msgstr "Дисперсія" +msgid "OpenType" +msgstr "Відкритий Тип" + msgid "Transform" msgstr "Перетворення" @@ -1426,9 +1657,30 @@ msgstr "Collada" msgid "Use Ambient" msgstr "Використовувати адаптивний" +msgid "Bone Renamer" +msgstr "Перейменування кісток" + +msgid "Rename Bones" +msgstr "Перейменувати кістки" + +msgid "Unique Node" +msgstr "Унікальний вузол" + msgid "Make Unique" msgstr "Зробити унікальним" +msgid "Skeleton Name" +msgstr "Назва скелета" + +msgid "Apply Node Transforms" +msgstr "Застосувати перетворення вузлів" + +msgid "Normalize Position Tracks" +msgstr "Нормалізація доріжок позиції" + +msgid "Overwrite Axis" +msgstr "Перезаписати вісь" + msgid "Enable" msgstr "Увімкнути" @@ -1438,6 +1690,18 @@ msgstr "Фільтр" msgid "Threshold" msgstr "Поріг" +msgid "Base Height Adjustment" +msgstr "Регулювання висоти основи" + +msgid "Remove Tracks" +msgstr "Видалення доріжок" + +msgid "Except Bone Transform" +msgstr "За винятком кісткового перетворення" + +msgid "Unimportant Positions" +msgstr "Неважливі позиції" + msgid "Create From" msgstr "Створити на основі" @@ -1447,8 +1711,23 @@ msgstr "Роздільник" msgid "Columns" msgstr "Стовпчики" +msgid "Rows" +msgstr "Ряди" + +msgid "Image Margin" +msgstr "Поле зображення" + +msgid "High Quality" +msgstr "Висока якість" + msgid "Lossy Quality" -msgstr "Із втратою якості" +msgstr "Низька якість" + +msgid "HDR Compression" +msgstr "Стиснення HDR" + +msgid "Channel Pack" +msgstr "Пакет каналів" msgid "Mipmaps" msgstr "Множинне відтворення" @@ -1483,15 +1762,39 @@ msgstr "Масштабувати сітку" msgid "Offset Mesh" msgstr "Зміщення сітки" +msgid "Optimize Mesh" +msgstr "Оптимізувати сітку" + +msgid "Skip Import" +msgstr "Пропустити імпорт" + msgid "NavMesh" msgstr "NavMesh" +msgid "Body Type" +msgstr "Тип тіла" + +msgid "Shape Type" +msgstr "Тип форми" + +msgid "Decomposition" +msgstr "Розкладання" + msgid "Advanced" msgstr "Додатково" msgid "Precision" msgstr "Точність" +msgid "Max Concavity" +msgstr "Макс Увігнутість" + +msgid "Normalize Mesh" +msgstr "Нормалізувати сітку" + +msgid "Primitive" +msgstr "Примітиви" + msgid "Height" msgstr "Висота" @@ -1499,11 +1802,32 @@ msgid "Radius" msgstr "Радіус" msgid "Occluder" -msgstr "Закупорювання" +msgstr "Оклюдер" + +msgid "Simplification Distance" +msgstr "Спрощення відстані" + +msgid "Save to File" +msgstr "Зберегти у файл" msgid "Enabled" msgstr "Увімкнено" +msgid "Make Streamable" +msgstr "Зробити потоковим" + +msgid "Shadow Meshes" +msgstr "Тіньові сітки" + +msgid "Lightmap UV" +msgstr "UV Карти освітлення" + +msgid "LODs" +msgstr "LOD(и)" + +msgid "Use External" +msgstr "Використовувати зовнішні" + msgid "Loop Mode" msgstr "Режим переміщення" @@ -1513,29 +1837,50 @@ msgstr "Зберігати нетипові доріжки" msgid "Optimizer" msgstr "Optimizer (Оптимізатор)" +msgid "Max Velocity Error" +msgstr "Помилка максимальної швидкості" + msgid "Max Angular Error" msgstr "Макс. кутова похибка" +msgid "Max Precision Error" +msgstr "Максимальна похибка точності" + +msgid "Import Tracks" +msgstr "Імпорт доріжок" + +msgid "Bone Map" +msgstr "Карта кістки" + msgid "Nodes" msgstr "Вузли" msgid "Root Type" -msgstr "Root Type (Тип кореня)" +msgstr "Тип кореня" msgid "Root Name" -msgstr "Root Name (Назва кореня)" +msgstr "Назва кореня" + +msgid "Apply Root Scale" +msgstr "Додати Шкалу кореня" msgid "Root Scale" msgstr "Root Scale (Шкала кореня)" msgid "Meshes" -msgstr "Сітка" +msgstr "Меші" msgid "Ensure Tangents" msgstr "Забезпечити дотичність" +msgid "Generate LODs" +msgstr "Згенерувати LOD(и)" + +msgid "Create Shadow Meshes" +msgstr "Створити меш шейдера" + msgid "Light Baking" -msgstr "Light Baking (Запікання світла)" +msgstr "Запікання світла" msgid "Lightmap Texel Size" msgstr "Розмір текселів карти освітлення" @@ -1549,6 +1894,12 @@ msgstr "Використати іменовані оболонки" msgid "FPS" msgstr "Кадри за секунду" +msgid "Trimming" +msgstr "Обрізання" + +msgid "Import Script" +msgstr "Скрипт імпорту" + msgid "Normal Map" msgstr "Нормальне картографування" @@ -1567,12 +1918,18 @@ msgstr "Попереднє множення альфи" msgid "Normal Map Invert Y" msgstr "Інвертування Y нормальної карти" +msgid "HDR as sRGB" +msgstr "HDR як sRGB" + msgid "Size Limit" msgstr "Обмеження розміру" msgid "Detect 3D" msgstr "Виявити 3D (Detect 3D)" +msgid "Compress To" +msgstr "Стиснути до" + msgid "SVG" msgstr "SVG" @@ -1627,6 +1984,9 @@ msgstr "Доступні адреси" msgid "Unset" msgstr "Зняти" +msgid "Set" +msgstr "Встановити" + msgid "Error" msgstr "Помилка" @@ -1717,6 +2077,24 @@ msgstr "Шлях до відкритого ключа SSH" msgid "SSH Private Key Path" msgstr "Шлях до закритого ключа SSH" +msgid "Main Run Args" +msgstr "Аргументи основного запуску" + +msgid "Templates Search Path" +msgstr "Шлях пошуку шаблонів" + +msgid "Naming" +msgstr "Іменування" + +msgid "Default Signal Callback Name" +msgstr "Ім'я сигналу зворотного виклику за замовчуванням" + +msgid "Default Signal Callback to Self Name" +msgstr "Сигнал зворотного виклику за замовчуванням до власного імені" + +msgid "Scene Name Casing" +msgstr "Регістр назв сцени" + msgid "Show Scene Tree Root Selection" msgstr "Показувати кореневе позначення ієрархії сцени" @@ -3440,7 +3818,7 @@ msgid "Parameters" msgstr "Параметри" msgid "Modulate" -msgstr "модуляція" +msgstr "Модулювати" msgid "Visibility AABB" msgstr "AABB видимості" @@ -3796,6 +4174,9 @@ msgstr "Динамічний діапазон" msgid "Propagation" msgstr "Навігація" +msgid "Pose" +msgstr "Поза" + msgid "World Scale" msgstr "Масштаб світу" @@ -3901,6 +4282,9 @@ msgstr "Піктограма розгортання" msgid "Use Top Left" msgstr "Згори ліворуч" +msgid "Indentation" +msgstr "Відступ" + msgid "Edit Alpha" msgstr "Редагувати прозорість" @@ -4256,7 +4640,7 @@ msgid "Light Mask" msgstr "Приготування карти освітлення" msgid "Z Index" -msgstr "Z-індекс" +msgstr "Індекс Z" msgid "Repeat" msgstr "Повторення" @@ -5041,6 +5425,9 @@ msgstr "Сонце" msgid "Panorama" msgstr "Панорама" +msgid "Ground Color" +msgstr "Колір грунту" + msgid "Blend" msgstr "Змішати" @@ -5074,6 +5461,9 @@ msgstr "Розмір зображення" msgid "Use HDR" msgstr "HDR" +msgid "To" +msgstr "До" + msgid "Frames" msgstr "Кадри" @@ -5086,9 +5476,18 @@ msgstr "Камера є активною" msgid "Default Font" msgstr "Типовий шрифт" +msgid "Terrains" +msgstr "Місцевості" + +msgid "Custom Data" +msgstr "Спеціальні дані" + msgid "Transpose" msgstr "Транспонувати" +msgid "Probability" +msgstr "Ймовірність" + msgid "Input Name" msgstr "Карта введення" @@ -5113,6 +5512,12 @@ msgstr "Типове значення" msgid "Color Default" msgstr "Завантажити типовий" +msgid "Use All Surfaces" +msgstr "Використовувати всі поверхні" + +msgid "Surface Index" +msgstr "Індекс поверхні" + msgid "Fallback Environment" msgstr "Перегляд середовища" diff --git a/editor/translations/properties/zh_CN.po b/editor/translations/properties/zh_CN.po index 47877ab915..68817a94fe 100644 --- a/editor/translations/properties/zh_CN.po +++ b/editor/translations/properties/zh_CN.po @@ -220,27 +220,12 @@ msgstr "3D 平移强度" msgid "Editor" msgstr "编辑器" -msgid "Main Run Args" -msgstr "主运行参数" - msgid "Script" msgstr "脚本" msgid "Search in File Extensions" msgstr "搜索文件扩展名" -msgid "Templates Search Path" -msgstr "模板搜索路径" - -msgid "Naming" -msgstr "命名" - -msgid "Default Signal Callback Name" -msgstr "默认信号回调名称" - -msgid "Default Signal Callback to Self Name" -msgstr "默认信号回调为自身名称" - msgid "Physics" msgstr "物理" @@ -784,9 +769,6 @@ msgstr "制作关键帧" msgid "Deletable" msgstr "可删除" -msgid "Scene Name Casing" -msgstr "场景名称大小写" - msgid "Interface" msgstr "界面" @@ -2374,6 +2356,24 @@ msgstr "SSH 公钥路径" msgid "SSH Private Key Path" msgstr "SSH 私钥路径" +msgid "Main Run Args" +msgstr "主运行参数" + +msgid "Templates Search Path" +msgstr "模板搜索路径" + +msgid "Naming" +msgstr "命名" + +msgid "Default Signal Callback Name" +msgstr "默认信号回调名称" + +msgid "Default Signal Callback to Self Name" +msgstr "默认信号回调为自身名称" + +msgid "Scene Name Casing" +msgstr "场景名称大小写" + msgid "Show Scene Tree Root Selection" msgstr "显示场景树根选择" @@ -4240,15 +4240,6 @@ msgstr "底" msgid "Smoothed" msgstr "平滑" -msgid "Follow Smoothing" -msgstr "跟随平滑" - -msgid "Position Smoothing Enabled" -msgstr "启用位置平滑" - -msgid "Position Smoothing Speed" -msgstr "位置平滑速度" - msgid "Rotation Smoothing" msgstr "旋转平滑" diff --git a/editor/translations/properties/zh_TW.po b/editor/translations/properties/zh_TW.po index 69803add62..53ad0c507c 100644 --- a/editor/translations/properties/zh_TW.po +++ b/editor/translations/properties/zh_TW.po @@ -124,9 +124,6 @@ msgstr "音訊" msgid "Editor" msgstr "編輯器" -msgid "Main Run Args" -msgstr "主執行引數" - msgid "Physics" msgstr "物理" @@ -1474,6 +1471,9 @@ msgstr "SSH公鑰路徑" msgid "SSH Private Key Path" msgstr "SSH私鑰路徑" +msgid "Main Run Args" +msgstr "主執行引數" + msgid "Show Scene Tree Root Selection" msgstr "顯示場景樹的根選擇" |