i18n: Sync translations with Weblate

This commit is contained in:
Rémi Verschelde
2024-07-31 17:56:37 +02:00
parent 540c05e141
commit 6cd2876c98
35 changed files with 45660 additions and 1194 deletions

View File

@ -41,7 +41,7 @@
# Rémi Verschelde <remi@godotengine.org>, 2021.
# Antonio Noack <corperateraider@gmail.com>, 2022.
# <artism90@googlemail.com>, 2022, 2023.
# Coxcopi70f00b67b61542fe <hn_vogel@gmx.net>, 2022.
# Coxcopi70f00b67b61542fe <hn_vogel@gmx.net>, 2022, 2024.
# Leon Marz <main@lmarz.org>, 2022.
# Robin <robin.janzen@gmx.net>, 2022.
# Andreas <self@andreasbresser.de>, 2022.
@ -95,8 +95,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"PO-Revision-Date: 2024-07-17 20:09+0000\n"
"Last-Translator: Random Person Games <ranpergames@gmail.com>\n"
"PO-Revision-Date: 2024-07-27 00:54+0000\n"
"Last-Translator: Coxcopi70f00b67b61542fe <hn_vogel@gmx.net>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/godot-"
"class-reference/de/>\n"
"Language: de\n"
@ -9813,9 +9813,34 @@ msgstr ""
"Animation, die als Ausgabe verwendet werden soll. Es ist eine der "
"Animationen, die von [member AnimationTree.anim_player] bereitgestellt werden."
msgid ""
"If [member use_custom_timeline] is [code]true[/code], override the loop "
"settings of the original [Animation] resource with the value."
msgstr ""
"Wenn [member use_custom_timeline] auf [code]true[/code] gesetzt ist, wird der "
"loop-Parameter der ursprünglichen [Animation] Ressource mit diesem Wert "
"überschrieben."
msgid "Determines the playback direction of the animation."
msgstr "Bestimmt die Abspielrichtung der Animation."
msgid ""
"If [member use_custom_timeline] is [code]true[/code], offset the start "
"position of the animation.\n"
"This is useful for adjusting which foot steps first in 3D walking animations."
msgstr ""
"Wenn [member use_custom_timeline] auf [code]true[/code] gesetzt ist, wird der "
"Startzeitpunkt der Animation verschoben.\n"
"Dies kann genutzt werden um anzupassen, welcher Fuß in einer 3D-Laufanimation "
"den ersten Schritt macht."
msgid ""
"If [member use_custom_timeline] is [code]true[/code], offset the start "
"position of the animation."
msgstr ""
"Wenn [member use_custom_timeline] auf [code]true[/code] gesetzt ist, wird der "
"Startzeitpunkt der Animation verschoben."
msgid "Plays animation in forward direction."
msgstr "Spielt die Animation in Vorwärtsrichtung ab."
@ -18278,6 +18303,34 @@ msgstr ""
"[b]Hinweis:[/b] Diese Eigenschaft ist unter Linux, macOS und Windows "
"implementiert."
msgid "Represents a triggered keyboard [Shortcut]."
msgstr "Stellt einen Tastatur-[Shortcut] dar."
msgid ""
"Abstract base class for input events affected by modifier keys like "
"[kbd]Shift[/kbd] and [kbd]Alt[/kbd]."
msgstr ""
"Abstrakte Basisklasse für Eingabeereignisse, die durch Zusatztasten wie "
"[kbd]Shift[/kbd] und [kbd]Alt[/kbd] aktiviert wurden."
msgid "State of the [kbd]Alt[/kbd] modifier."
msgstr "Zustand der [kbd]Alt[/kbd] Zusatztaste."
msgid "State of the [kbd]Ctrl[/kbd] modifier."
msgstr "Zustand der [kbd]Ctrl[/kbd] Zusatztaste."
msgid "State of the [kbd]Shift[/kbd] modifier."
msgstr "Zustand der [kbd]Shift[/kbd] Zusatztaste."
msgid "Sets a deadzone value for the action."
msgstr "Bestimmt den Deadzone-Wert für die Aktion."
msgid "Placeholder for the root [Node] of a [PackedScene]."
msgstr "Platzhalter für die Root-Node einer [PackedScene]."
msgid "A built-in type for integers."
msgstr "Ein eingebauter Datentyp für Ganzzahlen."
msgid ""
"Constructs a new [int] from a [bool]. [code]true[/code] is converted to "
"[code]1[/code] and [code]false[/code] is converted to [code]0[/code]."
@ -18285,6 +18338,13 @@ msgstr ""
"Konstruiert ein neues [int] aus einem [bool]. [code]true[/code] wird in "
"[code]1[/code] und [code]false[/code] wird in [code]0[/code] umgewandelt."
msgid ""
"Constructs a new [int] from a [float]. This will truncate the [float], "
"discarding anything after the floating point."
msgstr ""
"Konstruiert einen neuen [int] aus einem [float]. Dabei wird der [float] "
"gekürzt, wodurch alle Nachkommastellen verworfen werden."
msgid ""
"Multiplies each component of the [Vector2] by the [int].\n"
"[codeblock]\n"
@ -18296,6 +18356,9 @@ msgstr ""
"print(2 * Vector2(1, 4)) # Druckt (2, 8)\n"
"[/codeblock]"
msgid "Multiplies the [float] by the [int]. The result is a [float]."
msgstr "Multipliziert den [float] mit dem [int]. Das Ergebnis ist ein [float]."
msgid ""
"Divides the two [int]s. The result is an [int]. This will truncate the "
"[float], discarding anything after the floating point.\n"
@ -18328,6 +18391,78 @@ msgstr ""
"print(~(-7)) # Gibt 6 zurück\n"
"[/codeblock]"
msgid "Internet protocol (IP) support functions such as DNS resolution."
msgstr "Internetprotokoll (IP) unterstützt Funktionen wie DNS-Auflösung."
msgid "Returns all the user's current IPv4 and IPv6 addresses as an array."
msgstr ""
"Gibt alle derzeitigen IPv4- und IPv6-Addressen des Nutzers as Array zurück."
msgid ""
"Returns all network adapters as an array.\n"
"Each adapter is a dictionary of the form:\n"
"[codeblock]\n"
"{\n"
" \"index\": \"1\", # Interface index.\n"
" \"name\": \"eth0\", # Interface name.\n"
" \"friendly\": \"Ethernet One\", # A friendly name (might be empty).\n"
" \"addresses\": [\"192.168.1.101\"], # An array of IP addresses associated "
"to this interface.\n"
"}\n"
"[/codeblock]"
msgstr ""
"Gibt alle Netzwerkadapter als Array zurück.\n"
"Jeder Adapter wird durch ein Dictionary im folgenden Format dargestellt:\n"
"[codeblock]\n"
"{\n"
" \"index\": \"1\", # Index der Schnittstelle.\n"
" \"name\": \"eth0\", # Name der Schnittstelle.\n"
" \"friendly\": \"Ethernet One\", # Benutzerfreundlicherer Name (kann leer "
"sein).\n"
" \"addresses\": [\"192.168.1.101\"], # Ein Array von IP-Addressen die zu "
"dieser Schnittstelle gehören.\n"
"}\n"
"[/codeblock]"
msgid "DNS hostname resolver status: No status."
msgstr "DNS-Hostname-Auflöser Status: Kein Status."
msgid "DNS hostname resolver status: Waiting."
msgstr "DNS-Hostname-Auflöser Status: Wartend."
msgid "DNS hostname resolver status: Done."
msgstr "DNS-Hostname-Auflöser Status: Fertig."
msgid "DNS hostname resolver status: Error."
msgstr "DNS-Hostname-Auflöser Status: Fehler."
msgid "Address type: None."
msgstr "Addresstyp: Keiner."
msgid "Address type: Internet protocol version 4 (IPv4)."
msgstr "Addresstyp: Internetprotokoll Version 4 (IPv4)."
msgid "Address type: Internet protocol version 6 (IPv6)."
msgstr "Addresstyp: Internetprotokoll Version 6 (IPv6)."
msgid "Address type: Any."
msgstr "Addresstyp: Beliebig."
msgid "A vertical list of selectable items with one or multiple columns."
msgstr ""
"Eine vertikale Liste auswählbarer Artikel mit einer oder mehreren Spalten."
msgid "Helper class for creating and parsing JSON data."
msgstr "Hilfsklasse um JSON-Daten zu erstellen und aufzuschlüsseln."
msgid ""
"Returns [code]0[/code] if the last call to [method parse] was successful, or "
"the line number where the parse failed."
msgstr ""
"Gibt [code]0[/code] zurück wenn der letzte Aufruf von [method parse] "
"erfolgreich war, oder die Nummer der Zeile, in der die Aufschlüsselung "
"fehlschlug."
msgid "Returns the moving object's travel before collision."
msgstr "Gibt den Weg des bewegten Objekts vor der Kollision zurück."

View File

@ -82,12 +82,13 @@
# Augusto Hernández <agumano@outlook.es>, 2024.
# José Artigas <squander@users.noreply.hosted.weblate.org>, 2024.
# Zgtale <zgtale1@hotmail.com>, 2024.
# Juan Matias Olmos <ma7as@protonmail.com>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"PO-Revision-Date: 2024-07-17 20:09+0000\n"
"Last-Translator: Zgtale <zgtale1@hotmail.com>\n"
"PO-Revision-Date: 2024-07-30 16:40+0000\n"
"Last-Translator: Juan Matias Olmos <ma7as@protonmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/es/>\n"
"Language: es\n"
@ -116,7 +117,7 @@ msgid "Other objects"
msgstr "Otros objetos"
msgid "Variant types"
msgstr "Tipo de variantes"
msgstr "Tipos de variantes"
msgid "Description"
msgstr "Descripción"
@ -415,16 +416,16 @@ msgstr ""
"[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"
"informar de errores a los desarrolladores del proyecto o a los usuarios de la "
"extensión.\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"
"assert] sólo se ejecuta en compilaciones 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"
@ -433,7 +434,10 @@ msgstr ""
"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]"
"[/codeblock]\n"
"[b]Nota:[/b] [method assert] es una palabra clave, no una función. Por lo "
"tanto, no puede acceder a él como un [Callable] ni usarlo dentro de "
"expresiones."
msgid ""
"Returns a single character (as a [String]) of the given Unicode code point "
@ -536,6 +540,91 @@ msgstr ""
"[b]Nota:[/b] La llamada a esta función desde un [Thread] no está soportada. "
"Si lo hace, devolverá un array vacío."
msgid ""
"Returns the passed [param instance] converted to a Dictionary. Can be useful "
"for serializing.\n"
"[b]Note:[/b] Cannot be used to serialize objects with built-in scripts "
"attached or objects allocated within built-in scripts.\n"
"[codeblock]\n"
"var foo = \"bar\"\n"
"func _ready():\n"
" var d = inst_to_dict(self)\n"
" print(d.keys())\n"
" print(d.values())\n"
"[/codeblock]\n"
"Prints out:\n"
"[codeblock lang=text]\n"
"[@subpath, @path, foo]\n"
"[, res://test.gd, bar]\n"
"[/codeblock]"
msgstr ""
"Devuelve la [param instance] pasada, convertida en un Dictionary. Puede ser "
"útil para serializar.\n"
"[b]Nota:[/b] No se puede utilizar para serializar objetos con scripts "
"integrados adjuntos u objetos asignados dentro de scripts integrados.\n"
"[codeblock]\n"
"var foo = \"bar\"\n"
"func _ready():\n"
" var d = inst_to_dict(self)\n"
" print(d.keys())\n"
" print(d.values())\n"
"[/codeblock]\n"
"Imprime:\n"
"[codeblock lang=text]\n"
"[@subpath, @path, foo]\n"
"[, res://test.gd, bar]\n"
"[/codeblock]"
msgid ""
"Returns [code]true[/code] if [param value] is an instance of [param type]. "
"The [param type] value must be one of the following:\n"
"- A constant from the [enum Variant.Type] enumeration, for example [constant "
"TYPE_INT].\n"
"- An [Object]-derived class which exists in [ClassDB], for example [Node].\n"
"- A [Script] (you can use any class, including inner one).\n"
"Unlike the right operand of the [code]is[/code] operator, [param type] can be "
"a non-constant value. The [code]is[/code] operator supports more features "
"(such as typed arrays). Use the operator instead of this method if you do not "
"need dynamic type checking.\n"
"Examples:\n"
"[codeblock]\n"
"print(is_instance_of(a, TYPE_INT))\n"
"print(is_instance_of(a, Node))\n"
"print(is_instance_of(a, MyClass))\n"
"print(is_instance_of(a, MyClass.InnerClass))\n"
"[/codeblock]\n"
"[b]Note:[/b] If [param value] and/or [param type] are freed objects (see "
"[method @GlobalScope.is_instance_valid]), or [param type] is not one of the "
"above options, this method will raise a runtime error.\n"
"See also [method @GlobalScope.typeof], [method type_exists], [method Array."
"is_same_typed] (and other [Array] methods)."
msgstr ""
"Devuelve [code]true[/code] si [param valor] es una instancia de [param type]. "
"El valor de [param type] debe de ser uno de los siguientes:\n"
"- Una constante de la enumeración [enum Variant.Type], por ejemplo [constant "
"TYPE_INT].\n"
"- Una clase derivada de [Object] que exista en [ClassDB], por ejemplo "
"[Node].\n"
"- Un [Script] (puedes utilizar cualquier clase, incluyendo una interna).\n"
"A diferencia del operando derecho del operador [code]is[/code], [param type] "
"puede ser un valor no constante. El operador [code]is[/code] soporta más "
"características (como los arrays tipados) y es más eficaz. Utiliza el "
"operador en vez de este método si no necesitas chequeo de tipificación "
"dinámico (dynamic type checking).\n"
"Ejemplos:\n"
"[codeblock]\n"
"print(is_instance_of(a, TYPE_INT))\n"
"print(is_instance_of(a, Node))\n"
"print(is_instance_of(a, MyClass))\n"
"print(is_instance_of(a, MyClass.InnerClass))\n"
"[/codeblock]\n"
"[b]Nota:[/b] Si [param value] y/o [param type] son objetos liberados (ver "
"[method @GlobalScope.is_instance_valid]), o [param type] no es una de las "
"opciones de arriba, este método lanzará un error de ejecución (runtime "
"error).\n"
"Ver también [method @GlobalScope.typeof], [method type_exists], [method Array."
"is_same_typed] (y otros métodos [Array])."
msgid ""
"Returns the length of the given Variant [param var]. The length can be the "
"character count of a [String] or [StringName], the element count of any array "
@ -563,6 +652,126 @@ msgstr ""
"len(b) # Devuelve 6\n"
"[/codeblock]"
msgid ""
"Returns a [Resource] from the filesystem located at the absolute [param "
"path]. Unless it's already referenced elsewhere (such as in another script or "
"in the scene), the resource is loaded from disk on function call, which might "
"cause a slight delay, especially when loading large scenes. To avoid "
"unnecessary delays when loading something multiple times, either store the "
"resource in a variable or use [method preload]. This method is equivalent of "
"using [method ResourceLoader.load] with [constant ResourceLoader."
"CACHE_MODE_REUSE].\n"
"[b]Note:[/b] Resource paths can be obtained by right-clicking on a resource "
"in the FileSystem dock and choosing \"Copy Path\", or by dragging the file "
"from the FileSystem dock into the current script.\n"
"[codeblock]\n"
"# Load a scene called \"main\" located in the root of the project directory "
"and cache it in a variable.\n"
"var main = load(\"res://main.tscn\") # main will contain a PackedScene "
"resource.\n"
"[/codeblock]\n"
"[b]Important:[/b] Relative paths are [i]not[/i] relative to the script "
"calling this method, instead it is prefixed with [code]\"res://\"[/code]. "
"Loading from relative paths might not work as expected.\n"
"This function is a simplified version of [method ResourceLoader.load], which "
"can be used for more advanced scenarios.\n"
"[b]Note:[/b] Files have to be imported into the engine first to load them "
"using this function. If you want to load [Image]s at run-time, you may use "
"[method Image.load]. If you want to import audio files, you can use the "
"snippet described in [member AudioStreamMP3.data].\n"
"[b]Note:[/b] If [member ProjectSettings.editor/export/"
"convert_text_resources_to_binary] is [code]true[/code], [method @GDScript."
"load] will not be able to read converted files in an exported project. If you "
"rely on run-time loading of files present within the PCK, set [member "
"ProjectSettings.editor/export/convert_text_resources_to_binary] to "
"[code]false[/code]."
msgstr ""
"Carga un [Resource] del sistema de archivos ubicado en la ruta absoluta "
"[param path]. El recurso es cargado en la llamada al método (a menos que ya "
"esté referenciado en otro lugar, por ejemplo, en otro script o en la escena), "
"lo que puede causar un ligero retraso, especialmente al cargar escenas "
"grandes. Para evitar retrasos innecesarios al cargar algo varias veces, "
"almacena el recurso en una variable o utiliza precarga [method preload]. Este "
"método es equivalente a usar [method ResourceLoader.load] con [constant "
"ResourceLoader.CACHE_MODE_REUSE].\n"
"[b]Nota:[/b] Las rutas de los recursos pueden obtenerse haciendo clic derecho "
"sobre un recurso en el panel FileSystem y eligiendo \"Copiar Ruta\" o "
"arrastrando el archivo desde el panel FileSystem al script.\n"
"[codeblock]\n"
"# Carga una escena llamada \"main\" ubicada en la raíz del directorio del "
"proyecto y la almacena en una variable.\n"
"var main = load(\"res://main.tscn\") # main contendrá un recurso "
"PackedScene.\n"
"[/codeblock]\n"
"[b]Importante:[/b] Las rutas relativas [i]no[/i] son relativas al script que "
"llama a este método, sino que se anteponen con [code]\"res://\"[/code]. La "
"carga desde rutas relativas podría no funcionar como se espera. Este método "
"es una versión simplificada de [method ResourceLoader.load], el cual puede "
"ser usado en escenarios más avanzados.\n"
"[b]Nota:[/b] Los archivos se deben importar primero al motor para cargarlos "
"utilizando esta función. Si desea cargar [Image]s en tiempo de ejecución, "
"puede utilizar [method Image.load]. Si desea importar archivos de audio, "
"puede utilizar el snippet descrito en [member AudioStreamMP3.data].\n"
"[b]Nota:[/b] Si [member ProjectSettings.editor/export/"
"convert_text_resources_to_binary] es [code]true[/code], [method @GDScript."
"load] no podrá leer los archivos convertidos en un proyecto exportado. Si "
"depende de la carga en tiempo de ejecución de los archivos presentes en el "
"PCK, configure [member ProjectSettings.editor/export/"
"convert_text_resources_to_binary] como [code]false[/code]."
msgid ""
"Returns a [Resource] from the filesystem located at [param path]. During run-"
"time, the resource is loaded when the script is being parsed. This function "
"effectively acts as a reference to that resource. Note that this function "
"requires [param path] to be a constant [String]. If you want to load a "
"resource from a dynamic/variable path, use [method load].\n"
"[b]Note:[/b] Resource paths can be obtained by right-clicking on a resource "
"in the Assets Panel and choosing \"Copy Path\", or by dragging the file from "
"the FileSystem dock into the current script.\n"
"[codeblock]\n"
"# Create instance of a scene.\n"
"var diamond = preload(\"res://diamond.tscn\").instantiate()\n"
"[/codeblock]\n"
"[b]Note:[/b] [method preload] is a keyword, not a function. So you cannot "
"access it as a [Callable]."
msgstr ""
"Devuelve un [Resource] del sistema de archivos ubicado en la ruta [param "
"path]. En tiempo de ejecución, el recurso se carga durante el análisis "
"sintáctico del script. Esta función efectivamente actúa como una referencia a "
"ese recurso. Tenga en cuenta que el método requiere que [param path] sea una "
"constante [String]. Si desea cargar un recurso de una ruta dinámica/variable, "
"utilice [method load].\n"
"[b]Nota:[/b] Las rutas de los recursos se pueden obtener haciendo clic con el "
"botón derecho del ratón en un recurso del panel FileSystem y eligiendo "
"\"Copiar Ruta\" o arrastrando el archivo desde el panel al script.\n"
"[codeblock]\n"
"# Crea la instancia de una escena.\n"
"var diamante = preload(\"res://diamante.tscn\").instantiate()\n"
"[/codeblock]\n"
"[b]Nota:[/b] [method preload] es una palabra reservada, no una función. Por "
"lo que no la puedes usar como una [Callable]."
msgid ""
"Like [method @GlobalScope.print], but includes the current stack frame when "
"running with the debugger turned on.\n"
"The output in the console may look like the following:\n"
"[codeblock lang=text]\n"
"Test print\n"
"At: res://test.gd:15:_process()\n"
"[/codeblock]\n"
"[b]Note:[/b] Calling this function from a [Thread] is not supported. Doing so "
"will instead print the thread ID."
msgstr ""
"Igual a [method @GlobalScope.print], pero incluye el frame de pila actual "
"cuando se ejecuta con el depurador activado.\n"
"La salida en la consola puede verse de la siguiente forma:\n"
"[codeblock lang=text]\n"
"Impresión de prueba\n"
"At: res://test.gd:15:_process()\n"
"[/codeblock]\n"
"[b]Nota:[/b] No se soporta la llamada a esta función desde un [Thread]. Si lo "
"hace, se imprimirá el ID del hilo."
msgid ""
"Returns [code]true[/code] if the given [Object]-derived class exists in "
"[ClassDB]. Note that [Variant] data types are not registered in [ClassDB].\n"
@ -665,6 +874,47 @@ msgstr ""
"Sprite, etc) . Para una mejor claridad, se recomienda usar en su lugar "
"[annotation @export_group] y [annotation @export_subgroup]."
msgid ""
"Allows you to set a custom hint, hint string, and usage flags for the "
"exported property. Note that there's no validation done in GDScript, it will "
"just pass the parameters to the editor.\n"
"[codeblock]\n"
"@export_custom(PROPERTY_HINT_NONE, \"suffix:m\") var suffix: Vector3\n"
"[/codeblock]\n"
"[b]Note:[/b] Regardless of the [param usage] value, the [constant "
"PROPERTY_USAGE_SCRIPT_VARIABLE] flag is always added, as with any explicitly "
"declared script variable."
msgstr ""
"Le permite establecer una sugerencia personalizada, una cadena de sugerencia "
"e indicadores de uso para la propiedad exportada. Tenga en cuenta que no se "
"realiza ninguna validación en GDScript, simplemente se pasarán los parámetros "
"al editor.\n"
"[codeblock]\n"
"@export_custom(PROPERTY_HINT_NONE, \"suffix:m\") var suffix: Vector3\n"
"[/codeblock]\n"
"[b]Nota:[/b] Independientemente del valor de [param usage], siempre se agrega "
"el indicador [constant PROPERTY_USAGE_SCRIPT_VARIABLE], como ocurre con "
"cualquier variable de script declarada explícitamente."
msgid ""
"Export an integer property as a bit flag field for 3D physics layers. The "
"widget in the Inspector dock will use the layer names defined in [member "
"ProjectSettings.layer_names/3d_physics/layer_1].\n"
"See also [constant PROPERTY_HINT_LAYERS_3D_PHYSICS].\n"
"[codeblock]\n"
"@export_flags_3d_physics var physics_layers: int\n"
"@export_flags_3d_physics var physics_layers_array: Array[int]\n"
"[/codeblock]"
msgstr ""
"Exporta una propiedad entera como un campo de bandera de bits para capas de "
"física 3D. El widget del panel del Inspector usará los nombres de capa "
"definidos en [member ProjectSettings.layer_names/3d_physics/layer_1].\n"
"Vea también [constant PROPERTY_HINT_LAYERS_3D_PHYSICS].\n"
"[codeblock]\n"
"@export_flags_3d_physics var physics_layers: int\n"
"@export_flags_3d_physics var physics_layers_array: Array[int]\n"
"[/codeblock]"
msgid ""
"Define a new group for the following exported properties. This helps to "
"organize properties in the Inspector dock. Groups can be added with an "
@ -826,6 +1076,25 @@ msgstr ""
"@onready var character_name: Label = $Label\n"
"[/codeblock]"
msgid ""
"Make a script with static variables to not persist after all references are "
"lost. If the script is loaded again the static variables will revert to their "
"default values.\n"
"[b]Note:[/b] As annotations describe their subject, the [annotation "
"@static_unload] annotation must be placed before the class definition and "
"inheritance.\n"
"[b]Warning:[/b] Currently, due to a bug, scripts are never freed, even if "
"[annotation @static_unload] annotation is used."
msgstr ""
"Cree un script con variables estáticas que no persistan después de que se "
"pierdan todas las referencias. Si el script se carga nuevamente, las "
"variables estáticas volverán a sus valores predeterminados.\n"
"[b]Nota:[/b] Como las anotaciones describen su subject, la anotación "
"[annotation @static_unload] debe colocarse antes de la definición de clase y "
"la herencia.\n"
"[b]Advertencia:[/b] Actualmente, debido a un error, los scripts nunca se "
"liberan, incluso si se usa la anotación [annotation @static_unload]."
msgid ""
"Mark the current script as a tool script, allowing it to be loaded and "
"executed by the editor. See [url=$DOCS_URL/tutorials/plugins/"
@ -1076,6 +1345,52 @@ msgstr ""
"[b]Nota:[/b] Esta función [i]no[/i] es la misma que [code]int(x)[/code], la "
"cual redondea hacia 0."
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]\n"
"[b]Note:[/b] When using this on vectors it will [i]not[/i] perform component-"
"wise maximum, and will pick the largest value when compared using [code]x < "
"y[/code]. To perform component-wise maximum, use [method Vector2.max], "
"[method Vector2i.max], [method Vector3.max], [method Vector3i.max], [method "
"Vector4.max], and [method Vector4i.max]."
msgstr ""
"Devuelve el máximo de los valores numéricos dados. Esta función puede tomar "
"cualquier número de argumentos.\n"
"[codeblock]\n"
"max(1, 7, 3, -6, 5) # Devuelve 7\n"
"[/codeblock]\n"
"[b]Nota:[/b] Al usarse en vectores, [i]no[/i] calculará el máximo por "
"componente y elegirá el valor más grande cuando se compare utilizando [code]x "
"< y[/code]. Para realizar el máximo por componente, use [method Vector2.max], "
"[method Vector2i.max], [method Vector3.max], [method Vector3i.max], [method "
"Vector4.max] y [method Vector4i.max]."
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]\n"
"[b]Note:[/b] When using this on vectors it will [i]not[/i] perform component-"
"wise minimum, and will pick the smallest value when compared using [code]x < "
"y[/code]. To perform component-wise minimum, use [method Vector2.min], "
"[method Vector2i.min], [method Vector3.min], [method Vector3i.min], [method "
"Vector4.min], and [method Vector4i.min]."
msgstr ""
"Devuelve el mínimo de los valores numéricos dados. Esta función puede recibir "
"cualquier número de argumentos.\n"
"[codeblock]\n"
"min(1, 7, 3, -6, 5) # Devuelve -6\n"
"[/codeblock]\n"
"[b]Nota:[/b] Al usarlo en vectores, [i]no[/i] calculará el mínimo de cada "
"componente y elegirá el valor más pequeño cuando se compare utilizando "
"[code]x < y[/code]. Para realizar el mínimo de cada componente, use [method "
"Vector2.min], [method Vector2i.min], [method Vector3.min], [method Vector3i."
"min], [method Vector4.min] y [method Vector4i.min]."
msgid ""
"Wraps [param value] between [code]0[/code] and the [param length]. If the "
"limit is reached, the next value the function returns is decreased to the "
@ -1111,6 +1426,101 @@ msgstr ""
"pingpong(6.0, 3.0) # Devuelve 0.0\n"
"[/codeblock]"
msgid ""
"Converts one or more arguments of any type to string in the best way possible "
"and prints them to the console.\n"
"The following BBCode tags are supported: [code]b[/code], [code]i[/code], "
"[code]u[/code], [code]s[/code], [code]indent[/code], [code]code[/code], "
"[code]url[/code], [code]center[/code], [code]right[/code], [code]color[/"
"code], [code]bgcolor[/code], [code]fgcolor[/code].\n"
"Color tags only support the following named colors: [code]black[/code], "
"[code]red[/code], [code]green[/code], [code]yellow[/code], [code]blue[/code], "
"[code]magenta[/code], [code]pink[/code], [code]purple[/code], [code]cyan[/"
"code], [code]white[/code], [code]orange[/code], [code]gray[/code]. "
"Hexadecimal color codes are not supported.\n"
"URL tags only support URLs wrapped by a URL tag, not URLs with a different "
"title.\n"
"When printing to standard output, the supported subset of BBCode is converted "
"to ANSI escape codes for the terminal emulator to display. Support for ANSI "
"escape codes varies across terminal emulators, especially for italic and "
"strikethrough. In standard output, [code]code[/code] is represented with "
"faint text but without any font change. Unsupported tags are left as-is in "
"standard output.\n"
"[codeblocks]\n"
"[gdscript skip-lint]\n"
"print_rich(\"[color=green][b]Hello world![/b][/color]\") # Prints out \"Hello "
"world!\" in green with a bold font\n"
"[/gdscript]\n"
"[csharp skip-lint]\n"
"GD.PrintRich(\"[color=green][b]Hello world![/b][/color]\"); // Prints out "
"\"Hello world!\" in green with a bold font\n"
"[/csharp]\n"
"[/codeblocks]\n"
"[b]Note:[/b] Consider using [method push_error] and [method push_warning] to "
"print error and warning messages instead of [method print] or [method "
"print_rich]. This distinguishes them from print messages used for debugging "
"purposes, while also displaying a stack trace when an error or warning is "
"printed.\n"
"[b]Note:[/b] On Windows, only Windows 10 and later correctly displays ANSI "
"escape codes in standard output.\n"
"[b]Note:[/b] Output displayed in the editor supports clickable [code skip-"
"lint][url=address]text[/url][/code] tags. The [code skip-lint][url][/code] "
"tag's [code]address[/code] value is handled by [method OS.shell_open] when "
"clicked."
msgstr ""
"Convierte uno o más argumentos de cualquier tipo en una cadena de la mejor "
"manera posible y los imprime en la consola.\n"
"Se admiten las siguientes etiquetas BBCode: [code]b[/code], [code]i[/code], "
"[code]u[/code], [code]s[/code], [code]indent[/code], [code]code[/code], "
"[code]url[/code], [code]center[/code], [code]right[/code], [code]color[/"
"code], [code]bgcolor[/code], [code]fgcolor[/code].\n"
"Las etiquetas de color solo admiten los siguientes nombres de colores: "
"[code]black[/code], [code]red[/code], [code]green[/code], [code]yellow[/"
"code], [code]blue[/code], [code]magenta[/code], [code]pink[/code], "
"[code]purple[/code], [code]cyan[/code], [code]white[/code], [code]orange[/"
"code], [code]gray[/code]. No se cuenta con soporte para códigos de color "
"hexadecimales.\n"
"Las etiquetas URL solo admiten URL envueltas por una etiqueta URL, no así URL "
"con un título diferente.\n"
"Al imprimir en la salida estándar, el subconjunto compatible de BBCode se "
"convierte en códigos de escape ANSI para que el emulador de terminal los "
"muestre. La compatibilidad con los códigos de escape ANSI varía entre los "
"emuladores de terminal, especialmente para cursiva y tachado. En la salida "
"estándar, [code]code[/code] se representa con texto tenue pero sin ningún "
"cambio de fuente. Las etiquetas no compatibles se dejan tal como están en la "
"salida estándar.\n"
"[codeblocks]\n"
"[gdscript skip-lint]\n"
"print_rich(\"[color=green][b]¡Hola mundo![/b][/color]\") # Imprime \"¡Hola "
"mundo!\" en verde con una fuente en negrita\n"
"[/gdscript]\n"
"[csharp skip-lint]\n"
"GD.PrintRich(\"[color=green][b]¡Hola mundo![/b][/color]\"); // Imprime "
"\"¡Hola mundo!\" en verde con una fuente en negrita\n"
"[/csharp]\n"
"[/codeblocks]\n"
"[b]Nota:[/b] Considere usar [method push_error] y [method push_warning] para "
"imprimir mensajes de error y advertencia en lugar de [method print] o [method "
"print_rich]. Esto los distingue de los mensajes de impresión utilizados para "
"fines de depuración, mientras que también muestra un seguimiento de la pila "
"cuando se imprime un error o una advertencia.\n"
"[b]Nota:[/b] En Windows, solo Windows 10 y versiones posteriores muestran "
"correctamente los códigos de escape ANSI en la salida estándar.\n"
"[b]Nota:[/b] La salida que se muestra en el editor admite etiquetas [code "
"skip-lint][url=address]texto[/url][/code] en las que se puede hacer clic. El "
"valor [code]address[/code] de la etiqueta [code skip-lint][url][/code] es "
"manejado por [method OS.shell_open] cuando se hace clic en ella."
msgid ""
"If verbose mode is enabled ([method OS.is_stdout_verbose] returning "
"[code]true[/code]), converts one or more arguments of any type to string in "
"the best way possible and prints them to the console."
msgstr ""
"Si el modo detallado (verbose mode) está habilitado ([method OF."
"is_stdout_verbose] devolverá [code]true[/code]), convierte uno o más "
"argumentos de cualquier tipo en una cadena de la mejor manera posible y los "
"imprime en la consola."
msgid "The [AudioServer] singleton."
msgstr "El singleton [AudioServer]."
@ -11968,6 +12378,120 @@ msgstr ""
"los bump maps parezcan más grandes mientras que un valor más bajo los hará "
"parecer más suaves."
msgid ""
"An advanced [Variant] type. All classes in the engine inherit from Object. "
"Each class may define new properties, methods or signals, which are available "
"to all inheriting classes. For example, a [Sprite2D] instance is able to call "
"[method Node.add_child] because it inherits from [Node].\n"
"You can create new instances, using [code]Object.new()[/code] in GDScript, or "
"[code]new GodotObject[/code] in C#.\n"
"To delete an Object instance, call [method free]. This is necessary for most "
"classes inheriting Object, because they do not manage memory on their own, "
"and will otherwise cause memory leaks when no longer in use. There are a few "
"classes that perform memory management. For example, [RefCounted] (and by "
"extension [Resource]) deletes itself when no longer referenced, and [Node] "
"deletes its children when freed.\n"
"Objects can have a [Script] attached to them. Once the [Script] is "
"instantiated, it effectively acts as an extension to the base class, allowing "
"it to define and inherit new properties, methods and signals.\n"
"Inside a [Script], [method _get_property_list] may be overridden to customize "
"properties in several ways. This allows them to be available to the editor, "
"display as lists of options, sub-divide into groups, save on disk, etc. "
"Scripting languages offer easier ways to customize properties, such as with "
"the [annotation @GDScript.@export] annotation.\n"
"Godot is very dynamic. An object's script, and therefore its properties, "
"methods and signals, can be changed at run-time. Because of this, there can "
"be occasions where, for example, a property required by a method may not "
"exist. To prevent run-time errors, see methods such as [method set], [method "
"get], [method call], [method has_method], [method has_signal], etc. Note that "
"these methods are [b]much[/b] slower than direct references.\n"
"In GDScript, you can also check if a given property, method, or signal name "
"exists in an object with the [code]in[/code] operator:\n"
"[codeblock]\n"
"var node = Node.new()\n"
"print(\"name\" in node) # Prints true\n"
"print(\"get_parent\" in node) # Prints true\n"
"print(\"tree_entered\" in node) # Prints true\n"
"print(\"unknown\" in node) # Prints false\n"
"[/codeblock]\n"
"Notifications are [int] constants commonly sent and received by objects. For "
"example, on every rendered frame, the [SceneTree] notifies nodes inside the "
"tree with a [constant Node.NOTIFICATION_PROCESS]. The nodes receive it and "
"may call [method Node._process] to update. To make use of notifications, see "
"[method notification] and [method _notification].\n"
"Lastly, every object can also contain metadata (data about data). [method "
"set_meta] can be useful to store information that the object itself does not "
"depend on. To keep your code clean, making excessive use of metadata is "
"discouraged.\n"
"[b]Note:[/b] Unlike references to a [RefCounted], references to an object "
"stored in a variable can become invalid without being set to [code]null[/"
"code]. To check if an object has been deleted, do [i]not[/i] compare it "
"against [code]null[/code]. Instead, use [method @GlobalScope."
"is_instance_valid]. It's also recommended to inherit from [RefCounted] for "
"classes storing data instead of [Object].\n"
"[b]Note:[/b] The [code]script[/code] is not exposed like most properties. To "
"set or get an object's [Script] in code, use [method set_script] and [method "
"get_script], respectively."
msgstr ""
"Un tipo [Variant] avanzado. Todas las clases del motor heredan de Object. "
"Cada clase puede definir nuevas propiedades, métodos o señales, que están "
"disponibles para todas las clases que heredan. Por ejemplo, una instancia "
"[Sprite2D] puede llamar a [method Node.add_child] porque hereda de [Node].\n"
"Puede crear nuevas instancias, utilizando [code]Object.new()[/code] en "
"GDScript, o [code]new GodotObject[/code] en C#.\n"
"Para eliminar una instancia de Object, llame a [method free]. Esto es "
"necesario para la mayoría de las clases que heredan Object, porque no "
"administran la memoria por sí mismas y, de lo contrario, causarán fugas de "
"memoria cuando ya no se utilicen. Hay algunas clases que realizan la "
"administración de la memoria. Por ejemplo, [RefCounted] (y por extensión "
"[Resource]) se elimina a sí misma cuando ya no se hace referencia a ella, y "
"[Node] elimina a sus hijos cuando se libera.\n"
"Object puede tener un [Script] adjunto. Una vez que se crea una instancia de "
"[Script], actúa efectivamente como una extensión de la clase base, lo que le "
"permite definir y heredar nuevas propiedades, métodos y señales.\n"
"Dentro de un [Script], [method _get_property_list] se puede anular para "
"personalizar las propiedades de varias maneras. Esto permite que estén "
"disponibles para el editor, se muestren como listas de opciones, se "
"subdividan en grupos, se guarden en el disco, etc. Los lenguajes de script "
"ofrecen formas más sencillas de personalizar las propiedades, como con la "
"anotación [annotation @GDScript.@export].\n"
"Godot es muy dinámico. El script de un objeto, y por lo tanto sus "
"propiedades, métodos y señales, se pueden cambiar en tiempo de ejecución. "
"Debido a esto, puede haber ocasiones en las que, por ejemplo, una propiedad "
"requerida por un método puede no existir. Para evitar errores en tiempo de "
"ejecución, consulte métodos como [method set], [method get], [method call], "
"[method has_method], [method has_signal], etc. Tenga en cuenta que estos "
"métodos son [b]mucho[/b] más lentos que las referencias directas.\n"
"En GDScript, también puede comprobar si una propiedad, método o nombre de "
"señal determinados existe en un objeto con el operador [code]in[/code]:\n"
"[codeblock]\n"
"var node = Node.new()\n"
"print(\"name\" in node) # Imprime true\n"
"print(\"get_parent\" in node) # Imprime true\n"
"print(\"tree_entered\" in node) # Imprime true\n"
"print(\"unknown\" in node) # Imprime false\n"
"[/codeblock]\n"
"Las notificaciones son constantes [int] que los objetos suelen enviar y "
"recibir. Por ejemplo, en cada frame renderizado, [SceneTree] notifica a los "
"nodos dentro del árbol con una [constante Node.NOTIFICATION_PROCESS]. Los "
"nodos la reciben y pueden llamar a [method Node._process] para actualizar. "
"Para hacer uso de las notificaciones, consulte [method notification] y "
"[method _notification].\n"
"Por último, cada objeto también puede contener metadatos (datos sobre datos). "
"[method set_meta] puede ser útil para almacenar información de la que el "
"objeto en sí no depende. Para mantener limpio el código, se desaconseja hacer "
"un uso excesivo de los metadatos.\n"
"[b]Nota:[/b] A diferencia de las referencias a un [RefCounted], las "
"referencias a un objeto almacenado en una variable pueden volverse inválidas "
"sin estar configuradas como [code]null[/code]. Para verificar si se ha "
"eliminado un objeto, [i]no[/i] lo compare con [code]null[/code]. En su lugar, "
"utilice [method @GlobalScope.is_instance_valid]. También se recomienda "
"heredar de [RefCounted] para las clases que almacenan datos en lugar de "
"[Object].\n"
"[b]Nota:[/b] El [code]script[/code] no está expuesto como la mayoría de las "
"propiedades. Para configurar u obtener el [Script] de un objeto en el código, "
"use [method set_script] y [method get_script], respectivamente."
msgid "Object notifications"
msgstr "Notificaciones de objeto"
@ -17729,6 +18253,189 @@ msgstr ""
"Hace que las operaciones de \"hacer\"/\"deshacer\" se mantengan en acciones "
"separadas."
msgid ""
"This class can be used to discover compatible [UPNPDevice]s on the local "
"network and execute commands on them, like managing port mappings (for port "
"forwarding/NAT traversal) and querying the local and remote network IP "
"address. Note that methods on this class are synchronous and block the "
"calling thread.\n"
"To forward a specific port (here [code]7777[/code], note both [method "
"discover] and [method add_port_mapping] can return errors that should be "
"checked):\n"
"[codeblock]\n"
"var upnp = UPNP.new()\n"
"upnp.discover()\n"
"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
"upnp.delete_port_mapping(port)\n"
"[/codeblock]\n"
"[b]Note:[/b] UPnP discovery blocks the current thread. To perform discovery "
"without blocking the main thread, use [Thread]s like this:\n"
"[codeblock]\n"
"# Emitted when UPnP port mapping setup is completed (regardless of success or "
"failure).\n"
"signal upnp_completed(error)\n"
"\n"
"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
"func _upnp_setup(server_port):\n"
" # UPNP queries take some time.\n"
" var upnp = UPNP.new()\n"
" var err = upnp.discover()\n"
"\n"
" if err != OK:\n"
" push_error(str(err))\n"
" emit_signal(\"upnp_completed\", err)\n"
" return\n"
"\n"
" if upnp.get_gateway() and upnp.get_gateway().is_valid_gateway():\n"
" upnp.add_port_mapping(server_port, server_port, ProjectSettings."
"get_setting(\"application/config/name\"), \"UDP\")\n"
" upnp.add_port_mapping(server_port, server_port, ProjectSettings."
"get_setting(\"application/config/name\"), \"TCP\")\n"
" emit_signal(\"upnp_completed\", OK)\n"
"\n"
"func _ready():\n"
" thread = Thread.new()\n"
" thread.start(_upnp_setup.bind(SERVER_PORT))\n"
"\n"
"func _exit_tree():\n"
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
"[/codeblock]\n"
"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
"\"internet gateway device\", short IGD) refers to network devices that allow "
"computers in the local network to access the internet (\"wide area network\", "
"WAN). These gateways are often also called \"routers\".\n"
"[b]Pitfalls:[/b]\n"
"- As explained above, these calls are blocking and shouldn't be run on the "
"main thread, especially as they can block for multiple seconds at a time. Use "
"threading!\n"
"- Networking is physical and messy. Packets get lost in transit or get "
"filtered, addresses, free ports and assigned mappings change, and devices may "
"leave or join the network at any time. Be mindful of this, be diligent when "
"checking and handling errors, and handle these gracefully if you can: add "
"clear error UI, timeouts and re-try handling.\n"
"- Port mappings may change (and be removed) at any time, and the remote/"
"external IP address of the gateway can change likewise. You should consider "
"re-querying the external IP and try to update/refresh the port mapping "
"periodically (for example, every 5 minutes and on networking failures).\n"
"- Not all devices support UPnP, and some users disable UPnP support. You need "
"to handle this (e.g. documenting and requiring the user to manually forward "
"ports, or adding alternative methods of NAT traversal, like a relay/mirror "
"server, or NAT hole punching, STUN/TURN, etc.).\n"
"- Consider what happens on mapping conflicts. Maybe multiple users on the "
"same network would like to play your game at the same time, or maybe another "
"application uses the same port. Make the port configurable, and optimally "
"choose a port automatically (re-trying with a different port on failure).\n"
"[b]Further reading:[/b] If you want to know more about UPnP (and the Internet "
"Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] is "
"a good first stop, the specification can be found at the [url=https://"
"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
"Connectivity Foundation[/url] and Godot's implementation is based on the "
"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
"Esta clase se puede utilizar para descubrir dispositivos UPNP [UPNPDevice] "
"compatibles en la red local y ejecutar comandos en ellos, como administrar "
"asignaciones de puertos (para redireccionamiento de puertos/transmisión NAT) "
"y consultar la dirección IP de la red local y remota. Tenga en cuenta que los "
"métodos de esta clase son sincrónicos y bloquean el hilo de llamada.\n"
"Para redireccionar un puerto específico (aquí [code]7777[/code], tenga en "
"cuenta que tanto [method discover] como [method add_port_mapping] pueden "
"devolver errores que deben comprobarse):\n"
"[codeblock]\n"
"var upnp = UPNP.new()\n"
"upnp.discover()\n"
"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"Para cerrar un puerto específico (por ejemplo, después de haber terminado de "
"usarlo):\n"
"[codeblock]\n"
"upnp.delete_port_mapping(port)\n"
"[/codeblock]\n"
"[b]Nota:[/b] El descubrimiento UPnP bloquea el hilo actual. Para realizar el "
"descubrimiento sin bloquear el hilo principal, use hilos [Thread] como éste:\n"
"[codeblock]\n"
"# Se emite cuando se completa la configuración de la asignación del puerto "
"UPnP (sin importar si se realizó correctamente o no).\n"
"signal upnp_completed(error)\n"
"\n"
"# Reemplace esto con su propio número de puerto de servidor entre 1024 y "
"65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
"func _upnp_setup(server_port):\n"
" # Las consultas UPNP toman algo de tiempo.\n"
" var upnp = UPNP.new()\n"
" var err = upnp.discover()\n"
"\n"
" if err != OK:\n"
" push_error(str(err))\n"
" emit_signal(\"upnp_completed\", err)\n"
" return\n"
"\n"
" if upnp.get_gateway() y upnp.get_gateway().is_valid_gateway():\n"
" upnp.add_port_mapping(server_port, server_port, ProjectSettings."
"get_setting(\"application/config/name\"), \"UDP\")\n"
" upnp.add_port_mapping(server_port, server_port, ProjectSettings."
"get_setting(\"application/config/name\"), \"TCP\")\n"
" emit_signal(\"upnp_completed\", OK)\n"
"\n"
"func _ready():\n"
" thread = Thread.new()\n"
" thread.start(_upnp_setup.bind(SERVER_PORT))\n"
"\n"
"func _exit_tree():\n"
" # Espere a que el hilo termine aquí para manejar la salida del juego "
"mientras el hilo está en ejecución.\n"
" thread.wait_to_finish()\n"
"[/codeblock]\n"
"[b]Terminología:[/b] En el contexto de las redes UPnP, \"puerta de enlace\" "
"(o \"dispositivo de puerta de enlace de Internet\", IGD abreviado) se refiere "
"a los dispositivos de red que permiten que las computadoras en la red local "
"accedan a Internet (\"red de área amplia\", WAN). Estas puertas de enlace a "
"menudo también se denominan \"enrutadores\".\n"
"[b]Problemas:[/b]\n"
"- Como se explicó anteriormente, estas llamadas son bloqueantes y no se deben "
"ejecutar en el hilo principal, especialmente porque pueden bloquearse durante "
"varios segundos a la vez. ¡Use subprocesos!\n"
"- Las redes son físicas y desordenadas. Los paquetes se pierden en tránsito o "
"se filtran, las direcciones, los puertos libres y las redirecciones asignadas "
"cambian, y los dispositivos pueden abandonar o unirse a la red en cualquier "
"momento. Tenga esto en cuenta, sea diligente al verificar y manejar errores, "
"y manéjelos con elegancia si puede: agregue una interfaz de usuario de error "
"clara, tiempos de espera y manejo de reintentos.\n"
"- El mapeo de puertos puede cambiar (y eliminarse) en cualquier momento, y la "
"dirección IP remota/externa de la puerta de enlace también puede cambiar. "
"Debe considerar volver a consultar la IP externa e intentar actualizar/"
"refrescar la asignación de puertos periódicamente (por ejemplo, cada 5 "
"minutos y en caso de fallas de red).\n"
"- No todos los dispositivos admiten UPnP, y algunos usuarios deshabilitan la "
"compatibilidad con UPnP. Debe manejar esto (por ejemplo, documentando y "
"solicitando al usuario que reenvíe puertos manualmente, o agregando métodos "
"alternativos de cruce de NAT, como un servidor de retransmisión/espejo, o "
"perforación de agujeros de NAT, STUN/TURN, etc.).\n"
"- Considere lo que sucede en los conflictos de reenvío. Tal vez varios "
"usuarios en la misma red quieran jugar su juego al mismo tiempo, o tal vez "
"otra aplicación use el mismo puerto. Haga que el puerto sea configurable y, "
"de manera óptima, elija un puerto automáticamente (reintentando con un puerto "
"diferente en caso de falla).\n"
"[b]Lectura adicional:[/b] Si desea obtener más información sobre UPnP (y "
"específicamente sobre el Dispositivo de Puerta de Enlace de Internet (IGD) y "
"el Protocolo de Control de Puerto (PCP)), [url=https://en.wikipedia.org/wiki/"
"Universal_Plug_and_Play]Wikipedia[/url] es una buena primera parada; la "
"especificación se puede encontrar en la [url=https://openconnectivity.org/"
"developer/specifications/upnp-resources/upnp/]Open Connectivity Foundation[/"
"url] y la implementación de Godot se basa en el [url=https://github.com/"
"miniupnp/miniupnp]cliente MiniUPnP[/url]."
msgid "Adds the given [UPNPDevice] to the list of discovered devices."
msgstr "Añade el [UPNPDevice] dado a la lista de dispositivos descubiertos."
@ -19918,6 +20625,30 @@ msgstr ""
"proporcionar información al usuario sobre si hay problemas con el rastreo "
"posicional."
msgid ""
"Triggers a haptic pulse on a device associated with this interface.\n"
"[param action_name] is the name of the action for this pulse.\n"
"[param tracker_name] is optional and can be used to direct the pulse to a "
"specific device provided that device is bound to this haptic.\n"
"[param frequency] is the frequency of the pulse, set to [code]0.0[/code] to "
"have the system use a default frequency.\n"
"[param amplitude] is the amplitude of the pulse between [code]0.0[/code] and "
"[code]1.0[/code].\n"
"[param duration_sec] is the duration of the pulse in seconds.\n"
"[param delay_sec] is a delay in seconds before the pulse is given."
msgstr ""
"Dispara un pulso háptico en un dispositivo asociado con esta interfaz.\n"
"[param action_name] es el nombre de la acción para este pulso.\n"
"[param tracker_name] es opcional y se puede utilizar para dirigir el pulso a "
"un dispositivo específico siempre que el dispositivo esté vinculado a este "
"háptico.\n"
"[param frequency] es la frecuencia del pulso, establecida en [code]0.0[/code] "
"para que el sistema utilice una frecuencia predeterminada.\n"
"[param amplitude] es la amplitud del pulso entre [code]0.0[/code] y "
"[code]1.0[/code].\n"
"[param duration_sec] es la duración del pulso en segundos.\n"
"[param delay_sec] es un retraso en segundos antes de que se dé el pulso."
msgid "Turns the interface off."
msgstr "Apaga la interfaz."

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -18593,14 +18593,6 @@ msgstr ""
"[/csharp]\n"
"[/codeblocks]"
msgid ""
"Creates a [Color] from the given string, which can be either an HTML color "
"code or a named color (case-insensitive). Returns [param default] if the "
"color cannot be inferred from the string."
msgstr ""
"從給定的字串建立 [Color],該字串可以是 HTML 顏色程式碼,也可以是顏色名稱(不區"
"分大小寫)。如果無法從字串中推斷出顏色,則返回 [param default]。"
msgid ""
"Returns the light intensity of the color, as a value between 0.0 and 1.0 "
"(inclusive). This is useful when determining light or dark color. Colors with "
@ -36262,22 +36254,6 @@ msgstr ""
msgid "If [code]true[/code], allows scrolling past the end of the file."
msgstr "如果為 [code]true[/code],則允許滾動越過檔的末尾。"
msgid ""
"If [code]true[/code], allows scrolling in sub-line intervals and enables a "
"smooth scrolling animation when using the mouse wheel to scroll.\n"
"[b]Note:[/b] [member text_editor/behavior/navigation/smooth_scrolling] "
"currently behaves poorly in projects where [member ProjectSettings.physics/"
"common/physics_ticks_per_second] has been increased significantly from its "
"default value ([code]60[/code]). In this case, it is recommended to disable "
"this setting."
msgstr ""
"如果為 [code]true[/code],則允許在子行間隔內滾動,並在使用滑鼠滾輪滾動時啟用平"
"滑的滾動動畫。\n"
"[b]注意:[/b][member text_editor/behavior/navigation/smooth_scrolling] 目前在 "
"[member ProjectSettings.physics/common/physics_ticks_per_second] 從其預設值"
"[code]60[/code])顯著增加的遊戲專案中表現不佳。在這種情況下,建議禁用該設"
"置。"
msgid ""
"If [code]true[/code], prevents automatically switching between the Script and "
"2D/3D screens when selecting a node in the Scene tree dock."
@ -36285,16 +36261,6 @@ msgstr ""
"如果為 [code]true[/code],則在場景樹面板中選擇節點時,可防止自動在腳本和 "
"2D/3D 螢幕之間切換。"
msgid ""
"The number of pixels to scroll with every mouse wheel increment. Higher "
"values make the script scroll by faster when using the mouse wheel.\n"
"[b]Note:[/b] You can hold down [kbd]Alt[/kbd] while using the mouse wheel to "
"temporarily scroll 5 times faster."
msgstr ""
"每個滑鼠滾輪差異量滾動的圖元數。使用滑鼠滾輪時,較高的值會使腳本滾動得更快。\n"
"[b]注意:[/b]可以在按住 [kbd]Alt[/kbd] 的同時,使用滑鼠滾輪將滾動速度暫時提高 "
"5 倍。"
msgid ""
"If [code]true[/code], automatically completes braces when making use of code "
"completion."
@ -49597,16 +49563,6 @@ msgstr ""
msgid "Represents a triggered keyboard [Shortcut]."
msgstr "代表觸發的鍵盤快捷鍵 [Shortcut]。"
msgid ""
"InputEventShortcut is a special event that can be received in [method Node."
"_unhandled_key_input]. It is typically sent by the editor's Command Palette "
"to trigger actions, but can also be sent manually using [method Viewport."
"push_input]."
msgstr ""
"InputEventShortcut 是一種可以在 [method Node._unhandled_key_input] 中收到的特"
"殊事件。通常由編輯器的“命令面板”發送,用於觸發動作,但也可以使用 [method "
"Viewport.push_input] 手動發送。"
msgid ""
"The [Shortcut] represented by this event. Its [method Shortcut.matches_event] "
"method will always return [code]true[/code] for this event."