Sync translations with Weblate and Godot 4.4

This commit is contained in:
Rémi Verschelde
2025-03-24 22:47:12 +01:00
parent 20aecda4e6
commit e2b223c15f
70 changed files with 19523 additions and 5222 deletions

View File

@@ -5,7 +5,7 @@
#
# 44pes Games <44pes.games@gmail.com>, 2020.
# Megamega53 <Christopher.Morales21@myhunter.cuny.edu>, 2020, 2021.
# Javier Ocampos <xavier.ocampos@gmail.com>, 2020, 2021, 2022, 2023.
# Javier Ocampos <xavier.ocampos@gmail.com>, 2020, 2021, 2022, 2023, 2025.
# Serk Lintur <serk.lintur@gmail.com>, 2020.
# Lambientan <pedrogtzr@protonmail.com>, 2020.
# paco <pacosoftfree@protonmail.com>, 2020, 2021.
@@ -99,8 +99,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"PO-Revision-Date: 2025-03-05 16:43+0000\n"
"Last-Translator: Alejandro Moctezuma <moctezumaalejandro25@gmail.com>\n"
"PO-Revision-Date: 2025-03-20 03:49+0000\n"
"Last-Translator: Javier <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/es/>\n"
"Language: es\n"
@@ -108,7 +108,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10.3-dev\n"
"X-Generator: Weblate 5.11-dev\n"
#: doc/tools/make_rst.py
msgid "All classes"
@@ -128,7 +128,7 @@ msgstr "Recursos"
#: doc/tools/make_rst.py
msgid "Editor-only"
msgstr "Solo Editor"
msgstr "Solo para el Editor"
#: doc/tools/make_rst.py
msgid "Other objects"
@@ -136,7 +136,7 @@ msgstr "Otros objetos"
#: doc/tools/make_rst.py
msgid "Variant types"
msgstr "Tipos de variantes"
msgstr "Tipos de Variant"
#: doc/tools/make_rst.py
msgid "Description"
@@ -495,31 +495,31 @@ msgid ""
"[b]Note:[/b] [method assert] is a keyword, not a function. So you cannot "
"access it as a [Callable] or use it inside expressions."
msgstr ""
"Afirma que [param condition] es [code]true[/code]. Si [param condition]es "
"[code]false[/code], se genera un error. Cuando se ejecuta desde el editor, "
"el proyecto en ejecución también se pausará hasta que lo reanude. Esto se "
"puede utilizar como una forma más fuerte de [method @GlobalScope.push_error] "
"para informar de errores a los desarrolladores del proyecto o a los usuarios "
"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 "
"Verifica que la [param condition] sea [code]true[/code]. Si la [param "
"condition] es [code]false[/code], se genera un error. Al ejecutar desde el "
"editor, el proyecto en ejecución también se pausará hasta que lo reanudes. "
"Esto puede usarse como una forma más estricta de [method @GlobalScope."
"push_error] para reportar errores a los desarrolladores del proyecto o a los "
"usuarios de complementos.\n"
"Un mensaje opcional [param message] puede mostrarse además del mensaje "
"genérico \"Assertion failed\". Puedes usar esto 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 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"
"assert] solo se ejecuta en versiones de depuración o al ejecutar el proyecto "
"desde el editor. No incluyas código con efectos secundarios en una llamada a "
"[method assert]. De lo contrario, el proyecto se comportará de manera "
"diferente cuando se exporte en modo de lanzamiento.\n"
"[codeblock]\n"
"# Imagina que siempre queremos que la velocidad esté entre 0 y 20.\n"
"Imagina que siempre queremos que la velocidad esté entre 0 y 20.\n"
"var speed = -10\n"
"assert(speed < 20) # Verdadero, el programa continuará.\n"
"assert(speed >= 0) # Falso, el programa se detendrá.\n"
"assert(speed >= 0 and speed < 20) # También puedes combinar las dos "
"sentencias condicionales en una sola comprobación.\n"
"condiciones en una sola verificación.\n"
"assert(speed < 20, \"el límite de velocidad es 20\") # Muestra un mensaje.\n"
"[/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 "
"tanto, no puedes acceder a ella como un [Callable] ni usarla dentro de "
"expresiones."
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -668,9 +668,30 @@ msgid ""
"reference ([Object], [Dictionary], [Array], and packed arrays) are copied by "
"reference, not duplicated."
msgstr ""
"Convierte la [param instance] pasada en un Dictionary. Puede ser útil para "
"serializar.\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]\n"
"[b]Nota:[/b] Esta función solo puede usarse para serializar objetos con un "
"[GDScript] adjunto almacenado en un archivo separado. No se admiten objetos "
"sin un script adjunto, con un script escrito en otro lenguaje o con un "
"script integrado.\n"
"[b]Nota:[/b] Esta función no es recursiva, lo que significa que los objetos "
"anidados no se representarán como diccionarios. Además, las propiedades "
"pasadas por referencia ([Object], [Dictionary], [Array] y arrays "
"empaquetados) se copian por referencia, no se duplican."
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
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"
@@ -695,19 +716,18 @@ msgid ""
"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"
"Devuelve [code]true[/code] si [param value] es una instancia de [param "
"type]. El valor de [param type] debe 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"
"- Un [Script] (puedes usar cualquier clase, incluidas las internas).\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"
"puede ser un valor no constante. El operador [code]is[/code] admite más "
"características (como arrays tipados). Usa el operador en lugar de este "
"método si no necesitas comprobación dinámica de tipos.\n"
"[b]Ejemplos:[/b]\n"
"[codeblock]\n"
"print(is_instance_of(a, TYPE_INT))\n"
"print(is_instance_of(a, Node))\n"
@@ -716,13 +736,11 @@ msgstr ""
"[/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"
"opciones anteriores, este método generará un error en tiempo de ejecución.\n"
"Ver también [method @GlobalScope.typeof], [method type_exists], [method "
"Array.is_same_typed] (y otros métodos [Array])."
"Array.is_same_typed] (y otros métodos de [Array])."
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
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 "
@@ -736,17 +754,16 @@ msgid ""
"len(b) # Returns 6\n"
"[/codeblock]"
msgstr ""
"Devuelve la longitud de la variable [code]var[/code]. La longitud es el "
"número de caracteres de la cadena, el número de elementos de la matriz, el "
"tamaño del diccionario, etc. Para cualquier otro tipo de Variante, un error "
"de tiempo-de-ejecución es generado y la ejecución el detenida.\n"
"[b]Nota:[/b] Genera un error fatal si la variable no puede proporcionar una "
"longitud.\n"
"Devuelve la longitud del [param var] Variant dado. La longitud puede ser el "
"recuento de caracteres de un [String] o [StringName], el recuento de "
"elementos de cualquier tipo de array, o el tamaño de un [Dictionary]. Para "
"cualquier otro tipo de Variant, se genera un error en tiempo de ejecución y "
"se detiene la ejecución.\n"
"[codeblock]\n"
"a = [1, 2, 3, 4]\n"
"var a = [1, 2, 3, 4]\n"
"len(a) # Devuelve 4\n"
"\n"
"b = \"Hola!\"\n"
"var b = \"¡Hola!\"\n"
"len(b) # Devuelve 6\n"
"[/codeblock]"
@@ -785,17 +802,17 @@ msgid ""
"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 "
"Devuelve un [Resource] del sistema de archivos ubicado en la ruta absoluta "
"[param path]. A menos que ya esté referenciado en otro lugar (como en otro "
"script o en la escena), el recurso se carga desde el disco en la llamada a "
"la función, lo que podría 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"
"veces, almacena el recurso en una variable o usa [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 se pueden obtener haciendo clic "
"derecho sobre un recurso en el panel FileSystem y eligiendo \"Copiar ruta\", "
"o arrastrando el archivo desde el panel FileSystem al script actual.\n"
"[codeblock]\n"
"# Carga una escena llamada \"main\" ubicada en la raíz del directorio del "
"proyecto y la almacena en una variable.\n"
@@ -803,20 +820,20 @@ msgstr ""
"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"
"llama a este método, sino que están prefijadas con [code]\"res://\"[/code]. "
"Cargar desde rutas relativas puede no funcionar como se espera.\n"
"Esta función es una versión simplificada de [method ResourceLoader.load], "
"que puede usarse para escenarios más avanzados.\n"
"[b]Nota:[/b] Los archivos deben importarse primero en el motor para poder "
"cargarlos usando esta función. Si deseas cargar [Image]s en tiempo de "
"ejecución, puedes usar [method Image.load]. Si deseas importar archivos de "
"audio, puedes usar el fragmento 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]."
"convert_text_resources_to_binary] está configurado como [code]true[/code], "
"[method @GDScript.load] no podrá leer los archivos convertidos en un "
"proyecto exportado. Si dependes de la carga en tiempo de ejecución de "
"archivos presentes dentro del PCK, configura [member ProjectSettings.editor/"
"export/convert_text_resources_to_binary] como [code]false[/code]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -863,15 +880,15 @@ msgid ""
"[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"
"Al igual que [method @GlobalScope.print], pero incluye el marco de pila "
"actual cuando se ejecuta con el depurador activado.\n"
"La salida en la consola puede verse así:\n"
"[codeblock lang=text]\n"
"Impresión de prueba\n"
"Test print\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."
"[b]Nota:[/b] Llamar a esta función desde un [Thread] no está soportado. "
"Hacerlo imprimirá en su lugar el ID del hilo."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1049,16 +1066,16 @@ msgid ""
"[code]0[/code] will not result in [constant INF] and will result in a run-"
"time error instead."
msgstr ""
"Infinito como número de punto flotante. Este es el resultado de una división "
"de punto flotante cuando el divisor es [code]0.0[/code]. Para el infinito "
"negativo, utilizar [code]-INF[/code]. Dividir por [code]-0.0[/code] otorgará "
"como resultado el infinito negativo si el numerador es positivo, de manera "
"que no es lo mismo que dividir por [code]0.0[/code] (a pesar de que "
"[code]0.0 == -0.0[/code] devuelve [code]true[/code]). [b]Nota:[/b] El "
"infinito numérico solo es un concepto para números de punto flotante y no "
"tiene un equivalente para enteros. La división de un entero por [code]0[/"
"code] no resultará en [constant INF] y en su lugar arrojará un error en "
"tiempo de ejecución."
"Infinito positivo de punto flotante. Este es el resultado de la división de "
"punto flotante cuando el divisor es [code]0.0[/code]. Para infinito "
"negativo, usa [code]-INF[/code]. Dividir por [code]-0.0[/code] resultará en "
"infinito negativo si el numerador es positivo, por lo que dividir por "
"[code]0.0[/code] no es lo mismo que dividir por [code]-0.0[/code] (a pesar "
"de que [code]0.0 == -0.0[/code] devuelve [code]true[/code]).\n"
"[b]Advertencia:[/b] El infinito numérico es solo un concepto aplicable a los "
"números de punto flotante y no tiene equivalente para los enteros. Dividir "
"un número entero entre [code]0[/code] no resultará en [constant INF] y "
"causará un error en tiempo de ejecución en su lugar."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1074,18 +1091,20 @@ msgid ""
"code] by [code]0[/code] will not result in [constant NAN] and will result in "
"a run-time error instead."
msgstr ""
"\"Not a Number\" (\"No es un Número/NaN\"), un decimal de valor inválido. "
"[constant NAN] tiene propiedades especiales, incluyendo que no es igual a si "
"mismo([code]NAN==NAN[/code] devuelve [code]false[/code]). Es una salida dada "
"por algunas operaciones inválidas, como dividir un decimal [code]0.0[/code] "
"por [code]0.0[/code].\n"
"[b]Nota:[/b] \"Not a Number\" es solo un concepto con números decimales, y "
"no tiene un equivalente para enteros. Dividiendo un entero por [code]0[/"
"code] no resultará en [constante NAN] y en su lugar arrojará un error en "
"tiempo de ejecución."
"\"No es un Número\", un valor de punto flotante inválido. [constant NAN] "
"tiene propiedades especiales, incluyendo que [code]!=[/code] siempre "
"devuelve [code]true[/code], mientras que los demás operadores de comparación "
"siempre devuelven [code]false[/code]. Esto es cierto incluso al compararlo "
"consigo mismo ([code]NAN == NAN[/code] devuelve [code]false[/code] y "
"[code]NAN != NAN[/code] devuelve [code]true[/code]). Es devuelto por algunas "
"operaciones inválidas, como dividir [code]0.0[/code] de punto flotante entre "
"[code]0.0[/code].\n"
"[b]Advertencia:[/b] \"No es un Número\" es solo un concepto aplicable a los "
"números de punto flotante y no tiene equivalente para los enteros. Dividir "
"un entero [code]0[/code] entre [code]0[/code] no resultará en [constant NAN] "
"y causará un error en tiempo de ejecución en su lugar."
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
msgid ""
"Mark the following property as exported (editable in the Inspector dock and "
"saved to disk). To control the type of the exported property, use the type "
@@ -1126,42 +1145,44 @@ msgid ""
"[b]Note:[/b] Node export is only supported in [Node]-derived classes and has "
"a number of other limitations."
msgstr ""
"Marque la siguiente propiedad como exportada (editable en el Inspector y "
"guardada en disco). Para controlar el tipo de la propiedad exportada, "
"utilice la notación de sugerencia de tipo.\n"
"Marca la siguiente propiedad como exportada (editable en el panel Inspector "
"y guardada en disco). Para controlar el tipo de la propiedad exportada, "
"utiliza la notación de sugerencia de tipo.\n"
"[codeblock]\n"
"extends Node\n"
"\n"
"enum Direction {LEFT, RIGHT, UP, DOWN}\n"
"\n"
"# Built-in types.\n"
"# Tipos integrados.\n"
"@export var string = \"\"\n"
"@export var int_number = 5\n"
"@export var float_number: float = 5\n"
"\n"
"# Enums.\n"
"# Enumeraciones.\n"
"@export var type: Variant.Type\n"
"@export var format: Image.Format\n"
"@export var direction: Direction\n"
"\n"
"# Resources.\n"
"# Recursos.\n"
"@export var image: Image\n"
"@export var custom_resource: CustomResource\n"
"\n"
"# Nodes.\n"
"# Nodos.\n"
"@export var node: Node\n"
"@export var custom_node: CustomNode\n"
"\n"
"# Typed arrays.\n"
"# Arrays tipados.\n"
"@export var int_array: Array[int]\n"
"@export var direction_array: Array[Direction]\n"
"@export var image_array: Array[Image]\n"
"@export var node_array: Array[Node]\n"
"[/codeblock]\n"
"[b]Nota:[/b] Los recursos y nodos personalizados deben registrarse como "
"clases globales utilizando [code]class_name[/code].\n"
"[b]Nota:[/b] La exportación de nodos sólo se admite en clases derivadas de "
"[Node] y tiene otras limitaciones."
"clases globales utilizando [code]class_name[/code], ya que el Inspector "
"actualmente solo admite clases globales. De lo contrario, se exportará un "
"tipo menos específico.\n"
"[b]Nota:[/b] La exportación de nodos solo está soportada en clases derivadas "
"de [Node] y tiene varias limitaciones adicionales."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1192,7 +1213,6 @@ msgstr ""
"[annotation @export_group] y [annotation @export_subgroup]."
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
msgid ""
"Export a [Color], [Array][lb][Color][rb], or [PackedColorArray] property "
"without allowing its transparency ([member Color.a]) to be edited.\n"
@@ -1202,11 +1222,13 @@ msgid ""
"@export_color_no_alpha var dye_colors: Array[Color]\n"
"[/codeblock]"
msgstr ""
"Exportar una propiedad [Color] sin permitir que su transparencia ([member "
"Color.a]) sea editada.\n"
"Ver también [constante PROPERTY_HINT_COLOR_NO_ALPHA].\n"
"Exporta una propiedad de tipo [Color], [Array][lb][Color][rb] o "
"[PackedColorArray] sin permitir que se edite su transparencia ([member Color."
"a]).\n"
"Ver también [constant PROPERTY_HINT_COLOR_NO_ALPHA].\n"
"[codeblock]\n"
"@export_color_no_alpha var dye_color: Color\n"
"@export_color_no_alpha var dye_colors: Array[Color]\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1233,7 +1255,6 @@ msgstr ""
"con cualquier variable de script declarada explícitamente."
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
msgid ""
"Export a [String], [Array][lb][String][rb], or [PackedStringArray] property "
"as a path to a directory. The path will be limited to the project folder and "
@@ -1245,13 +1266,15 @@ msgid ""
"@export_dir var sprite_folder_paths: Array[String]\n"
"[/codeblock]"
msgstr ""
"Exportar una propiedad [String] como ruta a un directorio. La ruta estará "
"limitada a la carpeta del proyecto y sus subcarpetas. Vease [annotation "
"@export_global_dir] para\n"
"permitir seleccionar un directorio del sistema de archivos completo.\n"
"Exporta una propiedad de tipo [String], [Array][lb][String][rb] o "
"[PackedStringArray] como una ruta hacia un directorio. La ruta estará "
"limitada a la carpeta del proyecto y sus subcarpetas. Ver [annotation "
"@export_global_dir] para permitir seleccionar desde todo el sistema de "
"archivos.\n"
"Ver también [constant PROPERTY_HINT_DIR].\n"
"[codeblock]\n"
"@export_dir var sprite_folder_path: String\n"
"@export_dir var sprite_folder_paths: Array[String]\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -7185,9 +7208,8 @@ msgid ""
msgstr ""
#: doc/classes/@GlobalScope.xml
#, fuzzy
msgid "Represents the size of the [enum PropertyHint] enum."
msgstr "Representa el tamaño del enum [enum Monitor]."
msgstr "Representa el tamaño del enum [enum PropertyHint]."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -12950,7 +12972,6 @@ msgstr ""
"lugar."
#: doc/classes/Area2D.xml
#, fuzzy
msgid ""
"Returns a list of intersecting [PhysicsBody2D]s and [TileMap]s. The "
"overlapping body's [member CollisionObject2D.collision_layer] must be part "
@@ -12960,11 +12981,14 @@ msgid ""
"list is modified once during the physics step, not immediately after objects "
"are moved. Consider using signals instead."
msgstr ""
"Devuelve una lista de [PhysicsBody2D] que se intersectan. Por razones de "
"rendimiento (las colisiones se procesan todas al mismo tiempo) esta lista se "
"modifica una vez durante el paso de la física, no inmediatamente después de "
"que los objetos se muevan. Considere la posibilidad de utilizar señales en "
"su lugar."
"Devuelve una lista de [PhysicsBody2D] y [TileMap] que se intersecan. La capa "
"de colisión del cuerpo superpuesto ([member CollisionObject2D."
"collision_layer]) debe formar parte de la máscara de colisión de esta área "
"([member CollisionObject2D.collision_mask]) para poder ser detectado.\n"
"Por razones de rendimiento (todas las colisiones se procesan al mismo "
"tiempo), esta lista se modifica una vez durante el paso de física, no "
"inmediatamente después de mover los objetos. Considera usar señales en su "
"lugar."
#: doc/classes/Area2D.xml
#, fuzzy
@@ -15051,8 +15075,9 @@ msgid ""
"The aspect ratio to enforce on child controls. This is the width divided by "
"the height. The ratio depends on the [member stretch_mode]."
msgstr ""
"Define el [s]aspect ratio[/s] de los nodos hijos. Esto es el ancho dividido "
"por la altura. La proporción depende del [member stretch_mode]."
"La proporción de aspecto que se aplicará a los controles secundarios. Esta "
"es la anchura dividida por la altura. La proporción depende del [member "
"stretch_mode]."
#: doc/classes/AspectRatioContainer.xml
#, fuzzy
@@ -15064,8 +15089,8 @@ msgid ""
"The height of child controls is automatically adjusted based on the width of "
"the container."
msgstr ""
"La altura de los controles hijos es ajustada automáticamente basada en la "
"anchura del [s]contenedor[/s]."
"La altura de los controles secundarios se ajusta automáticamente en función "
"del ancho del contenedor."
#: doc/classes/AspectRatioContainer.xml
#, fuzzy
@@ -15081,8 +15106,9 @@ msgid ""
"The bounding rectangle of child controls is automatically adjusted to fit "
"inside the container while keeping the aspect ratio."
msgstr ""
"El rectángulo que delimita a los controles hijos es automáticamente ajustado "
"dentro del [s]contebedor[/s], mientras se mantiene el [s]aspect ratio[/s]."
"El rectángulo delimitador de los controles secundarios se ajusta "
"automáticamente para encajar dentro del contenedor manteniendo la proporción "
"de aspecto."
#: doc/classes/AspectRatioContainer.xml
msgid ""
@@ -16547,8 +16573,8 @@ msgid ""
"Length of the internal ring buffer, in seconds. Setting the buffer length "
"will have no effect if already initialized."
msgstr ""
"Tamaño de un [s]ring buffer[/s] en segundos. Ajustar esta propiedad no "
"tendrá ningún efecto si ya se ha inicializado."
"Longitud del búfer de anillo interno, en segundos. Establecer la longitud "
"del búfer no tendrá efecto si ya ha sido inicializado."
#: doc/classes/AudioEffectChorus.xml
msgid "Adds a chorus audio effect."
@@ -36982,7 +37008,6 @@ msgid "Provides access to advanced cryptographic functionalities."
msgstr "Acceso a funcionalidades criptográficas avanzadas."
#: doc/classes/Crypto.xml
#, fuzzy
msgid ""
"The Crypto class provides access to advanced cryptographic functionalities.\n"
"Currently, this includes asymmetric key encryption/decryption, signing/"
@@ -37060,43 +37085,82 @@ msgid ""
"[/csharp]\n"
"[/codeblocks]"
msgstr ""
"La clase Criptográfica le permite acceder a algunas funcionalidades "
"criptográficas más avanzadas en Godot.\n"
"Por ahora, esto incluye la generación de bytes aleatorios criptográficamente "
"seguros, claves RSA y generación de certificados X509 autofirmados, "
"encriptación/desencriptación de claves asimétricas y firma/verificación.\n"
"[codeblock]\n"
"extends Node\n"
"\n"
"La clase Crypto proporciona acceso a funcionalidades criptográficas "
"avanzadas.\n"
"Actualmente, esto incluye cifrado/descifrado de clave asimétrica, firma/"
"verificación y la generación de bytes aleatorios criptográficamente seguros, "
"claves RSA, resúmenes HMAC y certificados [X509Certificate] autofirmados.\n"
"[codeblocks]\n"
"[gdscript]\n"
"var crypto = Crypto.new()\n"
"var clave = CryptoKey.new()\n"
"var certificado = X509Certificate.new()\n"
"\n"
"func _ready():\n"
" # Genera una clave nueva RSA.\n"
" clave = crypto.generate_rsa(4096)\n"
" # Genera un certificado autofirmado con la clave dada.\n"
" certificado = crypto.generate_self_signed_certificate(clave, "
"\"CN=mydomain.com,O=My Game Company,C=IT\")\n"
" # Guarda la clave y el certificado en un directorio del usuario.\n"
" clave.save(\"user://generada.key\")\n"
" certificado.save(\"user://generada.crt\")\n"
" # Encripción\n"
" var datos = \"Algunos datos\"\n"
" var encriptado = crypto.encrypt(clave, datos.to_utf8())\n"
" # Desencriptado\n"
" var desencriptado = crypto.decrypt(clave, encriptado)\n"
" # Firmada\n"
" var firma = crypto.sign(HashingContext.HASH_SHA256, datos."
"sha256_buffer(), clave)\n"
" # Verificar\n"
" var verificado = crypto.verify(HashingContext.HASH_SHA256, datos."
"sha256_buffer(), firma, clave)\n"
" # Cheque\n"
" assert(verificado)\n"
" assert(datos.to_utf8() == desencriptado)\n"
"[/codeblock]\n"
"[b]Nota:[/b] No disponible en los exportables HTML5."
"# Generar una nueva clave RSA.\n"
"var key = crypto.generate_rsa(4096)\n"
"\n"
"# Generar un nuevo certificado autofirmado con la clave dada.\n"
"var cert = crypto.generate_self_signed_certificate(key, \"CN=mydomain.com,"
"O=My Game Company,C=IT\")\n"
"\n"
"# Guardar la clave y el certificado en la carpeta del usuario.\n"
"key.save(\"user://generated.key\")\n"
"cert.save(\"user://generated.crt\")\n"
"\n"
"# Cifrado\n"
"var data = \"Algunos datos\"\n"
"var encrypted = crypto.encrypt(key, data.to_utf8_buffer())\n"
"\n"
"# Descifrado\n"
"var decrypted = crypto.decrypt(key, encrypted)\n"
"\n"
"# Firma\n"
"var signature = crypto.sign(HashingContext.HASH_SHA256, data."
"sha256_buffer(), key)\n"
"\n"
"# Verificación\n"
"var verified = crypto.verify(HashingContext.HASH_SHA256, data."
"sha256_buffer(), signature, key)\n"
"\n"
"# Comprobaciones\n"
"assert(verified)\n"
"assert(data.to_utf8_buffer() == decrypted)\n"
"[/gdscript]\n"
"[csharp]\n"
"using Godot;\n"
"using System.Diagnostics;\n"
"\n"
"Crypto crypto = new Crypto();\n"
"\n"
"// Generar una nueva clave RSA.\n"
"CryptoKey key = crypto.GenerateRsa(4096);\n"
"\n"
"// Generar un nuevo certificado autofirmado con la clave dada.\n"
"X509Certificate cert = crypto.GenerateSelfSignedCertificate(key, "
"\"CN=mydomain.com,O=My Game Company,C=IT\");\n"
"\n"
"// Guardar la clave y el certificado en la carpeta del usuario.\n"
"key.Save(\"user://generated.key\");\n"
"cert.Save(\"user://generated.crt\");\n"
"\n"
"// Cifrado\n"
"string data = \"Algunos datos\";\n"
"byte[] encrypted = crypto.Encrypt(key, data.ToUtf8Buffer());\n"
"\n"
"// Descifrado\n"
"byte[] decrypted = crypto.Decrypt(key, encrypted);\n"
"\n"
"// Firma\n"
"byte[] signature = crypto.Sign(HashingContext.HashType.Sha256, Data."
"Sha256Buffer(), key);\n"
"\n"
"// Verificación\n"
"bool verified = crypto.Verify(HashingContext.HashType.Sha256, Data."
"Sha256Buffer(), signature, key);\n"
"\n"
"// Comprobaciones\n"
"Debug.Assert(verified);\n"
"Debug.Assert(data.ToUtf8Buffer() == decrypted);\n"
"[/csharp]\n"
"[/codeblocks]"
#: doc/classes/Crypto.xml
msgid ""
@@ -78285,6 +78349,10 @@ msgstr ""
msgid ""
"Wraps a class defined in Java, and returns it as a [JavaClass] [Object] type "
"that Godot can interact with.\n"
"When wrapping inner (nested) classes, use [code]$[/code] instead of [code].[/"
"code] to separate them. For example, [code]JavaClassWrapper.wrap(\"android."
"view.WindowManager$LayoutParams\")[/code] wraps the [b]WindowManager."
"LayoutParams[/b] class.\n"
"[b]Note:[/b] This method only works on Android. On every other platform, "
"this method does nothing and returns an empty [JavaClass]."
msgstr ""
@@ -100426,7 +100494,6 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
#, fuzzy
msgid ""
"Requests the OS to open a resource identified by [param uri] with the most "
"appropriate program. For example:\n"
@@ -100451,21 +100518,28 @@ msgid ""
"[b]Note:[/b] This method is implemented on Android, iOS, Web, Linux, macOS "
"and Windows."
msgstr ""
"Solicita al sistema operativo que abra un recurso con el programa más "
"apropiado. Por ejemplo:\n"
"- [code]OS.shell_open(\"C:\\\\Users\\name\\Downloads\")[/code] en Windows "
"abre el explorador de archivos en la carpeta de Descargas del usuario.\n"
"- [code]OS.shell_open(\"https://godotengine.org\")[/code] abre el explorador "
"por defecto de la página web oficial de Godot.\n"
"Solicita al sistema operativo abrir un recurso identificado por [param uri] "
"con el programa más apropiado. Por ejemplo:\n"
"- [code]OS.shell_open(\"C:\\\\Users\\\\name\\\\Downloads\")[/code] en "
"Windows abre el explorador de archivos en la carpeta Descargas del usuario.\n"
"- [code]OS.shell_open(\"C:/Users/name/Downloads\")[/code] también funciona "
"en Windows y abre el explorador de archivos en la carpeta Descargas del "
"usuario.\n"
"- [code]OS.shell_open(\"https://godotengine.org\")[/code] abre el navegador "
"web predeterminado en el sitio oficial de Godot.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] abre el cliente "
"de correo electrónico predeterminado con el campo \"Para\" configurado en "
"[code]example@example.com[/code]. Véase [url=https://blog.escapecreative.com/"
"customizing-mailto-links/]Personalización de [code]mailto:[/code] Enlaces[/"
"url] para obtener una lista de los campos que pueden añadirse.\n"
"Utilice el [method ProjectSettings.globalize_path] para convertir una ruta "
"de [code]res://[/code] o [code]user://[/code] en una ruta del sistema para "
"utilizarla con este método.\n"
"[b]Nota:[/b] Este método está implementado en Android, iOS, HTML5, Linux, "
"[code]example@example.com[/code]. Ver [url=https://datatracker.ietf.org/doc/"
"html/rfc2368]RFC 2368 - El esquema de URL [code]mailto[/code][/url] para "
"obtener una lista de campos que se pueden agregar.\n"
"Utiliza [method ProjectSettings.globalize_path] para convertir una ruta de "
"proyecto [code]res://[/code] o [code]user://[/code] en una ruta del sistema "
"para usar con este método.\n"
"[b]Nota:[/b] Usa [method String.uri_encode] para codificar caracteres dentro "
"de URLs de forma segura y portable. Esto es especialmente necesario para los "
"saltos de línea. De lo contrario, [method shell_open] puede no funcionar "
"correctamente en un proyecto exportado a la plataforma Web.\n"
"[b]Nota:[/b] Este método está implementado en Android, iOS, Web, Linux, "
"macOS y Windows."
#: doc/classes/OS.xml
@@ -103218,15 +103292,18 @@ msgid ""
"current camera, it may be desired to match the value with [member "
"CanvasLayer.follow_viewport_enabled]."
msgstr ""
"Si es [code]true[/code], este [Parallax2D] se desplaza según la posición "
"actual de la cámara. Si el [Parallax2D] está en un [CanvasLayer] separado de "
"la cámara actual, puede ser conveniente sincronizar el valor con [member "
"CanvasLayer.follow_viewport_enabled]."
#: doc/classes/Parallax2D.xml
#, fuzzy
msgid ""
"If [code]true[/code], [Parallax2D]'s position is not affected by the "
"position of the camera."
msgstr ""
"Si [code]true[/code], los elementos en el [ParallaxLayer] hijo no se ven "
"afectados por el nivel de zoom de la cámara."
"Si es [code]true[/code], la posición de [Parallax2D] no se ve afectada por "
"la posición de la cámara."
#: doc/classes/Parallax2D.xml
#, fuzzy
@@ -112513,8 +112590,7 @@ msgstr ""
#: doc/classes/Polygon2D.xml
msgid "Adds a bone with the specified [param path] and [param weights]."
msgstr ""
"Añade un hueso en el [code]path[/code] especificado y con los [code]weights[/"
"code] especificados."
"Agrega un hueso con la [param path] y los [param weights] especificados."
#: doc/classes/Polygon2D.xml
msgid "Removes all bones from this [Polygon2D]."
@@ -164210,7 +164286,7 @@ msgstr ""
#: doc/classes/TileSetAtlasSource.xml
msgid "The atlas texture."
msgstr "Hoja de texturas."
msgstr "La textura del atlas."
#: doc/classes/TileSetAtlasSource.xml
#, fuzzy
@@ -184552,7 +184628,7 @@ msgstr ""
#: doc/classes/XRFaceTracker.xml
msgid "Mouth stretches."
msgstr ""
msgstr "Estiramientos de la boca."
#: doc/classes/XRFaceTracker.xml
msgid "Lip corners dimple."
@@ -184560,7 +184636,7 @@ msgstr ""
#: doc/classes/XRFaceTracker.xml
msgid "Mouth tightens."
msgstr ""
msgstr "La boca se tensa."
#: doc/classes/XRFaceTracker.xml
msgid "Mouth presses together."
@@ -186310,6 +186386,7 @@ msgstr ""
msgid ""
"Opens the zip archive at the given [param path] and reads its file index."
msgstr ""
"Abre el archivo zip en la [param path] dada y lee su índice de archivos."
#: modules/zip/doc_classes/ZIPReader.xml
msgid ""