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

@@ -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."